Best practice for using a bootloader and MQX user application on K64

cancel
Showing results for 
Search instead for 
Did you mean: 

Best practice for using a bootloader and MQX user application on K64

432 Views
aureliengrange
Contributor II

Hi everyone,

I am new to kinetis and MQX and I have some questions about bootloader and MQX.

I am using the TWR-K64F120M and MQX from the KSDK.

I want to know what is the best practice to use a (custom)bootloader and MQX :

- Is there any interest to keep bootloader's RAM (data) when the MQX user application is in activity?

- Does it is necessary to put bootloader's code in RAM for launching MQX application?

- Is there a way to "exit" MQX application and come back to bootloader whitout using reset (neither soft or hard)?

- What about the position of bootloader configuration data in flash? Does it is necessary to put it at the end of the flash?

Thanks for your help

Aurélien

0 Kudos
2 Replies

65 Views
soledad
NXP Employee
NXP Employee

Hello Aurélien,

I want to believe that this appnote can be a guideline for developing your bootloader:

http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4367.pdf

This appnote describes how to add the FNET bootloader to Kinetis projects. There is a section that includes adding it to the MQX linker which is the section that I believe you will find useful.

In addition, please take a look to the following web page:

http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=K20_72&fpsp=1&tab=Documentation_Tab

There are 3 bootloader applications, 2 using USB and 1 using serial port.

AN2295 Developer’s Serial Bootloader

AN4368 USB Mass Storage Device (MSD) Host Bootloader

AN4379 USB Mass Storage Device (MSD) Bootloader

I hope this helps.


Have a great day,
Sol

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

65 Views
aureliengrange
Contributor II

Hi Soledad,

Thanks for your answer.

I have seen these documents. My problem is more about the architecture than the realization of the bootloader.

Can I exit MQX ( MQX_exit() ) at the end of normal operation and return to the bootloader state?

How doing this (in the same way to go from Boot to Application?)

If yes do I need to recopy bootloader's data to RAM or should I keep them from the first operation?

Why bootloader’s parameters are in the last sector of the flash?

Does it is practical or just a common standard?

Thanks a lot for your advices.

Have a nice day.

Aurélien

0 Kudos