嵌入式CPU的启动方式和启动地址

 

嵌入式 CPU 的启动方式和启动地址

sailor_forever  sailing_9806#163.com

http://blog.csdn.net/sailor_8318/archive/2009/09/20/4573932.aspx

 

CPU上电后从哪里开始执行第一条指令?

答案可是千差万别 或许这是嵌入式 CPU区别于 X86等桌面处理器的一大特点

具体从哪启动是取决于何种 CPU类别和型号的,总体来说有两个因素:

 

1、启动方式
有些 CPU有多种启动方式,不同启动方式的启动设备是不一样的
典型的有片内 ROM启动,片外 flash启动 (又分为并口 /SPI等不同的接口形式 ),片外 EEPROM启动甚至是 RAM启动
AT91RM9200就有片内 ROM启动和片外并口 flash启动
TI F2812就有并口 flash启动和 IIC EEPROM启动
TI C6416只有 RAM启动,需要主控 CPU将程序下载到 RAM中,再触发复位
TI C6488启动方式更是多达五六种 每种都有不同的适用场合 可见多么强大
PPC440启动方式更是多达 8
 
那么这么多种复杂的启动方式是如何选择的呢
通常都是通过硬件管脚控制的 可以设置跳线选择不同的启动方式
CPU上电时会对这些管脚进行采样 选择相应的启动方式
但是大部分 CPU通常都只有一种启动方式 即从并口 flash启动
 
2、启动地址
选择了某种启动方式后,启动地址通常都是固定的
ARM系统无论从何种设备启动都是从 0地址开始运行的
PowerPC通常是 0x100或者 0xFFF00100,如 Freescale MPC82xx系列
为什么有两种呢?默认是从 0xFFF00100启动,但是里面有程序后,可配置为从 0x100启动
也有从 0xFFFFFFFC启动的,如 E500 IBM PPC405GP 440,只有 4个字节,通常这里是一个跳转指令
MIPS也有从 0x1fc0 0000启动的
至于 DSP,那就更复杂了
 
总体来说,嵌入式 CPU为了使用特定场合的应用 启动设备繁多
但是 ARM的启动方式和启动地址是最简单的了
DSP最复杂 PowerPC有单一的也有多种启动方式的

 

另附一个参考文档

http://blog.mcuol.com/User/emblinux/Article/13496_1.htm

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值