您的位置:首页 > 其它

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

2009-09-20 22:15 281 查看
嵌入式

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: