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

cross mob
Anonymous
Not applicable

We meet one problem when developing our application,
issue:
We allocate a 8KB global (.bss) array in our app. and still find free memory is available ~ 5KB.
and in first download the build is ok and system can boot up and run. However, if we try to add code
to access this array and download image again (2nd download) and it show download failure and we need to use image recover
to recover the boot code or we can not download image anymore.

Symptom:

It seems system limit a threshold size one it excesses, if code tries to access this array, it will destroy to be failed download
next time or violate system memory map region (overlap or something..)

=== failed image after adding 8K array:

Patches start at                  0x00204568 (RAM address)

Patches end at                    0x00204AFC (RAM address)

Application starts at             0x00204974 (RAM address)

Application ends at               0x0020A900 (RAM address)

Total RAM footprint                    25496 bytes (24.9kiB)

===

=== original ok image:

Patches start at                  0x00204568 (RAM address)

Patches end at                    0x00204AFC (RAM address)

Application starts at             0x00204974 (RAM address)

Application ends at               0x00208904 (RAM address)

Total RAM footprint                    17308 bytes (16.9kiB)

===

Dont know where to adjust our system map and i check the ram-spar list
0x00208900                test_buf and this buffer is allocated in rational area...

0 Likes
1 Solution

This is a known issue with SDK 2.0.1 when the application size reaches ~16KB. Upgrade to 2.1.0 (or above in the future) for the fix. The workaround for SDK 2.0.1 is to always recover instead of download (see the recovery procedure in the quick start guide).

View solution in original post

4 Replies