Flash Protection Verification in PSoC5LP

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

cross mob
Anonymous
Not applicable

Flash Protection Verification in PSoC5LP is not set at all, on: every 2nd sector of all flash arrays (problem shows at: arrayID's={0x0-0x3, 0x3F}; rowID's = {0x40-0x7F}), regardless of protection modes (protMode={0x55,0xAA,0xFF}) - it is always set to 0x00( unprotected ). Is this a silicon bug, or improperly implemented Protect Verify flowchart? Did anybody check that?
Resources:

PSoC5LP: Programming Specification pp. 38, 66-68:
http://www.cypress.com/file/119651/download

0 Likes
3 Replies
Anonymous
Not applicable

Problem occured on microcontrollers:

CY8C5287AXI-LP095

CY8C5688AXI-LP099

...

0 Likes
Anonymous
Not applicable

Hi, after rough trial and error programming paradigm, I've found typographical error in "PSoC ®  5LP Device Programming Specifications" at pp.67. Below there are correct steps:
-each flash row protection bytes latch must be loaded with correct values;
-write protection bytes to each 0x10000B flash array.
If they are loaded separately ( as programming manual instructs ), after first write to flash array, all remaining protection bytes latches will be locked, resulting in protection of single flash array. After this trivial trick all works great. Next silicon revision of PSoC5LP should result in flash controller error reporting at this case, or there should be two way protection programming flow chart.

0 Likes
Anonymous
Not applicable

Small tip: after enabling flash temperature sensor there where a need of small loop for asm( "nop" ); instructions, before two reads, for getting correct values. The same come with initial oscillator stabilization.

0 Likes