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

cross mob
rt54321
Level 1
Level 1
First reply posted 10 sign-ins 5 questions asked

Greetings All,

We're shooting to get a CANOpen bootloader working on our existing XMC4400 processor.  Right now, we have the main APP program working (using no bootloader at all).

1. My first baby step in all of this, is to create a "blank" bootloader, where the bootloader runs at startup, and then hands off to the main APP.  If I can get this working, I'll add a communication interface to the bootloader later - the goal is to test the "hand off".

2. In terms of using CAN bus in the bootloader, do I HAVE to use CAN BSL mode (which requires me to use pins p1.4 and p1.5 on the micro)?  I just don't understand this part.  What if I make a bootloader program, and add a DAVE CAN app component to it, that does NOT use pins p1.4 and p1.5?

3. Using the base APP program, how do I modify its linker script, to make room for a bootloader?  Is it as "simple" as changing the MEMORY section from:

FLASH_1_cached(RX) : ORIGIN = 0x08000000, LENGTH = 0x1f4000
FLASH_1_uncached(RX) : ORIGIN = 0x0C000000, LENGTH = 0x1f4000

TO:

FLASH_1_cached(RX) : ORIGIN = 0x0800C000, LENGTH = 0x1f4000                             <--Note: ORIGIN address has changed
FLASH_1_uncached(RX) : ORIGIN = 0x0C00C000, LENGTH = 0x1f4000                       <--Note: ORIGIN address has changed

0 Likes
1 Solution
Aashita_R
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 250 replies posted

Hi @rt54321 ,

This application note here might interest you : https://www.infineon.com/dgdl/Infineon-AP32269_XMC4000_CAN_BSL-AN-v01_00-EN.pdf?fileId=5546d4624933b... . Using the CAN Bootstrap Loader it is possible to load code or data into the internal RAM of the device via the MultiCAN interface. This document describes how to program user code into the internal flash of XMC4000 devices via the CAN BSL.

Best Regards,

Aashita

View solution in original post

0 Likes
1 Reply
Aashita_R
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 250 replies posted

Hi @rt54321 ,

This application note here might interest you : https://www.infineon.com/dgdl/Infineon-AP32269_XMC4000_CAN_BSL-AN-v01_00-EN.pdf?fileId=5546d4624933b... . Using the CAN Bootstrap Loader it is possible to load code or data into the internal RAM of the device via the MultiCAN interface. This document describes how to program user code into the internal flash of XMC4000 devices via the CAN BSL.

Best Regards,

Aashita

0 Likes