Home/Support/Support Forum/How to permanently set the clock speed or GCDR so that 6700 boots at 12MHz?
Welcome to Digi Forum, where you can ask questions and receive answers from other members of the community.

How to permanently set the clock speed or GCDR so that 6700 boots at 12MHz?

0 votes
I would really like to know where we (users) can permanently set the main clock multiplier GCDR so that it boots and runs at 12MHz.
I see the register settings in the doc, but that implies an already running Rabbit - that is, unless the registers are loaded from NVRAM?
asked Nov 19, 2015 in Rabbit by rjsdotorg New to the Community (12 points)

Please log in or register to answer this question.

1 Answer

+1 vote
We got a response from Digi sw support as follows:

"Regarding GCDR, it looks like BIOSLIB/StdBios.c calls _getDoublerSetting() in BIOSLIB/CPUPARAM.LIB to get the starting value for GCDR. During startup, it measures clock speed to calculate the proper value for GCDR. The customer could hard-code a value in _getDoublerSetting() if necessary.

If they want to change the clock speed of the module for some reason, they might want to set PLL_DEFAULT_PLL_SPEED_MHz in their project settings. The default is a value of 325 which corresponds to a CPU speed of 162.5 MHz (PLL / 2)."

We used this based on the example:
long sf[14];
int clkdbl;

printf("Startup CPU freq = %ld\n", get_cpu_frequency());
clkdbl = (GCDRShadow & 0x1F) != 0;
printf(" - initial clock doubler is %s\n", clkdbl ? "ON" : "OFF");
set_cpu_power_mode(3,CLKDOUBLER_OFF,SHORTCS_OFF);
printf("b. div4, doubler OFF: CPU freq = %ld\n\n", sf[1] = get_cpu_frequency());
answered Nov 23, 2015 by rjsdotorg New to the Community (12 points)
...