You are here

Bootloader Host Get Flash Size | Cypress Semiconductor

Bootloader Host Get Flash Size

Summary: 4 Replies, Latest post by brendan_merna_1545636 on 02 Dec 2016 10:07 AM PST
Verified Answers: 0
Last post
Log in to post new comments.
brendan_merna_1545636's picture
User
19 posts

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.

brendan_merna_1545636's picture
User
19 posts

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?

 

HIMA's picture
Cypress Employee
203 posts

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

brendan_merna_1545636's picture
User
19 posts

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.
 

brendan_merna_1545636's picture
User
19 posts

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?

Log in to post new comments.