欢迎来到天天文库
浏览记录
ID:50589027
大小:2.25 MB
页数:130页
时间:2020-03-12
《嵌入式系统设计与实例开发——基于32位微处理器与实时操作.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、嵌入式系统设计与实例开发——基于32位微处理器与实时操作系统第六讲系统初始化分析与C/OS-Ⅱ移植本节提要1嵌入式系统的初始化2C/OS-Ⅱ的移植初始化程序的下载执行目标机宿主机1)通过编程器将可执行目标文件烧写到BootROM(ROM、EPROM、FLASH)等;2)通过串行口和网口下载执行目标文件,要求宿主机系统上有数据传输工具程序、目标机装载器、嵌入式监视器或目标机系统上的调试代理。3)通过JTAG或BDM接口下载;MPUBOOTROMRAM下载工具串口JTAG网口嵌入式系统的初始化过程嵌入式系统的初
2、始化过程(1)硬件初始化阶段1、复位向量ENTRYbResetHandler;fordebugbHandlerUndef;handlerUndefbHandlerSWI;SWIinterrupthandlerbHandlerPabort;handlerPAbortbHandlerDabort;handlerDAbortb.;handlerReservedbHandlerIRQbHandlerFIQ嵌入式系统的初始化过程(2)硬件初始化阶段2、最小硬件初始化1)设置适当的寄存器,使嵌入式处理器处于一个已知的状态:
3、获得CPU的类型;获得或设置CPU的时钟频率。2)禁止中断和高速缓存3)初始化内存控制器、内存芯片和高速缓存单元,包括:得到内存的开始地址;得到内存的大小;如果有要求,则还需要进行主存测试;嵌入式系统的初始化过程(3)硬件初始化阶段3、其余硬件初始化1)引导代码调用合适的函数对目标机系统上的全部硬件部件进行初始化,包括:建立执行处理程序初始化中断处理程序初始化总线接口初始化板级外设得到内存的开始地址;嵌入式系统的初始化过程(4)RTOS初始化阶段4、RTOS初始化1)RTOS初始化2)RTOS对象和服务初始化任
4、务信号量定时器中断内存管理3)RTOS任务堆栈初始化4)RTOS扩展部件初始化5)启动RTOS嵌入式系统的初始化过程(5)应用程序初始化阶段5、应用程序初始化ARM系统初始化的一般过程启动(系统上电/复位)从程序入口点初始化时钟等硬件相关寄存器1、设定PLL2、关中断3、设置其它寄存器初始化存储器系统Flash及SDRAM参数设置初始化C所需要的存储器空间调用C入口函数堆栈初始化一、设置程序入口指针上电复位后直接到程序入口点执行,入口点一般为一个跳转表,跳转到复位处理程序处开始执行ARM系统的初始化;启动程序首
5、先必须定义入口指针,而且整个应用程序只有一个入口指针例:AREABoot,CODE,READONLYENTRY/*设置程序入口指针*/二、设置中断向量ARM要求中断向量必须设置在从OX00000000地址开始,连续8*4字节的地址空间;向量表包含一系列跳转指令,跳转到相应的中断服务程序;对各未用中断,使其指向一个含返回指令的哑函数,以防止错误中断引起系统的混乱;中断向量表FIQ0x1C外部快速中断IRQ0x18一般外部中断(Reserved)0x14保留DataAbort0x10数据异常FrefetchAbor
6、t0x0C预取指异常Softwareint0x08软件中断Undef0x04未定义指令中断Reset0x00复位中断中断向量表的程序AREABoot,CODE,READONLYENTRYBReset_handlerBUndef_HandlerBSWI_HandlerBPreAbort_HandlerB.;forreservedinterrupt,stophereBIRQ_handlerBFIQ_handler三、初始化时钟和设置相关的寄存器通过设置时钟控制器来确定CPU的工作频率,设置中断控制寄存器屏蔽中断设置
7、”看门狗”控制寄存器,关闭”看门狗”关闭Cache四、初始化存储器系统存储器类型和时序配置(参考芯片手册,设置与内存映射相关的寄存器)一个复杂的系统可能存在多种存储器类型的接口,需要根据实际的系统设计对此加以正确配置。对同一种存储器类型来说,也因为访问速度的差异,需要不同的时序设置。通常Flash和SRAM同属于静态存储器类型,可以合用同一个存储器端口;而DRAM因为动态刷新和地址线复用等特性,通常配有专用的存储器端口。存储器端口的接口时序优化是非常重要的,影响到整个系统的性能。因为一般系统运行的速度瓶颈都存在
8、于存储器访问,所以存储器访问时序应尽可能地快;但同时又要考虑由此带来的稳定性问题。只有根据具体选定的芯片,进行多次的测试之后,才能确定最佳的时序配置。存储器地址分布有些系统具有非常灵活的存储器地址分配特性,进行存储器初始化设计的时候一定要根据应用程序的具体要求来完成地址分配。一种典型的情况是启动ROM的地址重映射(remap)。当一个系统上电后程序将自动从0地址处开始执行,因此在系统的
此文档下载收益归作者所有