Secondary Bootloader

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
Not applicable
Hi all,

I am implementing secondary bootloader on AURIX platform, but several peripherals works abnormally while jumping from secondary bootloader to application code. I separated the pflash0 into two parts, the secondary bootloader was stored in the flash address starting from 0xA0000020 and the application code was stored in the flash address starting from 0XA0008020. The linker script file was as attached file. The function that used to jumping from bootloader to application code was as follow.
This function can successfully switch from secondary bootloader to application code. But several peripherals (CAN, VADC, CCU, QSPI) were not working normally after entering the application.We found that section 4.3 in the document ap32201 “Tc2xx Start Up and Initionalization” mentioned about the secondary bootloader handling. We try to do what was mentioned in this document, but problems were encountered.
1. It was meantioned that “Modules used in boot-loader shall be set back in reset status” before jumping secondary bootloader to application code. So we try to re-initialize CAN interface by calling this api “ IfxMultican_deinit(&MODULE_CAN) “ and re-set CAN module by calling the api IfxMultican_resetModule(). But the CPU will enter memory error trap in the can reset module function. Is anything I forgot to reset the module?

2. The document also mentioned that “Especially it should be taken care that the clock register state does not cause issues when clock is re-initialized by the application instance.” So what should we do about the clock register state while jumpping from secondary bootloader to the application code?
3. Is anything that we shouled notice in memory maping for secondary bootloader and application code?

1 Reply
Level 1
Level 1
Did you slove it?:)