- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Is it possible to put MCU in bootloader mode using UART commands instead of an external bootloader switch press and hold during the power reset?
Something like Arduino board firmware update by Arduino IDE.
Solved! Go to Solution.
- Labels:
-
PSoC 4 Architecture
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi.
Yes, you are heading down the correct path. Very good!
In the Bootloadable main.c, that's where you'll check for the UART message to invoke Bootloader_1. You can call the function Bootloadable_1_Load() or you can call Bootloader_1_Start(). I've never really figured out the difference. They both seem to do the same thing.
In the Bootloader project, find the menu for Build Settings. Change the Application Type to Bootloader.
In the Bootloadable project, find the menu for Build Settings. Change the Application Type to Bootloadable.
BTW, a reference document I find handy to read:
AN68272 UART Bootloader. It also has code examples.
And, you can look at the Bootloader/Bootloadable component datasheet for more info. You'll see a button for "Datasheet" in the Bootloader component config window, bottom left corner of window.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello AjCH.
Yes, the application can receive command from UART and call Bootloader_Start() to jump into Bootloader code. You'll setup the UART and define the unique command to invoke the Bootloader.
See AN73854.
AN73854 - PSoC® - Introduction to Bootloaders (cypress.com
Good luck with your project.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
In Bootloader Program
schematic-
main.c
In the Application program-
Bootloadable block add bootloader hex and ELF file-
main.c
Is this process correct? If no then please let me know the correct procedure.
Which function of Bootloadable block needs to be called when specific command received on UART in the Application program?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi.
Yes, you are heading down the correct path. Very good!
In the Bootloadable main.c, that's where you'll check for the UART message to invoke Bootloader_1. You can call the function Bootloadable_1_Load() or you can call Bootloader_1_Start(). I've never really figured out the difference. They both seem to do the same thing.
In the Bootloader project, find the menu for Build Settings. Change the Application Type to Bootloader.
In the Bootloadable project, find the menu for Build Settings. Change the Application Type to Bootloadable.
BTW, a reference document I find handy to read:
AN68272 UART Bootloader. It also has code examples.
And, you can look at the Bootloader/Bootloadable component datasheet for more info. You'll see a button for "Datasheet" in the Bootloader component config window, bottom left corner of window.