嗨对话框
我将igl lib文件添加到项目。大小超过限制。你能告诉我如何设置该地区来解决问题。
***使用Compiler'V5.06更新6(Build 750)',文件夹:'C:\ Keil_v5 \ ARM \ ARMCC \ Bin'
构建目标'prox_reporter_580'
链接......
。\ out_580 \ prox_reporter_580.axf:错误:l6220e:执行区域er_irom5大小(32796字节)超出限制(31424字节)。区域包含24个字节的填充和1692字节的贴面(总计1716字节的链接器生成内容)。
。\ OUT_580 \ PROX_REPORTER_580.AXF:错误:L6221E:执行区域ER_IROM5具有执行范围[0x20000440,0x2000845C)与执行范围的执行区域RW_IRAM50重叠[0x20008000,0x200088888)。
没有足够的信息来生成Symdefs文件。
完成:1个信息,0警告和2个错误消息。
“。\ out_580 \ prox_reporter_580.axf” - 2错误,0警告。
目标未创建。
关键词:
设备:

嗨Lewuyouc,
这意味着您的代码超出了限制。您使用哪个优化级别是二进制图像的大小?
谢谢,PM_DIALOG.
嗨PM_DIALOG.
使用优化:Level3(-O3),C99模式。我的alg lib .lib文件是16kb,添加我的ALG Lib代码侧6296,比以前更多,RAM:1764,ROM:6368。
如果没有我的alg lib,prox_reporter_580.hex文件是74kb,程序大小:code = 23996 ro-data = 2312 rw-data = 576 zi-data = 7592
谢谢你的重播!
Lewuyouc.
嗨Lewuyouc,
DA14580的内存有限,大多数图像代码应适用于31.424字节的ER_IROM5,如果超过限制,则链接器将无法将您的项目链接。可能的快速解决方案是将ER_IROM5的大小从0x7AC0更改为0x7BC0,这将为您提供0x100字节(256字节)。限制是您将无法从OTP引导。正如我从您所看到的那样,固件的大小为32796字节,因此您需要1372个字节。
另一个不直的解决方案是重新排列散射文件以便提供更大的应用。考虑使用延长睡眠,您可以尝试以下步骤,并且您的代码不会驻留到OTP。再次您将无法使用OTP。
1.通过更改散射文件并将ER_IROM5设置为ER_IROM5 0x20000440 0x7BC0来增加ER_IROM5以获得0xFF空间。
2.通过删除RW_IRAM50并在ER_IROM5部分中添加可用空间来增加ER_IROM5中的代码空间。您也可以在不同的地址中移动RW_IRAM51。包含非保留堆的可能候选者是Zi_Ret20部分。通过执行此源代码和RW数据的0x20000440至0x20009000的连续存储区域将可用于源代码和RW数据。为了实现这一顺序下面的说明。
一种。删除RW_IRAM50和RW_IRAM51部分
湾将ER_IROM5的大小更改为ER_IROM5 0x20000440(0x9000 - 0x440)
C。通过在zi_ret20定义中添加以下行Jump_table.o(heap_mem_area_not_ret),将在zi_ret20中移动,在zi_ret20中移动非保留堆。
请检查一下UM-B-011 DA14580存储器地图和分散文件用于获取有关存储器映射和分散文件的更多信息的文档。
总之,我建议您查看DA14585 / 6产品系列和新的SDK6。本产品系列非常适合将蓝牙低能量添加到遥控器,近距离标签,信标,连接的医疗设备和智能家庭节点等产品中。雷电竞官网登录它支持所有蓝牙开发,包括蓝牙5和蓝牙低能量网。另外,具有96 kB的RAM,DA14585和6为用户提供双重内存。此外,在DA14585 / 6支持门户中,您将能够找到各种各样的软件示例和用户手册,这些示例和用户手册将真正帮助您入门。
谢谢,PM_DIALOG.