打印
[ARM入门]

KEIL 编译器问题

[复制链接]
540|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dm8832|  楼主 | 2017-3-4 17:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
      一直使用keil,最近研究了下--use_frame_pointer选项,KEIL会将当前函数的堆栈起始地址(frame pointer)记录到R11,
当进入函数时一般会push {r11,lr},保存调用者的跳转地址和frame pointer,这样形成了一个call stack链表,当程序出现异常时,
就能分析出调用关系。
      问题是,我发现当某个函数里没有调用其他函数时,编译器只push {r11},就没法在堆栈中形成call stack链表,
怎么强制让keil在函数调用时push lr?

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

6

帖子

0

粉丝