Hello!
I am working on a project in which we need to do OTA on S32K144.
I have read few documents related to bootloader and S32K1XX.
Following are the points I understood so far:
1. There are few options by which micro-controller gets .bin file:
- UART
- CAN FD
2. Bootloader searches for a key,if it is valid then firmware location is updated and finally it updates the new firmware.
3. Bootloader example in SDK has rchw.c, appl.c.
rchw.c has appkey and rchw content as given in document.
According to description given we are supposed to download RAppID BL Tool application. Using that application we are supposed to make necessary changes in .rbl file. Application used .rbl file to boot the micro-controller.
I have few questions which are as follows:
1. Do we have to flash bootloader externally or it is already stored in micro-controller memory and we just have to change RCHW to trigger that bootloader?
2. How does bootloader process work?
3. RApplD BL Tool is only option to boot microcontroller?
I have attached few documents which I referred.
Please let me know if I missed out something here and help me to know boot loader process so that I can successfully do OTA on s32k144.
Thanks in advance.
#S32k144 #bootloader #OTA #rchw
Hi,
1. You need to flash bootloader (BL) application externally. You can use PE Micro or any other debug probe.
2. Basically - after reset, BL waits until timeout is reached (or uses any other technique like holding button..) to decide if new firmware is going to be updated or BL can jump into application. BL also checks if app is present - for example by checking key value stored on known address in app memory space.
3. If you are using BootLoader application provided by S32DS - RappID BL tool is the only option. But you can write your own application and bootloader.
Hope it helps.
Jiri
I am designing the firmware modules to support the OTA updating of firmware modules in a fully weatherized system. The production boards will be potted and be physically connected to the outside world via a 27-pin connector that carries the CAN bus and several sensor and control wires. We will also have a Bluetooth interface used to send system data to the cloud and to an IOS or Android application for display of monitoring data. We also intend to allow OTA updates of the system modules firmware through this Bluetooth interface. If possible I would like to use this interface to support debugging also.
Thanks,
--Charles
Hi @jiri_kral
I have uploaded the RBF file provided in MATLAB toolbox for UART0 CAN0.(with S32k144).
Baud Rate :115200. Currently using Serial Port
But I always end up with an error Loss of Communication CPP Error.
I have even tried Example code provided in MATLAB Toolbox but end up with same Error
I have followed various threads discussing same but could not resolve the issue and draw any Conclusion out of them.
Hope for your support
Regards
Nisha Lemos