img file size is different between sdk 1.3.4 and 1.3.3

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

cross mob
hashc_2335011
Level 1
Level 1
First reply posted First question asked Welcome!

When update sdk to 1.3.4, the img file size became bigger. The fx3 project is the one from AN65974. When compiled by sdk 1.3.4, release version img file size is 132KB.

无标题.jpg

But when compiled by sdk 1.3.3, the size of img file is 126KB. Because the size of I2C EEPROM implemented on my board is 128KB, so the img file complied by sdk 1.3.4 cann't be burned successfully.  Then why this phenomenon happened? I noticed that the date when the firmware example in AN65974 created is 2015, so the example is definitely based on an old version sdk. Maybe the reason is that the configuration of the example is outdated on the 1.3.4 sdk? If so, how can I gracefully and properly migrate the project to the 1.3.4 version sdk?

0 Likes
1 Solution

Hi Shen,

To compile the libraries with GCC ARM, we can get less memory footprint.

Regards,

Anil Srinivas.

View solution in original post

0 Likes
5 Replies
alamandaa_16
Moderator
Moderator
Moderator
10 likes received First like received

Hello

Shen,

Because of modifications done in updated sdk 1.3.4, slavefifiosync.img file is increased.

Please use higer density EEPROM for new board designs.

Regards,

Anil Srinivas.

0 Likes

Thank you for your reply!!

I also notice some something of the tool chain settings difference between the project in document AN65974 and default template project of the sdk.

When I directly import the project in AN65974, the tool chain settings and Path settings is as below. The tool chain seems to be "ARM Sourcery Windows ......"

pastedImage_0.png

pastedImage_1.png

But when I create a project through the template provided by the sdk,  such settings is different, which listed below. The tool chain seems to be "Cross ARM ........."

pastedImage_2.png

pastedImage_3.png

Then I copied the code from project in AN65974 to the new project directory, so both projects have the exactly same source code. Then the build result of the new project is different. The img file size is only 98kB

pastedImage_4.png

So why this two projects which has the same code lead to such a different result? What's the differences between these settings?

0 Likes

Hi Shen,

It seems that cypress has changed the library file path on the latest SDK and i assume they wanted to provided the support for building the older versions SDK projects as well. In your case the IDE refers to wrong path and used wrong libraries, that why the file size got increased.

Its advised to create a new project on the new SDK when you are porting from older SDK to new one. After seeing this significant amount of size difference, the new SDK libraries were well optimized. Have you checked the tested the functionality with the new firmware binary with less size ? Is it working with out any issues ?

Thanks & Regards,
Shanthakumar

0 Likes

Hi Shen,

To compile the libraries with GCC ARM, we can get less memory footprint.

Regards,

Anil Srinivas.

0 Likes
shkuc_292731
Level 3
Level 3

Hi Shen,

Cypress might have added new api's and some debug messages on the SDK libraries for the new SDK.

The optimal solution would be you can find a drop-in replacement for the EEPROM with 256kbsize and replace them on the boards.

Thanks & Regards,
Shanthakumar

0 Likes