How to upgrade firmware using UART?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

How to upgrade firmware using UART?

1,707件の閲覧回数
tedwu1
Contributor III

Hi friend,
My project uses KW38, but it doesn't need BLE. I want to use UART to upgrade firmware. 1: Which flashloader project should I use? I imported 3 SDK samples include flashloader, flashloader_loader and freedom_bootloader projects. The 3 projects have the same issues.
I used MCUXpresso IDE Binary Utilities to generate the hex file for the project frdmkw38_flexcan_interrupt_transfer. I burned the each  flashloader on the evaluation board. I then used Teraterm to send the hex file to the evaluation board.
But the hex file will not be written to flash. (I can still use Teraterm to send the hex file to the evaluation board.)
2: How do I write the hex file to flash and rerun the new code?

Thank you in advance.
Ted Wu

0 件の賞賛
返信
5 返答(返信)

1,690件の閲覧回数
EduardoZamora
NXP TechSupport
NXP TechSupport

Hello @tedwu1

Hope you are doing well.

You can use the Kinetis Flash Tool to load an application into your device (via UART) using your PC; KinetisFlashTool is a GUI wrapper of BLHOST, which is easy to use. You should find this tool inside KW38 SDK folder > middleware > mcu-boot > bin > Tools > KinetisFlashTool > win.

For more information on Kinetis Flash Tool and its usage, please consult the Kinetis Flash Tool User's Guide (inside mcu-boot > doc folder).

Hope this information helps.

Regards,
Eduardo.

0 件の賞賛
返信

1,670件の閲覧回数
tedwu1
Contributor III

Hi @EduardoZamora 

My current project combines flexcan and dspi projects. What if I want to upgrade firmware using UART. I need to combine flashloader_loader into my project. is it right?

Thank you.

Ted Wu

0 件の賞賛
返信

1,660件の閲覧回数
EduardoZamora
NXP TechSupport
NXP TechSupport

Hi,

If you are currently using FlexCAN interface, perhaps you can find the App Note Using LIN or CAN Bus to Upgrade Image on KW36/38 useful for your development.

Could you please confirm if this information is helpful for you?

Regards,
Eduardo.

0 件の賞賛
返信

1,578件の閲覧回数
tedwu1
Contributor III

Hi @EduardoZamora 

I just want to use UART to upgrade the firmware on the mass production line or when I need to upgrade the firmware. My project does not have BLE. I don't need to use CAN bud to upgrade the firmware, nor do I want to use SWD to flash the firmware. Do I need to merge my project with the flashloader project? If I don't need to upgrade the firmware, how can I set the flashloader timeout (e.g. 1 second) to let it run to the application?

Thank you very much.

Ted Wu

0 件の賞賛
返信

1,554件の閲覧回数
EduardoZamora
NXP TechSupport
NXP TechSupport

Hi,

flashloader and flashloader_loader can be used one time. You can try using freedom_bootloader to "merge" it with your application. From project > MKW38A4 > bootloader_config.h, bootloader should check address 0xA000 for the application vector table:

EduardoZamora_0-1703028350013.png

Frist, download this bootloader to your device. After this, modify your project code to relocate it at address 0xA000, build your application and flash it to your device. After flashing your application code, you should still be able to update the image of your device by using, for example, the Kinetis Flash Tool.

Regards,
Eduardo.

0 件の賞賛
返信