memory reset after re-connecting devkit

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

cross mob
Anonymous
Not applicable

 Hello, I have a feeling, that I missed something, but anyway.

   

I have a cy8ckit -049-42xx Psoc 4 prototyping KIt. I installed PSoC creator 3.1 SP 2 and opened default example for devkit CY8CKIT-049-42xx - SCB_bootloader. I modified a little bit the default project (added one more LED to blink) compiled bootloadable application and wrote it to the PSoC. Everything is fine ther - both LEDs are blinking, but after I disconnected a board and connected it again, I see the default bootloader behaviour - only embedded blue LED is blinknig.

   

Am I missed something and forgot to protect the program from erase?

   

Or program was written to the RAM and because of this it is cleared after power off? Can bootloader write the program to flash? How?

   

Or my devkit is broken?

   

I have two boards. I re-writed the bootloader as it is written in '4 dollars programmer' articale. Same result. Where I can find the explanation?

   

Thanks.

0 Likes
8 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Welcome in the forum!

   

You cannot overwrite the bootloader of the prototype kit using the USB interface. The original bootloader is protected.

   

When you want to replace the bootloader with a different version you need a separate programmer like the MiniProg 3.

   

 

   

Bob

0 Likes
Anonymous
Not applicable

 Pavuk,

   

 

   

If you notice the defalut bootloader behavior, then it means you have entered the Bootloader mode and the Bootloader is waiting for new Bootloadable file. Did you keep the switch pressed when plugging in the CY8CKIT-049? Or did you modify the Bootloader code removing the code which checks for the Switch press to enter Bootloader? In these cases, the Bootloader mode is entered and it is waiting for a Bootloadable firmware. 

   

As Bob described in the previous post, you cannot overwrite the Bootloader unless you program the board using MiniProg 3 or other SWD programmers.

   

 

   

Saheem

0 Likes
Anonymous
Not applicable

Thanks for a fast reply.

   

I used this article for re-writing a bootloader: http://www.cypress.com/?id=4&rID=98796 . Yes, I have the second devkit. But neither with initial bootloader no with new one, the bootloadable project don't stay in the memory after reset. Yes, I've seen, that memory cells used for bootloader are marked as write-protected, but I thought, that the one can re-write them using SWD.

   

No I do not press the switch on the start time. Should I make a video? 🙂

   

The second devkit was loaeded with programmer firmware which is connected to the article I've mentioned. And in this case, the program stays in the memory even after reset. For a moment i havetwo devkits, which behave different. I want to find a fail reason to avoid it in the future.

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

I would suggest you something completely different:

   

There is a new PSoC5 Prototyp Kit availlable from Cypress (On stock at Future electronics in Germany) CY8CKIT-059

   

The snap-off part is a complete KitProg which you can use to program and debug all your prototype boards. Just solder some posts to the programmer interface and the prototype kits and connect with a self-made short ribbon-cable. No other modifications required. That's a bargain!!!

   

 

   

Bob

   

PS Where in Germany are you located? I live near Bremen

0 Likes
Anonymous
Not applicable

Berlin 😃

   

I have some devkits from STM32 - they have ST-LINK V2 (V2-1) interface which is declared to be able to use SWD interface to program and debug external MCUs. But seems that they are locked for STM processors only - I was unable to connect them to the PSoC 4. At least the chip was not recognized and it was impossible to talk with.

   

The PSoC 5 devkit looks  interesting, but I'm not really in mood to buy a new board to put it on the shelf. A reason to buy can be this SWD programmer, but then I need to investigate somehow, is it locked for Cypress chips same as STM ones, can I use this SWD programmer with some open source tools, like the openocd.org etc. I like to have a cheap SWD programmer for daily use. Thanks for a tip. 

   

But I've started this topic to clearify, how to check my current devkit and what is wrong with it. Should I drop it in the trash, or it is recoverable. Any scenario? Probably a reference project with a bootloader and bootloadable binaries to test.

   

I'm interested exactly in Cortex-M0 architecture, while it consumes less energy than Cortex-M3. PSoC 4 in this sence is outstanding. (1.8 Vpp WOW!)

0 Likes
Anonymous
Not applicable

I plan to try to use Raspberry Pi as SWD programmer on this weekend:

   

syso.name/w/raspberrypi-as-an-jtag-swd-interface/

   

www.disk91.com/2015/technology/programming/swd-programming-using-a-raspberrypi/

   

this should be much more reliable than a python script, which doesn't check anything and just pushes data to the output. But as far as after my '4 dollar programmer' exersises i was able to upload bootloadable project, this part was done properly

0 Likes
Anonymous
Not applicable

After re-writing the bootloader the problem was solved. by some reason, bopotloade isn't functional, when it is compiled in "Release" and optimized for "Size".

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Consider posting your modified bootloader that will not run in "Release" setting. To do so, use
Creator->File->Create Workspace Bundle (minimal)
and attach the resulting file.



Bob
.

0 Likes