Write flash to run ABM boot mode

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

cross mob
90670
Level 4
Level 4
25 replies posted 25 sign-ins 10 questions asked

I'm using XMC4700 to build a bootloader run at Normal Boot Mode, application code run at ABM_0 and ABM_1 boot mode. I upload those firmwares into flash according region for 3 boot modes, using DAVE IDE tool. Tested to switch between mode by system reset and it works fine. But in practice, I cannot upload ABM firmware using DAVE IDE tool. I need some serial communication to transmit and write firmware into flash ABM regions when running bootloader and communicate with other MCU. 

I don't know how to write new firmware into desire flash region with serial protocol such as UART or SPI. I tried use pointer and loop to store data received from buffer UART to write into flash but it looks like it doesn't work that way. Maybe pointer to modify data doesn't work with flash memory, just work with RAM memory.

I see the USB bootloader example, tested and run OK. But I don't know how to turn it into a UART or SPI communication. The USBD_MS_BOOTLOADER_IAP_XMC47 use file system to store transmitted data and then write to flash. Kind of a lot of stuffs for me to understand. Why they need to use file system to store data? Why don't we just directly write data we receive into desire flash regions? Can we do that?

So I need help to write new firmware into flash at bootloader runtime. 

0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.
Owen_Su
Moderator
Moderator
Moderator
250 solutions authored 500 replies posted 50 likes received

Hi,

     SSW supports bootstrap loader modes. When configured, any user application limited to the size of PSRAM on the device can be downloaded into PSRAM over the USIC0 channel 0 (U0C0) and immediately executed. The example I provides to you before shows how to download application with peripherals, you can have a look at it. And also, we do have lots of people discuss about this topic, you can search it on our community, here I provide you a link which people talking about the Bootloader running from Flash, maybe it can help you: community .

    As a reminder, similar problems should be discussed under one thread, and I will close this thread, the further queries will be discussed here:https://community.infineon.com/t5/XMC/SHARE-VARIABLE-BETWEEN-BOOT-MODES/td-p/377370

    Thanks for your understanding.

Regards,

Owen_Su

 

 

 

View solution in original post

0 Likes
1 Reply
lock attach
Attachments are accessible only for community members.
Owen_Su
Moderator
Moderator
Moderator
250 solutions authored 500 replies posted 50 likes received

Hi,

     SSW supports bootstrap loader modes. When configured, any user application limited to the size of PSRAM on the device can be downloaded into PSRAM over the USIC0 channel 0 (U0C0) and immediately executed. The example I provides to you before shows how to download application with peripherals, you can have a look at it. And also, we do have lots of people discuss about this topic, you can search it on our community, here I provide you a link which people talking about the Bootloader running from Flash, maybe it can help you: community .

    As a reminder, similar problems should be discussed under one thread, and I will close this thread, the further queries will be discussed here:https://community.infineon.com/t5/XMC/SHARE-VARIABLE-BETWEEN-BOOT-MODES/td-p/377370

    Thanks for your understanding.

Regards,

Owen_Su

 

 

 

0 Likes