程序首地址

2019-07-20 03:49发布

为什么程序从0x8000000 开始跑呢, 为什么不是0x00?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
Electronic
1楼-- · 2019-07-21 01:31
 精彩回答 2  元偷偷看……
sammy902583
2楼-- · 2019-07-21 01:43
本帖最后由 sammy902583 于 2019-2-14 14:49 编辑

的确
0x08000000是Flash的首地址

程序不是从这边开始跑, Flash首位置放置的是Vector Table的内容, 会影射到内存0x00000000的地方.
CPU一开始会运行Reset Exception, 所以会去Vector Table抓Reset vector(也就是内存0x00000004)的内容, 得到CPU真正开始跑程序的位置.
烈日灼心
3楼-- · 2019-07-21 05:04
sammy902583 发表于 2019-2-14 14:47
的确
0x08000000是Flash的首地址

CPU 从0x00最开始就注册中断? 程序的位置是0x8000000 是这样理解么?
edmund1234
4楼-- · 2019-07-21 09:35
 精彩回答 2  元偷偷看……

一周热门 更多>