RAppID BL: .rbf for MPC5743R-144

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

RAppID BL: .rbf for MPC5743R-144

3,909 Views
ypchen
Contributor III

Hello NXP,
I'm using MPC5743R-144, and I want to use the RAppID BL by serial communication.
MPC5746R_20MHz.rbf is only for MPC5743R-176 with PF[0] and PF[1] pins(LINFlex2),but MPC5743R-144 does not have these pins.
Can you give me a .rbf  for MPC5743R-144 with PD[13] and PD[14] pins(LINFlex0)?In my design,I have used PD[13] and PD[14] for UART.
Thanks!

10 Replies

3,622 Views
mikedoidge
NXP Employee
NXP Employee

Hello ypchen‌,

Attached is an updated RBF file. It supports UART 0 (LinflexD_0) via PD13-PD14 pins. Please try it and let us know if it works well for you.

Best Regards,

Mike

0 Kudos
Reply

3,622 Views
ypchen
Contributor III

Hello,Mike Doidge

  I have tried the .srec file , it supports UART0 via PD13-PD14 pins .  The read/erase/program  function works well,but  the .srec file  has three bugs  through debugging.

     1.  Boot header configuration is wrong, it should be 0x005A_0008,which defined CPU1 enabled ( the MPC5743R only has CPU1).CPU1 Reset Vector is also wrong.So it cannot run directly after reset.

      2.  RAppID BL help file  <<Version 1.6.7.35 Release Notes>> shows that the MPC5746R RBF bootloader occupies two 16K memory blocks ( 0x00F9_C000 and 0x00FA_0000),but this .srec file occupies three  blocks ( 0x00F9_C000 、0x00FA_8000  and 0x00FA_C000 )

      3. The .srec can not jump to APP after reset or APP code programed.  APP code’s boot header information is according to <<Version 1.6.7.35 Release Notes>>,and it can run with MPC5746R_20MHz.rbf .

0 Kudos
Reply

3,622 Views
mikedoidge
NXP Employee
NXP Employee

Hello ypchen‌,

Please try the attached RBF file. We have updated it to correct the issues you reported. Let us know if this works well for you.

Best Regards,

Mike

0 Kudos
Reply

3,622 Views
ypchen
Contributor III

Hello,Mike Doidge

 

    I have tried  the latest files, but unfortunately,  the second and third concerns still exist.

   The APP code’s boot header information is shown in the figure below,which is according to <<Version 1.6.7.35 Release Notes>>. The APP can run with MPC5746R_20MHz.rbf ,so the APP code will be certainly right.

pastedImage_4.png

pastedImage_2.png

0 Kudos
Reply

3,622 Views
mikedoidge
NXP Employee
NXP Employee

Hello ypchen‌,

I believe you have the RCHW at the wrong location. It should instead be located in the range of 0x00FA0000 - 0x00FA3FFF. Please see the attached updated documentation.

Best Regards,

Mike

0 Kudos
Reply

3,622 Views
mikedoidge
NXP Employee
NXP Employee

Hello ypchen‌,

We further reviewed your implementation and found some more issues.

1) The value of RCHW for MPC57xx is 0x005A0000 not 0x0000005A ->Therefore the BL won’t found the second app. See below:

pastedImage_1.jpg

2) The RCHW address must be located within 0x00FA0000 - 0x00FA3FFF not from 0x1000000. See below:

pastedImage_3.jpg

BOOT-LOADER

RCHW + Boot

0x00F9C000 - 0x00F9FFFF

Boot-loader application

0x00FA8000 - 0x00FAFFFF

APPLICATION SOURCE

RCHW + Boot

0x00FA0000 - 0x00FA3FFF

User application

0x01000000 - 0x0137FFFF

 

I suggest some configurations as below:

 

For flashrchw.c:

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

const uint32_t __attribute__ ((section(".rchw"))) RCHW [] = {

                                                RCHW_VAL,

       /* cpu0_reset_vector */ (uint32_t)_start,

       /* delay */                       0x0000000,

       /* application key */   (uint32_t)&APPKEY

};

      

For linker file:

MEMORY

{

 

    flash_rchw : org = 0x00FA0000,   len = 0x20

    m_text :  org = 0x1000000, len = 1792K 

    m_data :  org = 0x40000000,   len = 128K

   

    local_imem  : org = 0x51000000,   len = 16K

    local_dmem  : org = 0x51800000,   len = 32K  

}

                       

.text :

       {

             *(.text.startup)

              *(.text)     

              *(.text.*)

              *(.appkey)

              KEEP (*(.init))

              KEEP (*(.fini))           

              . = ALIGN(16);

} > m_text

 

Please let us know if you are able to correct the issues and succeed in using the RAppID BL.

Best Regards,

Mike

0 Kudos
Reply

3,622 Views
ypchen
Contributor III

Hello Mike Doidge

 I corrected the  boot header information of my APP , and the RAppID BL can work well . After downloading, the APP can run immediately.

The  boot header information like this:

43.png

But,  there are still  two little concerns .

1.  I set delay time 3 seconds in the RCHW [] (delay value is 0x002DC6C0), actually, when powerup reset, the APP start running after about 10 seconds .

2.  The read function doesn't work. See below,after uploading 3%, RAppID BL stops and then the timeout is reported.

111.png

0 Kudos
Reply

3,622 Views
mikedoidge
NXP Employee
NXP Employee

Hi ypchen‌,

To address your concerns, we have the following information for you:

1) The delay time set inside your application does not have any effect on the MPC574xR devices at this time. We hope to be able to add this in the future. I realize this may be confusing as this delay value is existing in the file. It is there more to maintain consistency with the support for the other devices. For example, in the MPC5777C, the delay time does have an effect. However, we have managed to squeeze out some delays within the RBF file we provide to you previously. Please try the new attached 'MPC5746R_S32DS_UART0_CAN0.srec'. Let us know if it results in improved delay time and is satisfactory for you.

2) On the C55FMC flash memory, the blocks used by your application are not consecutive so when RAppID BL is reading your application, it will to read some unauthorized access area. In this case, the BL will stop reading process and return an out of range message but RappID BL does not show this message.
To read memory for your application, please as workaround do the following(refer to attached images for detail):
+ Read RCHW area: startAddress: 0xFA0000 with size < 0x4000 (16K for this block)
+ Read m_text area: startAddress: 0x1000000 with size < 0x0380000 (all of 256k block)

Hope it helps!

Mike

3,622 Views
ypchen
Contributor III

Hello Mike Doidge

  Based on the information you provided, I tried  the latest .srec file,and it works well . The delay time  is about  3 seconds .

Thank you very much.

3,622 Views
mikedoidge
NXP Employee
NXP Employee

Hello ypchen‌,

We are investigating the 3 concerns you reported and will provide an update once we have some result.

Best Regards,

Mike

0 Kudos
Reply