打印
[技术问答]

为什么在IAR中调试时,程序是从__iar_program_start开始执行的?

[复制链接]
4154|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bslxk|  楼主 | 2021-7-29 10:18 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
如题,怎样才能从ResetHandler开始执行?
下图是在不勾选run to main的情况下程序一开始停的位置。vector table是放到0x00003000,调试器是Nu-Link-Pro,芯片是Nano100。

使用特权

评论回复
沙发
jasontu| | 2021-7-29 10:30 | 只看该作者
只能看组语,去看reset hander的位址,设断点

使用特权

评论回复
板凳
bslxk|  楼主 | 2021-7-29 10:42 | 只看该作者
jasontu 发表于 2021-7-29 10:30
只能看组语,去看reset hander的位址,设断点

我在ResetHandler的位置设置断点也不行。好像是跳过了ResetHandler,直接从__iar_program_start开始的。即使我在vector table里把ResetHandler的位置改成0,调试的时候也能正常运行。

使用特权

评论回复
地板
cyclefly| | 2021-8-9 16:34 | 只看该作者
可以了解下启动过程

使用特权

评论回复
5
aple0807| | 2021-8-10 10:45 | 只看该作者
这只是你调试工具的表象,真正想了解内核启动过程,得去看内核技术手册。

使用特权

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

本版积分规则

2

主题

8

帖子

0

粉丝