Bootloader Host Get Flash Size

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

cross mob
Anonymous
Not applicable

I seem to be getting some incorrect data back from the PSOC when sending the Get Flash Size Command. In my .cyacd file its clear that the first row of data has the a row ID of 0x50 (80), but after calling the Get Flash Size Command the PSoC returns a valid row rand of 0x51(81) to 0xFF.

Does anyone have any ideas about this? Why would the row numbers be different? I'm just reprogramming the same .cyacd file to test this.

I'm using the API from AN86526.

0 Likes
5 Replies
Anonymous
Not applicable

Looking at the build results of the project. Flash used 12864 of 16384 bytes -> Bootloader: 5120 bytes (80 rows of 64 bytes) Application: 7680 bytes (120 rows of data) Metadata: 64 bytes(1 row)

Does the .cyacd file include the meta data? Also would it makes sense to add a row to each array ID to get the correct rows?

   



 

0 Likes
himam_31
Employee
Employee
50 likes received 25 likes received 10 likes received

Hello,

   

1)The command Get Flash Size(0x32) returns the "first row number of the bootloadable flash, 2 bytes. Last row number of the bootloadable flash, 2 bytes." In post#2 you have mentioned that bootloader is taking 80 rows. So the bootloadable application must start from row 81.Can you please confirm this. Also can you please confirm if you are using the latest version of PSoC Creator.

   

2)Yes, .cyacd file contains the metadata also.

   

Thanks,

   

Hima

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Hima,

I've been using PSoC Creator 3.3. Looks like there is a 4.0 now, so I'm going to try that one.

The Get Flash Size is returning row 81(0x51) when I call it. The problem is looking at the .cyacd file that is generated the first row ID is 80(0x50), so when I run my program its failing the valid row check. I'm wondering if it makes sense that to get around this that I can just add 1 to all the row IDs in my .cyacd file as they get parsed.

I attached an archive. APROM.cyacd is the file.
 

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

All of sudden my row command started giving me the correct row. No clue on the reason. I've noticed that the bootloader keeps failing on the program row command. The response is all FF's which I'm assuming is bad. I attached a picture of example i2c communication. Does anyone have any idea on this?

0 Likes
himam_31
Employee
Employee
50 likes received 25 likes received 10 likes received

Hello,

   

Is it possible for you to increase the delay between sending the Program Row command and reading back the result. It seems like PSoC did not get time to perform FlashWrite operation and get back with the result.

   

Thanks,

   

Hima

0 Likes