S3C44B0启动程序详细说明文档及ADS的配置
标题和描述中的知识点聚焦于S3C44B0处理器的启动程序以及使用ARM Developer Suite (ADS)工具链的配置细节。以下是对这些知识点的详细解释: ### S3C44B0启动程序 #### 1. **启动程序概述** - 文件名为`44BINIT.S`,版本日期为2003年1月10日。 - 该程序负责配置内存、初始化中断服务例程(ISR)和堆栈,以及初始化C语言变量。 - 其中包括填充零到所有零初始化的C变量,这是思瑞讯电子在2007年3月30日增加的注释说明。 #### 2. **寄存器和控制块定义** - **中断控制**: 包括`INTPNDEQU0x01e00004`(中断挂起寄存器)、`INTMODEQU0x01e00008`(中断模式寄存器)、`INTMSKEQU0x01e0000c`(中断屏蔽寄存器)等。 - **看门狗定时器**: `WTCONEQU0x01d30000`。 - **时钟控制器**: 包括`PLLCONEQU0x01d80000`(锁相环控制寄存器)、`CLKCONEQU0x01d80004`(时钟控制寄存器)、`LOCKTIMEEQU0x01d8000c`。 - **内存控制器**: `REFRESHEQU0x01c80024`。 #### 3. **预定义常量** - 定义了不同的处理器模式,如`USERMODEEQU0x10`(用户模式)、`FIQMODEEQU0x11`(快速中断模式)、`IRQMODEEQU0x12`(外部中断模式)等。 - `NOINTEQU0xc0`表示屏蔽中断。 #### 4. **条件编译** - 通过检查是否使用`tasm.exe`来设定全局逻辑变量`THUMBCODE`,进而决定编译模式是Thumb还是ARM。 #### 5. **宏定义** - 定义了用于中断服务例程加载的宏,如`$HandlerLabelHANDLER$HandleLabel`,用于将中断服务程序的入口地址装入程序计数器(PC)中,提高中断处理效率。 ### ADS配置 #### 1. **编译模式选择** - ADS工具链允许通过条件编译指令设定编译模式为Thumb或ARM。 #### 2. **中断处理模式** - **向量中断模式**: 当CPU读取IRQ中断指令时,系统直接跳转到特定地址的中断服务程序,提高中断响应速度。 - **非向量中断模式**: 传统中断处理方法,所有中断都跳转到统一的中断处理函数,通过读取中断挂起寄存器判断中断源。 #### 3. **堆栈配置** - 指出ADS仅支持FD(满递减)型堆栈,这可能影响中断处理的堆栈管理策略。 S3C44B0启动程序详细说明了处理器的初始化流程,包括硬件资源的配置、中断管理以及C语言变量的初始化。同时,对ADS的配置提供了对编译模式的选择指导以及对不同中断处理模式的理解,这对于嵌入式系统的开发人员来说是非常宝贵的资料,有助于他们更深入地理解S3C44B0处理器的工作原理和编程实践。
剩余22页未读,继续阅读
- Troy_lee2013-11-27资料可以,很好
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- whl@pip install pyaudio ERROR: Failed building wheel for pyaudio
- Constantsfd密钥和权限集合.kt
- 基于Java的财务报销管理系统后端开发源码
- 基于Python核心技术的cola项目设计源码介绍
- 基于Python及多语言集成的TSDT软件过程改进设计源码
- 基于Java语言的歌唱比赛评分系统设计源码
- 基于JavaEE技术的课程项目答辩源码设计——杨晔萌、李知林、岳圣杰、张俊范小组作品
- 基于Java原生安卓开发的蔚蓝档案娱乐应用设计源码
- 基于Java、Vue、JavaScript、CSS、HTML的毕设设计源码
- 基于Java和HTML的CMS看点咨询系统设计源码