Jun 10, 2019
06:59 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 10, 2019
06:59 AM
I am new in this field and I have to write an application with a short deadline.
My application suppose to wait for a message from CAN bus;
if message received before timeout, my application shall get the program as hex (piece by piece of course) (with mdt maybe? ) and write it to flash.
If no message is received and timeout occurred, my application shall run the program that is loaded to flash previously.
I considered using CAN BSL but(correct me if I am wrong) it loads program to SRAM and runs from there too. Since I need my program to be flashed, CAN BSL is useless for me..
I need a suggestions maybe tips;
Can I configure CAN BSL mode ? If yes maybe I can modify it to load from to flash instead of SRAM ?
Or in CAN BSL mode, after data is loaded to SRAM maybe I can move it to flash ? But I am not sure how to do that..
Or maybe I can write all bootlaoder myself, a bootloader that listens can bus(I can do that) and loads program to flash (don't know how to).. And in that case won't use can bsl, which bsl mode shall I use?
You see I am a bit confused.. Please help 🙂
I use XMC1400 boot kit, I have latest versions of memtool, dave and segger j-link
My application suppose to wait for a message from CAN bus;
if message received before timeout, my application shall get the program as hex (piece by piece of course) (with mdt maybe? ) and write it to flash.
If no message is received and timeout occurred, my application shall run the program that is loaded to flash previously.
I considered using CAN BSL but(correct me if I am wrong) it loads program to SRAM and runs from there too. Since I need my program to be flashed, CAN BSL is useless for me..
I need a suggestions maybe tips;
Can I configure CAN BSL mode ? If yes maybe I can modify it to load from to flash instead of SRAM ?
Or in CAN BSL mode, after data is loaded to SRAM maybe I can move it to flash ? But I am not sure how to do that..
Or maybe I can write all bootlaoder myself, a bootloader that listens can bus(I can do that) and loads program to flash (don't know how to).. And in that case won't use can bsl, which bsl mode shall I use?
You see I am a bit confused.. Please help 🙂
I use XMC1400 boot kit, I have latest versions of memtool, dave and segger j-link
4 Replies
Jun 11, 2019
12:29 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 11, 2019
12:29 AM
Jun 14, 2019
04:22 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 14, 2019
04:22 AM
OpenBLT bootloader developer here.
The OpenBLT bootloader has all the functionality you mentioned already build-in. After a reset the bootloader always runs first for a short (and configurable) amount of time. If a specific CAN message (XCP Connect Command)
is received within this amount of time, the firmware update continues and the newly programmed firmware is automatically started afterwards. If the CAN message is not received, the currently programmed firmware is started.
The download archive contains demo programs for the XMC1400 Boot Kit and the XMC4700 Relax Kit. Both are preconfigured for firmware updates via CAN, so you could use these demo programs as a starting point. You
can download OpenBLT from here. Additional information can be found in the FAQ.
With kind regards,
Frank
The OpenBLT bootloader has all the functionality you mentioned already build-in. After a reset the bootloader always runs first for a short (and configurable) amount of time. If a specific CAN message (XCP Connect Command)
is received within this amount of time, the firmware update continues and the newly programmed firmware is automatically started afterwards. If the CAN message is not received, the currently programmed firmware is started.
The download archive contains demo programs for the XMC1400 Boot Kit and the XMC4700 Relax Kit. Both are preconfigured for firmware updates via CAN, so you could use these demo programs as a starting point. You
can download OpenBLT from here. Additional information can be found in the FAQ.
With kind regards,
Frank
Jun 15, 2019
02:22 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 15, 2019
02:22 AM
Hello Frank,
I'd like to use OpenBLT but I have very limited time. In your website where you tell about CAN DEMO you said, "Select the CAN communication device that your PC uses to connect to the CAN bus."I don't have
CAN device to connect to the PC. I have only another XMC1400 boot kit. I can send the firmware with that only. If I will use OpenBLT I shall be interpreting and sending binary file of my firmware according to your protocol.
I don't know how do that..The nearest article in your FAQ is this : https://www.feaser.com/en/blog/?p=193 but host is a PC in here too.. Can you provide support about this problem ? Or shall I purchase commercial license ? But again I remind, I have 5 days left ....
I'd like to use OpenBLT but I have very limited time. In your website where you tell about CAN DEMO you said, "Select the CAN communication device that your PC uses to connect to the CAN bus."I don't have
CAN device to connect to the PC. I have only another XMC1400 boot kit. I can send the firmware with that only. If I will use OpenBLT I shall be interpreting and sending binary file of my firmware according to your protocol.
I don't know how do that..The nearest article in your FAQ is this : https://www.feaser.com/en/blog/?p=193 but host is a PC in here too.. Can you provide support about this problem ? Or shall I purchase commercial license ? But again I remind, I have 5 days left ....
Jun 17, 2019
03:37 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 17, 2019
03:37 AM
Hello ipek,
If you are using the XMC1400 Boot Kit, you could just do firmware updates via RS232 instead of CAN. This is also already supported by the demo programs for the XMC1400 Boot Kit.
When you connect the XMC1400 Boot Kit to your PC, it shows up as a COM-port. This makes it possible for your PC to communicate via RS232 with your XMC1400 Boot Kit. The MicroBoot and BootCommander PC programs can then be used on your PC to start a firmware update on your XMC1400 Boot Kit. More details on how to do this can be found here.
In case you need to use CAN, then it is easiest to just purchase a CAN USB adapter such as the Peak PCANUSB or Kvaser Leaflight.
With kind regards,
Frank
If you are using the XMC1400 Boot Kit, you could just do firmware updates via RS232 instead of CAN. This is also already supported by the demo programs for the XMC1400 Boot Kit.
When you connect the XMC1400 Boot Kit to your PC, it shows up as a COM-port. This makes it possible for your PC to communicate via RS232 with your XMC1400 Boot Kit. The MicroBoot and BootCommander PC programs can then be used on your PC to start a firmware update on your XMC1400 Boot Kit. More details on how to do this can be found here.
In case you need to use CAN, then it is easiest to just purchase a CAN USB adapter such as the Peak PCANUSB or Kvaser Leaflight.
With kind regards,
Frank