Need a help to know bootloader process of S32K144

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Need a help to know bootloader process of S32K144

4,727 Views
sayali_ayarkar
Contributor I

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

0 Kudos
Reply
3 Replies

4,467 Views
jiri_kral
NXP Employee
NXP Employee

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 

0 Kudos
Reply

4,137 Views
cmarslett
Contributor I

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.

  1. Is there any way to do this without customizing the OpenSDA modules?
  2. If I do need to customize the OpenSDA modules what app notes or sample code would be a good starting point? I assume that the minimum modifications would be to add update security logic and to substitute a serial over Bluetooth channel to transfer the updated code in place of the USB/serial interface used in the S32K144EVB.  Is that a reasonable assumption?
  3. Are there any documents that explain how to recover from a broken OpenSDA boot loader if I am modifying it to provide update security and substituting the Bluetooth/serial driver for the USB/serial driver?

Thanks,
--Charles

 

0 Kudos
Reply

4,291 Views
nishalemos
Contributor II

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 

0 Kudos
Reply