Hi,
For configurations: XTAL= 10 MHz, PLL SYSCLK = 50 MHz
By using RWAIT = 3, Flash erase and write for FW update is working ok. But datasheet suggests below:

With RWAIT as 0, CPU is crashing.
Please help in understanding this.
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi,
For configurations: XTAL= 10 MHz, PLL SYSCLK = 50 MHz
By using RWAIT = 3, Flash erase and write for FW update is working ok. But datasheet suggests below:

With RWAIT as 0, CPU is crashing.
Please help in understanding this.
Hi,
What do you mean by CPU is crashing? Is the PLL locked at 50Mhz, what are your PLL settings?
Can you please share the fail information?
Best Regards,
Nirav
Hi,
PLL settings for 50MHz: InitSysPll(XTAL_OSC,IMULT_10,FMULT_0,PLLCLK_BY_2); | XTAL = 10 MHz | Also verified using pin clkout
Getting below error when: Flash0CtrlRegs.FRDCNTL.bit.RWAIT = 0;
No source available for "_system_post_cinit() at C:/Users/filepath......out:{3} 0x3fe493{4}"
7625 ESTOP0 (Diassembly)
But works ok with: Flash0CtrlRegs.FRDCNTL.bit.RWAIT = 0x3;
Please guide.
Hi,
When do you get this error? Did you step through your code to see? Also, when you change the RWAIT, are you executing the code from Flash or RAM?
Best Regards,
Nirav
Hi,
are you executing the code from Flash or RAM?
.TI.ramfunc : {} LOAD = FLASHK,
RUN = RAMLS0 | RAMLS1 | RAMLS2 |RAMLS3,
LOAD_START(_RamfuncsLoadStart),
LOAD_SIZE(_RamfuncsLoadSize),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
RUN_SIZE(_RamfuncsRunSize),
RUN_END(_RamfuncsRunEnd),
PAGE = 0, ALIGN(4)
the above is defined in linker. We are loading from flash and run from RAM:
memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);
When do you get this error?
during FW update. We get data serially and copy it to flash using Flash API.
Also, when you change the RWAIT
Before running we keep to a fixed value(0 or 0x3). i.e not changed at run time.
Hi,
are you executing the code from Flash or RAM?
.TI.ramfunc : {} LOAD = FLASHK,
RUN = RAMLS0 | RAMLS1 | RAMLS2 |RAMLS3,
LOAD_START(_RamfuncsLoadStart),
LOAD_SIZE(_RamfuncsLoadSize),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
RUN_SIZE(_RamfuncsRunSize),
RUN_END(_RamfuncsRunEnd),
PAGE = 0, ALIGN(4)
the above is defined in linker. We are loading from flash and run from RAM:
memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);
When do you get this error?
during FW update. We get data serially and copy it to flash using Flash API.
Also, when you change the RWAIT
Before running we keep to a fixed value(0 or 0x3). i.e not changed at run time.
One change we did was:
-l F021_API_F2837xD_FPU32.lib
adding Flash API library to RAM in linker. By this RWAIT=0 is working and no crash observed.
But the flash copy was working with RWAIT=0x3 and without -l F021_API_F2837xD_FPU32.lib in linker, and Flash copy was working ok with active code section HEX file received serially.
Hi,
I have forwarded this to our FW team experts, someone will respond to your query in a day or two.
Best Regards,
Nirav