打印
[ZLG-ARM]

关于复位和函数指针指向地址0X0000

[复制链接]
1851|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
iamalux|  楼主 | 2008-9-24 14:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这两者没有关系? 复位后程序从地址0X0000处开始执行,所有寄存器进入默认状态(如GPIO设置为默认输入);用函数指针的方式指向0X0000处执行,寄存器其实是不变的,(即便0X0000处放的是复位向量), 复位是硬件上的一个复位(无论是RST或看门狗导致复位),所以会寄存器改变。而用函数指针的方式指向0X0000整个过程中没有复位,系统未掉电,所以不改变。 是这样的吗?

相关帖子

沙发
zlgarm| | 2008-9-24 16:38 | 只看该作者

RE:iamalux

您好!
您的分析基本正确,其实复位后在运行用户程序之前还运行了芯片内的一段Boot Block程序,它会完成系统的初始化。如果直接使用指针指向0x00处的话,这段代码是不会运行的。

使用特权

评论回复
板凳
iamalux|  楼主 | 2008-9-25 09:41 | 只看该作者

:)

谢谢。您说的就是复位后要不要ISP啊或者搜有效用户程序 那段代码了

使用特权

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

本版积分规则

1

主题

2

帖子

0

粉丝