CAN-RAppID bootloader

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

CAN-RAppID bootloader

1,950 Views
abdelrhman
Contributor III

I'm using the MPC5744P dev board, and the most updated bootloader version 'MPC5744P_S32DS_UART1_CAN0.rbf'
 I succeed to flash an srec file using RAppID BL through CAN protocol. However, the application didn't start. The erase and flashing processes were successful and at the end of programming session, the BL wrote ''start application'' which means that the programming is conducted successfully. The problem seems to be where the start address of the application code is. If so, where should the application code start?

Thank you very much in advance

0 Kudos
Reply
8 Replies

1,938 Views
stanish
NXP Employee
NXP Employee

Hello,

Please make sure your application project has all the required fields implemented. (See the RappID bootloader user guide / release notes document for more details)

Size    Offset   Value       Description
(bytes) (bytes)
-----   ------   -------     -----------
4       0        0x0000005A  RCHW
4       4        Address     Address of start of application
4       8        Delay       Delay in micro seconds before bootloader launches 
                             application on powerup
4       12       Appkey addr The location of application key. The application 
                             key value should be 0x55AA55AA

This block should be placed at an address searchable by bootloader.

Note: For the appkey you should define constant in your app (ideally place it at the end of the flash image - define section .appkey) and pass just address to this constant in the block above.

const volatile uint32_t APPKEY __attribute__ ((section(".appkey"))) = 0x55AA55AA;

Hope it helps.

Stan

0 Kudos
Reply

1,934 Views
abdelrhman
Contributor III

I made sure about these fields and it didn't work

what are the searchable blocks by the bootloader ?

Could you please send me a srec file??

0 Kudos
Reply

1,924 Views
stanish
NXP Employee
NXP Employee

Hi,

To start the application, the bootloader expects following boot header information to be present at the start location of any of the small, medium or large blocks other than block occupied by bootloader.

So for MPC5744P you could plce the boot header at address 0x00FA0000.

Attached is adjusted "Hello World" example that could be loaded using RAppID bootloader.

 

Hope it helps.

Stan

0 Kudos
Reply

1,916 Views
abdelrhman
Contributor III

Really thank you for your response 
but the problem is still the same.

the srec file was flashed successfully and the bootloader started the application. however, the kit didn't respond. the red led shall be on but that didn't happen.

abdelrhman_0-1661342862900.png

 

0 Kudos
Reply

1,910 Views
stanish
NXP Employee
NXP Employee

Since you have devkit  -> could you possibly try to attach to running target (Hello World project) after you program srec  using OpenSDA debugger?  this will help to figure out where the execution is.

Go to project Launch configurtation  and select "attach to running target" and press debug button.

stanish_0-1661419164459.png

Once the debugger connection is established, press Suspend/Pause debug button.

Can you send us the screenshot  of disassembly when you pause the execution?

Stan

 

0 Kudos
Reply

1,903 Views
abdelrhman
Contributor III

Hello Stan, I Hope your day is fine
Here is the disassembly screenshot

abdelrhman_0-1661423426200.png

 

 

0 Kudos
Reply

1,882 Views
stanish
NXP Employee
NXP Employee

Hi

it seems that an unhandled exception occurred -> the address space belongs to Boot assist module - rom code executed after reset.

Which DevKit board revision do you use? what is the jumper settings?

I'd suggest you to debug Hello World Rappid project (FYI: it should loads also program the bootloader - just update the absolute path to rbf file)

stanish_0-1661529524755.png

then put a breakpoint at app  _start() and perform reset target from the debugger (see screenshot below)

stanish_1-1661530742799.png

Now run the execution -> do you hit the breakpoint?

If not, please add read watchpoint to address 0xfa0004 (bootloader rchw block - app entry point) and reset from debugger. Do you hit the watchpoint?

stanish_2-1661531392930.png

stanish_3-1661531515049.png

 

Regards,

Stan

 

 

 

0 Kudos
Reply

1,856 Views
abdelrhman
Contributor III

Hi stan
Hope you are well

My Dev board is of revision E.
Jumper settings: debug mode, FAB pin is disconnected 

abdelrhman_0-1661688815602.jpeg

when I put a breakpoint at app  _start() and perform reset target from the debugger, I didnot hit the breakpoint. the kit enters signal trap as follows,

abdelrhman_1-1661688942306.png

 

when I read a watchpoint to address 0xfa0004, I got the following 

abdelrhman_2-1661689146214.png

then I reset from debugger, I got the following

abdelrhman_3-1661689218458.png

 

 

0 Kudos
Reply