TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2640R2F 1.50.00.58版SDK生成的bin和hex文件体积太大

各位大侠好,

我正在使用CC2640R2F 1.50.00.58版的开发包,目前碰到一个问题,编译后生成的hex和bin文件体积太大,hex文件有790KB,bin文件则有281KB(包含Stack和App),这就导致无法使用SmartRF Flash Programmer 2(v1.7.5)写入CC2640R2F芯片内。

但1.30.00.25版的开发包生成的App文件.hex格式只有199KB,Stack文件.hex格式只有83KB,二者总和远小于1.50.00.58版的790KB,并且可以使用SmartRF Flash Programmer 2写入。

不知道有什么手段可以在使用v1.50.00.58版SDK的前提下,减小编译出的文件体积?

谢谢

附上完整的Memory Map:

ble_simple_peripheral_cc2640r2lp_app_FlashROM_StackLibrary_map.txt

Build Log:

BuildLog.txt

Viki Shi:

都是同样例程的话相差不会太大,是否有做修改?

user4917449:

回复 Viki Shi:

App是相同的,唯一不同点只是换了SDK版本(为解决死机问题,从1.30.00.25升级到了1.50.00.58,目前功能没发现问题,并且不再死机,只是不能用SmartRF Flash Programmer 2正常写入,必须依赖IAR)。 P.S. 我试着编译了TI开发包内最原始的"Simple_Peripheral"范例程序,它编译出来的体积仍然高达171KB(v1.50.00.58版SDK,App与Stack合二为一),无法被SmartRF Flash Programmer 2正常写入。是否我在工程选项中漏了什么设定?

da qin zheng sheng:

使用iar还是ccs,版本是多少?

xyz549040622:

以bin文件的大小为标准进行对比,这才是真实的文件大小,后者bin文件大小是多少呢?应该是一样的,.hex文件中包含了调试信息。

user4917449:

回复 da qin zheng sheng:

IAR 8.11.2

user4917449:

回复 Eggsy Pang:

map的文件在何处?我去看看

user4917449:

回复 xyz549040622:

谢,我试着编译一下吧。之前在使用v1.30.00.25时并未导出bin。

user4917449:

回复 Susan Yang:

谢。我检查了一下,map文件显示编译出来的程序代码加上只读数据,连100KB都不到(主程序+Stack总大小)

IAR ELF Linker V8.11.2.13589/W32 for ARM Copyright 2007-2017 IAR Systems AB.
Warning[Lt009]: Inconsistent wchar_t size fusion_9axis.o(libmpllib.a) and 3 other objects have wchar_t size 16 bits arrayUtil.o and 160 other objects have wchar_t size 32 bits 86 327 bytes of readonlycode memory 11 507 bytes of readonlydata memory 12 216 bytes of readwrite data memory
Errors: none
Warnings: 1

不过编译出来的.bin文件却有281KB,不知道多出来的181KB是什么地方设置出了问题。(根据icf和map的内容推断,其代码大小应该是足够放入128KB(0x00000000 – 0x0001FFFF)中的,并且Debug模式下直接烧入Flash,显示大小仅为93KB)

我把完整的BuildLog和Map文件在这里放一下:
BuildLog链接: pan.baidu.com/…/1gIOF1d5L9OxW55dKG47mRQ 密码: tc25
MemoryMap链接: pan.baidu.com/…/1gIOF1d5L9OxW55dKG47mRQ 密码: 5ydg

赞(0)
未经允许不得转载:TI中文支持网 » CC2640R2F 1.50.00.58版SDK生成的bin和hex文件体积太大
分享到: 更多 (0)