Hi,
I am working on Boot Assist Module of MPC5643L. As given in datasheet of MPC5643LRM,for password check,if the public password is not allowed and the flash memory is secured, the received password is compared by hardware against the password stored in NVPWD0 and NVPWD1. Only in this case (no public password and secured flash), the words of the provided password must be swapped (NVPWD1|NVPWD0).
Whether we need to swap the password using code or it can be done internally?
Also, what should be the wait cycle as mentioned some wait time need to be given which is mentioned in the flowchart beow
Also I have a doubt in BAM logic flow, there it is given as default configuration. What is meant by that? How to configure?
So,kindly clarify my doubts and guide me how to achieve this.
Regards,
Arthi Venkatasubramanian
Solved! Go to Solution.
Hi,
A1 : You have to swap it by code.
A2: The wait cycle is hard-coded. Device is waiting for password comparison complete.
A3: Default configuration - This is storing original configuration after reset. For example MSR state.
Peter
Hi Sir,
I need to code for BAM till now I understood BAM ,first we need to know the Device mode from the SSCM module and based on the mode, protocol need to be chosen (in case of SBL), then we need to get the password through protocol, echo it then validate password if it is valid , next get the start address, VLE and code length , echo them through protocol. Likewise , get the data, saved into SRAM and make the control to jump to the start address of the Application in the following flow,
Am I correct or BAM is an in-built code which is available and based on the protocol used,it will work on its own?
Can anybody clear me with this
Regards,
Arthi Venkatasubramanian
Hi,
BAM is hard-coded in NXP factory and cannot be erased.
Closer BAM description is in reference manual.
Peter
Hi Sir,
Thanks for your reply.
I found an application note AN4674 for Application of Boot Assist Module. In that application note, Building RAM application is done using GHS compiler. Here, I am using Codewarrior v10.6 IDE. So, for codewarrior v10.6, what are the things needed to be modified or is there any procedure to be followed to make that Application run using Codewarrior v10.6.
I need to try that Application using Codewarrior v10.6 platform.
Can you help me with this.
Regards,
Arthi Venkatasubramanian
Hi,
I see nothing special here. Just have in mind it is different compiler so the linker and output files will be different.
Peter
Hi Sir,
I am working on Codewarrior v10.6 platform.
As per the Application note (AN4674), RAM image file needs to be generated. I have LED blinking as my application. ELF file and Mot file are the files which are generated. How to get RAM image file from .elf or .mot file
a. In the application note, they have given the configuration settings of the compiler to produce a memory image file(.mem).How to configure for codewarrior v10.6? what are the settings to be done to produce the memory image file?
b. Is it possible to generate RAM image file from .elf or .mot file? If possible, how?
Regards,
Arthi Venkatasubramanian
Hi,
a, I am not familiar with CW config, but I expect that there is compiler option for output file format as other compilers have.
b, No
Peter
PS: if you want to create RAM image, you have to configure your linker properly for RAM image.
Hi,
A1 : You have to swap it by code.
A2: The wait cycle is hard-coded. Device is waiting for password comparison complete.
A3: Default configuration - This is storing original configuration after reset. For example MSR state.
Peter
Hi Sir,
For Compare by Hardware as you said it can be swapped by code. Flash password is stored in NVPWD registers. I just swapped my received password.
Is there any default location for storing the received password(swapped)?
How the hardware identifies the received password (swapped) and how it is comparing with the Flash word?
Whether we need to store the received password (swapped) in some particular location or hardware can take the received password (swapped) from any location.
Regards,
Arthi Venkatasubramanian
Hi Sir,
Thanks for your reply. One more question, What is Boot Assist module?. From datasheet, it does the task of getting the data from the host through protocol, saving it into SRAM and making the control to jump to the start address of application. In simple way, what is BAM?
I understand what it does but I don't know what it is.
Please reply me. I know it is a silly question
Hi,
The Boot Assist Module (BAM) is a block of read-only memory containing VLE code which is executed
according to the boot mode of the device.
Peter