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

PSoC™ 4 Forum Discussions

D_Sd_3235936
Level 4
Level 4
25 sign-ins 50 questions asked 25 replies posted

referring to this older post: How do I locate a variable in the checksum exclude region for a bootloadable app

ReadMe.PNG

what is 0x7ff00?

How does it correlate to the other numbers in the example (128, 254..)?

How does it correlate to the example in the document?

pastedImage_2.png

0 Likes
1 Solution
GeonaP_26
Moderator
Moderator
Moderator
250 solutions authored 100 solutions authored 50 solutions authored

Bootloader and bootloadable project reserve the last flash row for metadata. The 128 bytes of checksum exclude memory section will be placed from the second last flash row. CY8C4245AXI has 32kB flash with each flash row of size 128 bytes. rom (rx) is from 0 to 0x00007FFF. Hence, second last flash row starts from 0x00007F00. You can refer to the .map file for more details;

.cy_checksum_exclude

                0x00007f00       0x80

*(.cy_checksum_exclude)

.cy_checksum_exclude

                0x00007f00       0x80 .\CortexM0\ARM_GCC_541\Debug\main.o

                0x00007f00                byteArray

                0x00000080                cy_checksum_exclude_size = (CY_APPL_LOADABLE == 0x1)?SIZEOF (.cy_checksum_exclude):0x0

                0x00000001                ASSERT ((cy_checksum_exclude_size <= CY_CHECKSUM_EXCLUDE_SIZE), CY_BOOT: Section .cy_checksum_exclude size exceedes specified limit.)

                0xf0000000                cyloadermeta_start = (cy_project_type_bootloader || cy_project_type_app_for_stack_and_copier)?(LENGTH (rom) - CY_METADATA_SIZE):0xf0000000

Suppose you configure 256 bytes of checksum exclude size, it will start from 0x00007E80.

View solution in original post

0 Likes
1 Reply
GeonaP_26
Moderator
Moderator
Moderator
250 solutions authored 100 solutions authored 50 solutions authored

Bootloader and bootloadable project reserve the last flash row for metadata. The 128 bytes of checksum exclude memory section will be placed from the second last flash row. CY8C4245AXI has 32kB flash with each flash row of size 128 bytes. rom (rx) is from 0 to 0x00007FFF. Hence, second last flash row starts from 0x00007F00. You can refer to the .map file for more details;

.cy_checksum_exclude

                0x00007f00       0x80

*(.cy_checksum_exclude)

.cy_checksum_exclude

                0x00007f00       0x80 .\CortexM0\ARM_GCC_541\Debug\main.o

                0x00007f00                byteArray

                0x00000080                cy_checksum_exclude_size = (CY_APPL_LOADABLE == 0x1)?SIZEOF (.cy_checksum_exclude):0x0

                0x00000001                ASSERT ((cy_checksum_exclude_size <= CY_CHECKSUM_EXCLUDE_SIZE), CY_BOOT: Section .cy_checksum_exclude size exceedes specified limit.)

                0xf0000000                cyloadermeta_start = (cy_project_type_bootloader || cy_project_type_app_for_stack_and_copier)?(LENGTH (rom) - CY_METADATA_SIZE):0xf0000000

Suppose you configure 256 bytes of checksum exclude size, it will start from 0x00007E80.

0 Likes