Programming flash of XMC1300 devices

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

cross mob
EdSi_1398431
Level 1
Level 1
5 sign-ins First reply posted First question asked

Hello,

I have to develop my own tool for programming flash of XMC1300 devices.

The programming should be done using SWD interface.

The factory delivered XMC1300 device BMI value is set to ASC Bootstrap Loader mode by default.

What should I send via UART interface to switch to User Mode SWD0?

Thanks

0 Likes
1 Solution
Vasanth
Moderator
Moderator
Moderator
250 sign-ins 500 solutions authored First question asked

Hi,

Kindly check the following appnote and associated source file. Additionally  _BmiInstallationReq() API of ROM APIs help in BMI Change.

Best Regards,
Vasanth

View solution in original post

0 Likes
5 Replies
Vasanth
Moderator
Moderator
Moderator
250 sign-ins 500 solutions authored First question asked

Hi,

Kindly check the following appnote and associated source file. Additionally  _BmiInstallationReq() API of ROM APIs help in BMI Change.

Best Regards,
Vasanth

0 Likes

Hi,

As observed by logic analyzer, the following packets are generated by DAVE 3 IDE when "Set BMI" is clicked:

1. 0x00 0x12 -> 0x5d is transmitted by UUT (baud rate detection)

2. 0x10 0x00 0x00 0x00 -> 0x01 is transmitted by UUT (4-byte Length packet)

3. 0xFF 0x20 0x01 0x30 0x81 0x68 0x01 0x48 0x88 0x47 0x00 0x00 0xC3 0xF8 0x00 0x00 -> 0x01 is transmitted by UUT

The packet in the step 3 is not described in the appnote or sorce file sent by you.

Where can I find an explanation for the packet in the step 3?

Thanks

0 Likes

Hi Vasanth,

According to page 12 of appnote "the HOST will send a header indicating whether to communicate in basic ASC BSL full duplex/half duplex mode or enhanced ASC BSL full duplex/half duplex mode".

I have to communicate with device using half duplex mode. After successful communication establishment in half duplex mode and sending Flash Loader program to device, ASC Loader doesn't answer to any command. The same sequence in full duplex mode works fine.

How can I proceed with this issue?

Thanks

0 Likes
EdSi_1398431
Level 1
Level 1
5 sign-ins First reply posted First question asked

Hi,

How can I invoke _BmiInstallationReq() API of ROM via UART?

Thanks

0 Likes
Vasanth
Moderator
Moderator
Moderator
250 sign-ins 500 solutions authored First question asked

Hi,

If you see the source code, you can write custom code which will call the _BmiInstallationReq() inside to change the BMI value. So you can use the same method and pass the hex file in the ASCBSL bootload application to change the boot mode.

Best Regards,
Vasanth

0 Likes