启动代码----

[1]孙昊,曹玉强,杜秀芳.ARM处理器启动代码的分析与编程[J].工业控制计算机,2005(11):54-55.
[2]梁斌,司扬,张爱军.ARM处理器启动代码分析与设计[J].青海大学学报(自然科版),2011,29(03):10-14.DOI:10.13901/j.cnki.qhwxxbzk.2011.03.003.
在用户程序运行之前需要有一段启动代码来初始化程序的运行环境。
启动代码大都实现以下功能:异常向量表的定义、堆栈初始化、系统变量初始化、中断系统初始化、地址重映射等。
对于嵌入式系统,上电复位后,总是会从一段ROM里开始执行程序

系统上电复位后

首先执行BOOT LOADER:

将外部 FLASH0X80000000 重映射为逻辑地址0X00000000,简单说 就 是 当 执 行 逻 辑 地 址
0X00000000处的程序时候 ,系统会到实际地址的0X80000000去寻址。
编写ox80000000处的程序作为整个程序的开始。
这部分开始的32个字节是异常向量表:

异常发生时,系统自动跳转到相应的异常执行程序
异常向量表中, 0x00-0x1c  的这段程序只存放每个异常的入口,程序从这个入口跳转到各自的内存去处理异常。
程序如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值