xxx.xcl文件把你的代码和数据链接到指定地址,iar的文件夹里面搜搜就能搜到,"-z(code)code=romstart-romend"是说你所有的代码都放置在以romstart为起始地址,romend为终止地址的一段连续的空间内,romstart为0x4000016c,romend为40003fff,貌似是个有16k
flash的arm。上面报错是因为你编译出来的code
size
是0x58b4,已经超过了这个空间,你能做的就是看看能不能缩减代码量。
楼主你好,要想回答你这个问题,首先要搞清楚cc2530的这个bank是什么意思。bank和存储空间有关。
IAR中CC2530的有两种代码模式,Near和Banked。其中Near是普通的51单片机模式,只支持64KB的访问范围。如果你用不到这么大的存储空间,也就是小于64KB的话,那么使用Near模式足够了。而Banked模式一般来说是ZStack使用的模式(当然也可能你需要使用到大于64KB的存储空间时,需要设定为Banked模式),例如ZStack的ROM使用大约在100多KB,因此我们使用ZStack协议栈的话,就必须要将其 Code model设置为“Banked”模式。如下图。
图一
当然,一般来说我们使用cc2530就是要跑Zigbee协议的,因此这里就需要选择Banked,既然你选择的是Banked模式,那么在Linker Config File选项中,就自然而然需要选择lnk51ew_cc2530F256_banked.xcl文件了,一般来说,不管你用不用Banked模式,选择lnk51ew_cc2530F256_banked.xcl文件总比选择lnk51ew_cc2530F256.xcl要更容易避免编译时出现错误。so,选它就对了
图二
码字不易,望能够采纳~
重新修改了STM32的工程代码。所有提示未定义代码都已经确定定义过。
在stm32f10x_confh里面包含stm32f10x_usart。h头文件的代码被注释掉了,把这个注释去掉,重新包含这个头文件就把上面的问题解决了。
xxx。xcl文件把你的代码和数据链接到指定地址,IAR的文件夹里面搜搜就能搜到,“-Z(CODE)CODE=ROMSTART-ROMEND”是说所有的代码都放置在以ROMSTART为起始地址。
ROMEND为终止地址的一段连续的空间内,ROMSTART为0x4000016c,ROMEND为40003fff,貌似是个有16KFLASH的ARM。
扩展资料:
IAR更适合高机动性的现代战争,相比之下M249这个大家伙却很容易暴露目标。交火的时候谁抱着M249就先杀谁已经成了战场生存法则。而IAR长的很像M4,到时候就难以区分。提高存活率,更高效的打击敌军火力,提供更稳妥的班级火力支援。IAR,无限可能。
那IAR到底是不是个理想之选?是,也不是。给战士们一款机q级别的卡宾q是个好的想法。但是,士兵们真正需要的是RRS系统,在全力开火的时候也没有q管过热之虞。
根据最新公布的情况,这批IAR只会取代美国海军陆战队现装备的10,000挺M249中的2000挺,陆战队还将保留着8,000挺M249继续服役。根据计划,在陆战队一线战斗部队的步兵班中的3挺M249中,其中的1挺会被2支IAR所代替,所以装备IAR并不会使陆战队步兵班的火力有所降低。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)