BAM problem in MPC5675K

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

BAM problem in MPC5675K

Jump to solution
2,311 Views
cenközer
Contributor II

Hi,

 

We want to boot 5675K by using
RappID bootloader. I arrange the config pins as FAB=1, ABS2=1 and ABS0=0
(serial boot from CAN or LIN with autobaud) and i am sure the necessary logic
levels are provided the MCU. When i tried the communicate using RappID bootloader
i am facing the same problem in below link:

https://community.freescale.com/thread/330412?fsrch=1&pageNum=1

 

I tried the solution that is
mentioned in that discussion but result did not change.

 

Also, i saw in other discussion
default password should be swapped because there is C90LC flash in MPC5675K.
However it did not work either.

 

By the way i can see the messages
coming from CAN interface by looking CAN0_RXD pin on demoboard (MPC5675KEVB).
There is no response on the CAN0_TXD. I cannot see anything on the
oscilloscope.

 

I also looked at AN4674 to
understand mechanics of the issue. In my situation, it looks like BAM does not
work as it is supposed to be.

 

I would be very appreciated if you could help. Thank you.

Labels (1)
0 Kudos
1 Solution
1,803 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi,

here is the feedback from Rappid team:

"The bootloader for MPC5675K works only in DPM mode. Unfortunately we did not document this limitation in our release notes."

Regards,

Lukas

View solution in original post

0 Kudos
14 Replies
1,803 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi,

there's one known issue related to serial boot on MPC5643L and MPC5675K. The serial boot does not work if BOOKE application is already programmed in flash. See please description below. Solution is to erase the flash or program VLE application to flash. Could you please check if it is the case?

The erratum is not available on our web yet but it should be published in the near future.

Title:

BAM:  Serial boot not supported when flash is programmed with Power Architecture instruction set software

Errata Description:

The Boot Assist Module (BAM) will not support serial boot when flash memory is programmed with Power Architecture instruction set (Book E) software.  The functionality of the BAM is dependent on the value of the Variable Length Encoding (VLE) bit in the Reset Configuration Half Word (RCHW) of the bootable flash sector.  If the VLE bit = 0, indicating that Book E software is programmed in flash memory, the BAM will not function correctly and serial boot will not be supported.

Errata Workaround:

Erase flash memory or program flash memory with VLE software prior to executing serial boot with Book E software.

Regards,

Lukas

0 Kudos
1,803 Views
cenközer
Contributor II

Hi Lukas,

Thank you for quick response. However, it is not the case. We are working with VLE applications. Also, I have tried to erase flash first and then load from bootloader. But after I wrote this question, also tried another thing. We are working in Lock step mode (we changed the correspondent bit in shadow flash_0   B->F only one bit, there is a presentation for 5643L and similar process is applied for 5675K). And when I try serial bootloader in LSM, it did not work. However, when I return the decoupled parallel mode, it works. Both modes, CAN with autobaud and LIN with autobaud are working. Is there a way to use serial bootloader in lock step mode?

0 Kudos
1,803 Views
jcsansao
Contributor II

Dear Cenk and Lukas, 

I really need some help here...

I´m trying, without success, to use the Rappid Bootloader for a while, but I get always the same answer, loss of communication.

I´m using the MPC5675K 257 pins eval board and a usb-to-serial cable connected to the SCI port, and until now, I try the following:

- ensure the RCHW bit is set to VLE;

- ensure board is in DPM

Do you know any other option I could explore?

 

My configuration is as follows:

pastedImage_2.png

Thanks a lot

0 Kudos
1,803 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi,

I tried the Rappid Booltoader on my board and I can't make it working too. I can see that the MPC567xK.rba is successfully loaded to RAM (confirmed by debugger) and the code is executed but the tool running on PC says that communication was lost. I will ask Rappid team if they can provide some hints...

Lukas

1,803 Views
jcsansao
Contributor II

Sorry for the delay Lukas,

I could not get it work and it looks like a dead end, but I still need to use Motor Control, so I created a project using CodeWarrior and linked all libraries from Motor Control and the generated code from Matlab.

So I´m not actually using BAM, but I´m still able to use code generation from Motor Control...

Best Regards,

Juliano

0 Kudos
1,804 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi,

here is the feedback from Rappid team:

"The bootloader for MPC5675K works only in DPM mode. Unfortunately we did not document this limitation in our release notes."

Regards,

Lukas

0 Kudos
1,803 Views
cenközer
Contributor II

Thank you Lukas. As I understand we should make our bootloader to work in lock step mode. Is it possible? Is there any restriction for 5675K? Because in LSM, it looks like BAM does not work.

0 Kudos
1,803 Views
zhouxian
Contributor III

What do you mean by"In LSM, BAM does not work"? I suppose BAM runs first, user's LSM/DPM selection is done after BAM received bootloader, programmed user code, and chip reset. Is that correct?

0 Kudos
1,803 Views
cenközer
Contributor II

Actually you are right. Maybe the correct words are RappID bootloader is not working when MCU is in LSM. However only thing that I've done is changing a bit in shadow flash to change mode. It means I arranged the mode first using emulator. RappID bootloader sends the same data (for autobaud detection and password) but MCU did not respond in LSM and responded in DPM. Thus, it made me think that BAM is working differently according to modes (by looking correspondent mode bit in shadow flash). 

0 Kudos
1,803 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

It is related rather to SW initialization, not to BAM. If the device is configured to LSM, it is necessary to initialize core registers ("initialize" means that we have to write some value to them) to ensure that core registers are the same on both cores (some registers contain random value after power-on). If registers are different, redundancy checker will trigger error.

Second important point is that SRAM memory is mapped differently in LSM and DPM. So, the SRAM initialization can cause troubles.

If the Rappid software does not follow these differences (it obviously doesn't) then it will not work.

Lukas

0 Kudos
1,803 Views
cenközer
Contributor II

Hi Lukas,

You said

"If the device is configured to LSM, it is necessary to initialize core registers ("initialize" means that we have to write some value to them) to ensure that core registers are the same on both cores (some registers contain random value after power-on). If registers are different, redundancy checker will trigger error."

Should the BAM do this initialization? If not, does it mean we cannot boot the MCU from CAN  in lock step mode?

0 Kudos
1,803 Views
zhouxian
Contributor III

Do you mean that the solution to this problem may be an update of the Rappid software, not the BAM?  By the way, are there any  posibilities that the evb or the chip end user can make the BAM modified?

0 Kudos
1,803 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi,

BAM cannot be modified. The BAM code sits in ROM memory.

Lukas

0 Kudos
1,803 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi,

I have asked Rappid team to confirm if it is supposed to work in LSM and if it was tested. I will let you know their feedback later.

Lukas

0 Kudos