44B0启动程序及ADS配置详解

需积分: 9 2 下载量 144 浏览量 更新于2024-08-01 收藏 131KB DOC 举报
"44B0启动程序详细说明文档及ADS配置" 该文档详细阐述了44B0启动程序的实现过程以及相关的ADS(ARM Development Studio)配置。启动程序是微控制器或处理器在上电复位后执行的第一段代码,它的主要任务是初始化系统硬件,配置内存,设置中断服务例程(ISR),初始化堆栈和C语言变量,并填充零初始化的C变量。 1. **启动程序功能**: - **配置内存**: 在系统启动时,启动程序会配置内存控制器(如REFRESHEQU 0x01c80024所示),确保内存工作正常。 - **初始化ISR**: 中断控制是启动程序中的重要部分,例如通过INTPNDEQU、INTMODEQU和INTMSKEQU等常量来设定中断使能和模式。 - **设置堆栈**: 堆栈的初始化对于处理函数调用和异常处理至关重要,通常会设置多个堆栈,如用户模式、快速中断模式、中断模式、服务模式等。 - **初始化C-变量**和**填充零初始化变量**: C语言变量的初始化,特别是零初始化变量,是启动程序的常规任务,确保所有未显式初始化的全局变量和静态变量都以零值开始。 2. **寄存器配置**: - **中断控制器**:INTPNDEQU、INTMODEQU和INTMSKEQU定义了与中断相关的寄存器地址,用于管理中断请求和处理。 - **看门狗定时器**:WTCONEQU 0x01d30000是看门狗定时器的基地址,用于系统安全监控,防止程序无限循环或故障时复位设备。 - **时钟控制器**:PLLCONEQU和CLKCONEQU等定义了与系统时钟相关的寄存器,用于设置和控制系统的运行频率。 - **内存控制器**:REFRESHEQU表示内存刷新寄存器,对DRAM等动态存储器进行刷新操作以保持数据。 3. **处理器模式**: - 文档中提到了几种ARM处理器的工作模式,如USERMODE、FIQMODE、IRQMODE、SVCMODE、ABORTMODE和UNDEFMODE,这些模式对应处理器处理不同类型的中断和服务请求时的状态。 4. **ADS配置**: - 虽然文档没有详细描述ADS的具体配置步骤,但可以推断,配置可能涉及到设置目标硬件、链接器脚本、编译选项,以及调试设置等,以确保程序能够正确编译、链接并运行在44B0处理器上。 5. **汇编语法**: - 使用了TASM汇编器的特定语法,如GBLLTHUMBCODE定义了一个全局逻辑变量THUMBCODE,这表明程序至少部分是用 Thumb 指令集编写的,Thumb 是 ARM 架构的一种节能型指令集。 6. **代码注释**: - 注释表明该文档经过了思瑞讯电子的更新,增加了2007年3月30日的注释,这提供了更多的背景信息和理解代码的线索。 以上内容详述了44B0启动程序的主要功能和配置,对于理解基于ARM架构的微控制器的启动流程和系统初始化具有指导意义。