the problem about the IVOR1 when erase and program the flash

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

the problem about the IVOR1 when erase and program the flash

1,795 次查看
287385104
Contributor II

 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)IVOR1.jpg

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)

1551852163(1).jpg

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

标签 (1)
标记 (1)
0 项奖励
回复
5 回复数

1,561 次查看
lukaszadrapa
NXP TechSupport
NXP TechSupport

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

1,561 次查看
287385104
Contributor II

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

app linkfile.jpg

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.

0 项奖励
回复

1,561 次查看
lukaszadrapa
NXP TechSupport
NXP TechSupport

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

0 项奖励
回复

1,561 次查看
287385104
Contributor II

Thanks for your help my friend, your reply helps me so much, maybe i need a reset caused by the watchdog before jump, i'll find where is the problem. 

0 项奖励
回复

1,561 次查看
287385104
Contributor II

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! 

0 项奖励
回复