i build a bootloader project about S32R274 which is referenced to project"flash_program_erase_s32r274" in the SDK named "S32_SDK_S32Rx7x_EAR_0.8.3", when i debug the project, the program is always get into the IVOR1 error(the following picture)
but when i set a breakpoint in somewhere in the FLASH_DRV_Erase function, the program will stop at the breakpoint normally, or when i use step into function(F5), the there will be no problem, it just like the program is OK(the following picture)
i don't know where is the problem,is someone can help me, tell me something about this or something about the IVOR1 ?
if anyone need more information please write an e-mail to me,287385104@qq.com
Hi,
it looks like problem related to Read-While-Write (RWW) error.
RWW is supported only between partitions. That means we are not allowed to access partition which is being erased or programmed. If we access such partition, it leads to bus error.
And that also means that your code must be executed from another partition or from RAM memory.
To find more details about the partitions:
There are excel files attached inside the reference manual:
https://www.nxp.com/docs/en/reference-manual/S32R274RM.pdf
Open S32R274_Flash_Block_Asignment_Rev7.xlsx and then open NVM tab.
Regards,
Lukas
Hi lukas,
these days i modified the bootloader porject and the project could complete the erase,blankcheck,program and programverify operation successfully.Now it's time to jump to the app project, but i have no idea about what should i do before jump and what should to do in the porject. For example, the linkfile of the app project is showed in the following picture
then what address is the jump address,0x00F9C000? or 0x00F9C004?
and should i change the address about the interrupt vector table in the app project?
if you have any suggestion my friend, please tell me.
Hi,
address 0x00F9C004 contains address which is the entry point of application. So, you should not jump to address 0x00F9C004 but to address which can be read from this address.
Before jump, make sure that all interrupt are disabled by means of MSR[EE] and also by local enable bits in peripherals.
If your application works fine when the linker file is updated to shift the application, no other changes are necessary.
Regards,
Lukas
Hi Lukas,yes,it's the problem about RWW error, i put the bootloader code in the middle flash block2(or block 3), and then i try to erase block 3(or block 4 corresponding),however,they both belong to partition 2. Actually i had a sense of RWW and partition problem before, it just feel like wandering outside the door, now you push the door open, thank you, thank you my friend!