Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

I implemented a UART based bootloader on PSoC5LP kit having CY8C5888LTI-LP097 controller which stores the application on internal flash. Now I want the Bootloader to download the application on External Flash or EEPROM and Download the application from external memory upon a key press to the internal memory. IS it possible ? if yes then guide me how to proceed.

0 Likes
1 Solution
Anonymous
Not applicable

Hi Aditya,

   

Your external flash/EEPROM is SPI based ? You need to modify the bootloader project to copy image from external memory to the PSoC flash and launch it. 

   

- Create a project with bootloader-bootloadable architecture. 

   

- While you running bootlodable (application space of flash), you receive new image and you write it into external memory. 

   

- Once writing to external memory is done, you verify it by calculating checksum.

   

- If checksum is okay, you launch bootloader().

   

- Execution jumps to bootloader space of PSoC5 flash.

   

- Bootloader project copies new image from external memory to the application space of flash.

   

- Verify checksum and launch application.

   

 

   

There is one more method to achieve it without requiring an external memory. PSoC itself can divide its memory into two halves. One portion bootloading the other portion. Read dual-bootloader in PSoCLP bootloader component. The drawback is your application can get only half of the total flash size.

   

- PSoC5 flash is divided into launcher, app1 (bootloadable1) and app2 (bootlodable2) portions.

   

- App1 while running if receives new image, it writes to app2 space. Validates the new image and sets a flag.

   

- Similarly, if app2 is running it stores new image into app1 space.

   

- Launcher at power up selects which app to launch and execution goes to app1 or app2.

View solution in original post

13 Replies
This widget could not be displayed.