PSoC4 Bootloadable Component

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

cross mob
ShVy_264716
Level 4
Level 4
50 replies posted 25 replies posted 10 replies posted

Hi All

   

I am working in a direction of programming my PSoC4 prototyping kit through its USB using the bootloadable component instead of Miniprog3. I went through the procedure defined in the document and successfully programmed it using USB.

   

The procedure is:

   

1. Put a bootloadable component in schematic.

   

2. Go in its configuration and click the "Dependencies" Tab.

   

3. There is a UART_Bootloader.hex and a UART_Bootloader.elf file given by Cypress. Set these files as dependencies.

   

4. Build the program.

   

5. Place the USB part of Prototype kit in PC while pressing the Reset switch. Verify the proper placement when the kit LED starts blinking at 500ms interval.

   

6. Go to Tools->Bootloader Host.

   

7. Give the path of file projectname.cyacd as projectname.cydsn->Cortex-M0->ARM_GCC_493->Debug

   

8. Select the COM port.

   

9. Set UART baudrate as 115200.

   

10. Click "Program".

   

I am having an issue with this method. After programming, the PSoC4 works well according to requirement. But after a few power resets, it starts blinking LED at 500ms interval which is not as per my code. When I studied that UART_Bootloader code, I came to know that there is a PWM component in it that generates 1Hz pulse. What I understood from that code is that when we properly place the kit in USB of PC, the blinking LED indicates successful placement. So I guess the PSoC4 gets confused between two hex files to execute: 1. UART_Bootloader.hex 2. projectname.hex and sometimes it runs the UART_Bootloader.hex.

   

Is anybody else facing the same issue? If anyone knows the solution for this, please guide me. I want to put a habit to use this bootloadable component for programming.

   

 

   

Thanks and Regards

   

Shaunak

0 Likes
6 Replies
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

Shaunak: I always use the blinking led Dependencies .elf and .hex.  You do not need these in your program but your bootloadable component must be pointed to these .elf and .hex files.  Also you do not need the uart section of the program in your program to program your program.  How about sending me your program so I can check it.

0 Likes
lock attach
Attachments are accessible only for community members.
ShVy_264716
Level 4
Level 4
50 replies posted 25 replies posted 10 replies posted

Bobgoar: Here is my project.

0 Likes
lock attach
Attachments are accessible only for community members.
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

Shaunak: Your code is working fine.  I tried about 5 power resets and it is still working as it should.  I am using my SCB_Bootloader\UART_Bootloader.cydsn\CortexM0\ARM_GCC_484\Debug\UART_Bootloader.hex. It is working fine with this bootloader.hex.  I don't have an LCD setup for this unit it doesn't affect the operation of the board anyway.  Are you hitting the reset switch by error when you are doing the power reset? I am sending the code back to you.

0 Likes
ShVy_264716
Level 4
Level 4
50 replies posted 25 replies posted 10 replies posted

Bobgoar: I think my UART_Bootloader project has been corrupted. Can you please share your UART_Bootloader project?

   

 

   

Regards

   

Shaunak

0 Likes
lock attach
Attachments are accessible only for community members.
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

Shaunak: Here it is.

0 Likes
ShVy_264716
Level 4
Level 4
50 replies posted 25 replies posted 10 replies posted

Bobgoar: Many thanks.

   

 

   

Regards

   

Shaunak

0 Likes