ARM9启动流程详解:AT91RM9200芯片实例
需积分: 13 196 浏览量
更新于2024-09-09
收藏 226KB PDF 举报
ARM9启动机制是一个关键的系统初始化过程,它确保了ARM架构的设备能在上电或复位后正确加载并执行预设程序。当ARM系统如ATEM公司的AT91RM9200芯片启动时,这个过程涉及到几个关键步骤。
首先,当ARM9处理器启动时,程序会自动从0x00000000地址(通常称为复位地址)开始执行。这个地址通常是固定的,不论设备是从内部ROM还是外部存储介质加载。对于AT91RM9200,它可以支持两种启动模式:内部启动和外部启动。
1. 内部启动:这是指处理器直接从集成的ROM中读取和执行代码。AT91RM9200通过启动模式选择器,允许用户选择内部ROM作为启动源,此时芯片自带的固件程序会被执行,通常包含引导装载程序和系统配置信息。
2. 外部启动:在这种模式下,ARM9处理器会从连接到NCS0(Non-Volatile Memory Controller)接口的外部设备(如外部ROM或Flash)加载程序。外部启动通常采用通用的引导程序,如u2boot,它负责定位并加载目标应用程序。u2boot是一个开源的、可移植的启动加载器,它能管理不同类型的外部存储,并确保程序正确加载到处理器的内存中。
为了实现从不同设备启动,ARM系统利用地址重映射技术。这意味着处理器的地址空间可以被动态地映射到实际的外部设备上,这样无论启动源是内部还是外部,都能确保程序正确地定位并执行。
在移植u2boot到AT91RM9200这样的设备时,开发者需要确保引导加载器能够识别和处理该芯片特有的架构特性,例如内存布局、中断向量表的位置等。同时,他们还需要适配u2boot以适应AT91RM9200的启动流程和配置选项。
ARM9启动机制涉及硬件配置、引导程序的选择和配置、以及地址映射的管理,这些都对系统的可靠性和性能有着重要影响。理解并掌握这一过程对于设计和维护基于ARM9的嵌入式系统至关重要。
137 浏览量
128 浏览量
114 浏览量
103 浏览量
2013-03-31 上传
2009-06-29 上传
114 浏览量
2011-12-18 上传
164 浏览量
LinLink2019
- 粉丝: 0
- 资源: 7
最新资源
- 微信小程序-点餐
- ionicStudyWithTabs:带有 ngCordova 的离子模板项目
- note-taker
- XIANDUAN.rar
- 一种基于高通量测序的拷贝数变异检测自动化分析解读及报告系统.rar
- rasaxproject1
- GitHub Open All Notifications-crx插件
- gatsby-remark-component-images:一个Gatsby注释插件,将gatsby-plugin-sharp处理应用于html样式的markdown标签
- 易语言开关音频服务实现开关声音-易语言
- ComposeKmmMoviesApp
- HistogramComponentDemo.7z
- UA GPU-able Search-crx插件
- MYSQL数据库管理器(易语言2005年大赛三等奖)2010-10-27.rar
- native-api-notification-[removed]JavaScript中的本机通知API
- 将超像素作为输入MATLAB代码-laplacianseg:种子图像分割的拉普拉斯坐标
- MyDroid