嵌入式课程设计报告完整版.docx
《嵌入式课程设计报告完整版.docx》由会员分享,可在线阅读,更多相关《嵌入式课程设计报告完整版.docx(10页珍藏版)》请在第一文库网上搜索。
1、目录前言2一、U-Boot 分析31、引导程序U-Boot第一阶段分析32、引导过程43、程序流程图8二、程序设计8三、心得体会9前言ARM嵌入式处理器已被广泛应用于消费电子厂品、无线通信、网络通信和工业控制等领域。在嵌入式操作系统中,Linux、Vxworks、WinCE三足鼎立,其中Linux由于其开源性、稳定性、安全性、可裁剪性更是一支独秀。在嵌入式系统中,如何实现在ARM平台下Linux操作系统的引导工作是嵌入式技术开发的重要环节。BootLoader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合
2、适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成。比如在一个基于ARM7TDMI core的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader 程序。一、U-Boot 分析嵌入式Linux系统中常用的Bootloader引导程序有U-Boot, redboot, blob和vivii等,其中U-Boot遵循GPL条款的开放源码项目,功能最为强大,U-B
3、oot对PowerPC系列处理器支持最丰富,同时还支持MIPS, x86, ARM, XScale等诸多常用系列的处理器;U-Boot引导程序分为Stagel和Stage2量大部分,Stagel中主要包括设备初始化、中断设置、时间设置和储存器初始化等工作,并且采用汇编语言实现,而一些通用功能大多采用C语言实现,放在Stage2中。1、引导程序U-Boot第一阶段分析Stagel的代码在CPU/arm920t/start. s中定义,它包括从系统上电后在0x00000000地址开始执行的部分。这部分代码系统启动后,从NADA FLASH自动加载到SDRAM中,它包括S3C2410A中寄存器的初始
4、化和将U-Boot的Stage2代码从FLASH拷贝到SDRAMo Stage2的起始地址是在Stagel代码中指定的,被复制到SDRAM后,就从第一阶段跳到这个入口地址,开始执行剩余部分代码;其系统工作图如下:2、引导过程U-Boot启动内核的过程可以分成为两个阶段,但在本次课程设计中我们只对其的第一个阶段代码进行分析。第一阶段的功能主要包括硬件设备初始化,加载U-Boot第二阶段代码到RAM空间,设置好栈,跳转到第二阶段代码入口。第一阶段对应的文件是 cpu/ann920t/start. S 和 board/samsung/mini2440/lowlevel_init. S,当系统上电后第
5、一个链接的是cpu/arm920t/start, o,进而执行其代码。1)设置异常向量,从而保证系统上电后出现异常时,CPU根据异常号在异常向量表中找到对应的异常向量,然后执行异常向量处的跳转指令,CPU就跳转到对应的异常处理程序执行;2)设置CPU模式为SVC模式并将中断禁止位和快中断禁止位置一,从而屏蔽了 IRQ和FIQ中断;mrs rO,cpsrbic rO,rO,#0xlforr r0,r0,#0xd3msr cpsr,rO3)设置控制寄存器地址#if defined(C0NFIG_S3C2410A)tt define pWTCON 0x15300000# define INTMSK
6、0x14400008 /* Interupt-Controller base addresses */# define CLKDIVN 0x14800014 /* clock divisor register */#elif defined(C0NFIG_S3C2410A)# define pWTCON 0x53000000tt define INTMSK 0x4A000008 /* Interupt-Controller base addresses */tt define INTSUBMSK 0x4A00001C# define CLKDIVN 0x4C000014 /* clock di
7、visor register */ttendif4)设置关闭看门狗:LDR R0, =PwtconMOV RI,#0x0STR RI, R0以上代码向看门狗控制寄存器写入0,关闭看门狗。否则在u-Boot启动过程中,CPU将不断重启。5)设置主中断屏蔽寄存器,禁止所以中断,INTMSK是主中断屏蔽寄存器,每一位对应SRCPND (中断源引脚寄存器)中的一位,表明SRCPND相应位代表的中断请求是否被CPU所处理。mov rl, ttOxffffffffIdr rO,二INTMSKstr rl, rO 关闭所有6)设置MPLLCON,UPLLCON, CLKDIVN ,CPU上电几毫秒后,晶振输
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 课程设计 报告 完整版