嗨对话框
我我的alg lib文件添加到项目中。大小超过限制。你能告诉我如何设置来解决这个问题。
* * *使用编译器V5.06更新6(750年建立),文件夹:“C: \ Keil_v5 \手臂\ 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执行范围(0 x20000440 0 x2000845c)与执行地区RW_IRAM50执行范围[0 x20008000, 0 x20008888)。
没有足够的信息来产生一个SYMDEFs文件。
完成:1信息,2 0警告和错误消息。
”。\ out_580 \ prox_reporter_580。axf”——2错误(s), 0警告(s)。
没有创建目标。
关键词:
设备:
嗨lewuyouc,
这意味着您的代码超过限制。你是哪个优化级别使用的二进制映像的大小?
谢谢,PM_Dialog
嗨PM_Dialog
使用优化:Level3 (o3), C99模式。我16 kb alg lib . lib文件,添加我alg自由代码之前6296多,内存:1764年,罗:6368。
如果没有我alg自由,prox_reporter_580。十六进制文件74 kb,程序大小:代码= 23996 RO-data = 2312 RW-data = 576 ZI-data = 7592
谢谢你的回放!
lewuyouc
嗨lewuyouc,
DA14580内存有限,大部分图像代码应该适应ER_IROM5 31.424字节,如果你超过了限制,那么链接器将无法连接您的项目。可能的快速解决方案是改变的大小ER_IROM5从0 0 x7bc0 x7ac0,这会给你0 x100字节(256字节)。的限制是无法从OTP引导。从你,我可以看到您的固件的大小是32796字节,所以你需要1372字节。
另一个解决方案,不是直接将重新scatterfile为了提供一个更大的应用程序。你可以尝试以下步骤考虑到您正在使用扩展的睡眠和你的代码不会OTP驻留。你不能使用OTP。
1。增加ER_IROM5通过改变scatterfile和设置ER_IROM5 ER_IROM5 x20000440 0 x7bc0获得0 xff空间。
2。增加的代码空间ER_IROM5通过移除RW_IRAM50并添加ER_IROM5部分的可用空间。你也可以移动RW_IRAM51在不同的地址。是一个可能的候选人包括非保留堆ZI_RET20部分。这样一个连续的内存区域从0 x20000440到0 x20009000近35 kb将源代码和RW数据。为了实现这个遵循以下说明。
删除RW_IRAM50和RW_IRAM51部分
b。改变的大小ER_IROM5 ER_IROM5 0 x20000440 (0 x9000 - 0 x440)
c。非保留堆将被移动,在ZI_RET20说,通过添加以下行jump_table.o ZI_RET20定义(heap_mem_area_not_ret)。
请检查嗯- b - 011 DA14580内存映射和散射文件文档获取更多的信息关于内存映射和分散的文件。
总之,我建议你去看看家人和我们的新SDK6 DA14585/6产品。这个产品家族是理想的产品添加蓝牙低能量像遥控器一样,距离标记,灯塔,医疗设备和智能家居节点连接。亚博电竞菠菜它支持所有蓝牙发展包括蓝牙5和蓝牙低能量网格。另外,96 kB的RAM, DA14585&6记忆用户的两倍。DA14585/6支持门户网站,你可以找到各种各样的软件实例和用户手册,将真正帮助你开始。
谢谢,PM_Dialog