RT Relocate Memory

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 
3,167件の閲覧回数
Bkaya
Contributor III

Hello everyone,

I am using custom board with i.mx.rt 1176 processor. On my board, i have 4MB flash and 32MB ram. I aim to split flash section two parts to jump main application from bootloader. 

Here is my explanation:

0x3000 0000 to 0x3003 6000 bootloader program, 0x3003 6000 to 0x3040 0000 main application.

In my main application, i set memory section as i mentioned. In main, i set SCB-> VTOR to 0x3003 6000 + offset. When i debug my main application code, i get error. I can not run this project.

Bkaya_1-1709544599794.png

In my bootloader project, i set memory section. Project gets .bin file from USB, deletes memory section from 0x3003 6000 to 0x3040 0000, writes new data that address. After boot process, i want to jump main application.

Bkaya_2-1709544919681.png

I will start from bootloader and check some inputs to start boot process. If boot process is not necessary, i will jump to main application.

1) Is my tihnking correct for boot process?

2) I try to debug my main application but i get error.(I am not loading my bootloader project) Am i missing something while referencing address?

3) How should i split flash and jump correctly as i mentioned?

Thanks for your help!

Best Regards,

Basri KAYA

 

0 件の賞賛
返信
1 解決策
3,010件の閲覧回数
nxf77486
NXP TechSupport
NXP TechSupport

Hello,

 

Thank you for the explanation, I think the following community post will be useful for your requirements.

元の投稿で解決策を見る

0 件の賞賛
返信
4 返答(返信)
3,062件の閲覧回数
nxf77486
NXP TechSupport
NXP TechSupport

Hello,

 

Thank you for contacting NXP support.

I understand that you are changing and relocating the memory, but is important to make sure MCUXpresso is using this memory placements. In this case I will recommend the MCUXpresso User Guide in the chapter 20 you will find the memory and liker scripts information and configuration.

This is necessary so the linker script has also the same memory configuration.

Please let me know if there is anything else where I can help you.

0 件の賞賛
返信
3,028件の閲覧回数
Bkaya
Contributor III

@nxf77486 Hi,

I did the most of the problems succsessfully that i mentioned above. I just need some example or application note about this problem:

In my flash, I am starting debug section for my bootloader program (0x3000 0000 to 0x3003 6000) and writing the main application from bin file (0x3003 6000 to 0x3040 0000). After the boot process done, i reset the device with NVIC_SystemReset() function (it does not work while debugging) and the bootloader function re-started i want to jump address of the main application (0x3003 6000).

How can i do this? Which interrupts do i stop? Which registers should i change?

Thanks.

0 件の賞賛
返信
3,011件の閲覧回数
nxf77486
NXP TechSupport
NXP TechSupport

Hello,

 

Thank you for the explanation, I think the following community post will be useful for your requirements.

0 件の賞賛
返信
2,994件の閲覧回数
Bkaya
Contributor III
Hi,

Thanks for the answers. I was exactly looking for this solution. Have great day.

Best Regards,
Basri KAYA
0 件の賞賛
返信