map文件分析 stm32_stm32 .icf文件.map文件,汇编文件对照

(1)

929ff6ede82cd46f1dbab7e7503d34b2.png从汇编语句中可以看出中断向量表的位置处于0x08004000。对应.ICF文件中的

define symbol __ICFEDIT_intvec_start__ = 0x08004000;

补充一点:中断向量表就是2条语句做为一个单元,里面存储的就是中断函数的入口地址。我们平时写的中断函数,就可以在某个中断的入口地址下面看到。

(2)

5e506306e7b17770a4c477558aba6f3b.png

define symbol __ICFEDIT_SYS_FUNC_start__ = 0x08004200; //functab

此部分是在0x08004200后插入一段代码,从矢量表中我们可以看出矢量表的最后的地址是0x0800412e。所以从0x08004200开始插入一段代码段(SYS_FUNC)没问题.

(3)

be44df44f78237b2c59904c7b4816c86.png

从ICF文件中设置了SYS_FUN代码段的起始地址0x08004200。该代码段 第一个函数B.W CTR_HP 地址就是0x08004201,汇编文件中最后1位是1(这个问题暂时没搞懂,好像是ARM状态,Thumb状态的问题)。TODO:看《Cortex_M3权威指南》

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值