IAR---静态库+符号信息导出

工作中遇到需要将某个公用 IAR工程a 生成符号输出,被其他4个工程调用。

a.icf 要求其 ROM,RAM空间足够大
define symbol ICFEDIT_region_ROM_start = 0x0000C000;
define symbol ICFEDIT_region_ROM_end = 0x0000BFFF;
define symbol ICFEDIT_region_RAM_start = 0x2000FE00;
define symbol ICFEDIT_region_RAM_end = 0x2000FFFF;
但是堆/栈大小为0.
define symbol ICFEDIT_size_cstack = 0x0;
define symbol ICFEDIT_size_heap = 0x0;

自己的理解:ROM空间存放 .intvect .text .rodata .data这些(启动时将 .data段 由ROM复制到RAM中),在编译链接中即可以判断大小是否够用。而 堆/栈大小是否够用则需要到程序运行起来后才能判断出来。而a工程所需的 堆/栈可由调用者(其他4个工程)提供。

1. 参考了IAR官网的介绍

使用 IAR isymexport 从一个工程输出符号到另一个工程
https://www.iar.com/knowledge/support/technical-notes/linker/using-isymexport-to-export-symbols-const-data-from-one-project-to-another/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值