ARM9启动流程详解:AT91RM9200芯片实例
需积分: 13 94 浏览量
更新于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的嵌入式系统至关重要。
2011-03-19 上传
2010-01-04 上传
2010-01-22 上传
2012-05-20 上传
2009-06-29 上传
2013-03-31 上传
2009-04-19 上传
2011-12-18 上传
2010-04-27 上传
Sheva_Chen
- 粉丝: 0
- 资源: 7
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍