欢迎来到天天文库
浏览记录
ID:5700713
大小:192.01 KB
页数:14页
时间:2017-12-22
《毕业论文_基于arm9的bootloader启动设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、长治学院课程设计报告课程名称:嵌入式系统原理与应用技术设计题目:Bootloader程序设计系别:计算机系专业:计算机科学与技术组别:第7组(韩伟伟、王富涌)学生姓名:韩伟伟学号:08407106起止日期:2011年12月15日-2011年12月22日指导教师:刘丽丽目录第一章概述11.1课程设计名称11.2课程设计目的11.3要求1第二章背景分析12.1BootLoader的概念12.2BootLoader的主要任务与典型结构框架1第三章BOOTLOADER串口驱动程序的设计24.1UART寄
2、存器简介24.2UART串口工作原理54.3UART驱动程序详细设计5第四章总结9参考文献10第一章概述1.1课程设计名称BootLoader程序设计1.2课程设计目的串口驱动和网口驱动程序的设计,可以通过串口或网口接收数据或文件,并且可以写到flash中1.3要求编写BootLoader程序uart.huart.c串口驱动测试程序main.c第二章背景分析2.1BootLoader的概念简单地说,BootLoader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,可以初始化硬件设备
3、、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。2.2BootLoader的主要任务与典型结构框架从操作系统的角度看,BootLoader的总目标就是正确地调用内核来执行。另外,由于BootLoader的实现依赖于CPU的体系结构,因此大多数BootLoader都分为stage1和stage2两大部分。依赖于CPU体系结构的代码,比如设备初始化代码等,通常都放在stage1中,而且通常都用汇编语言来实现,以达到短小精悍的目的。而sta
4、ge2则通常用C语言来实现,这样可以实现更复杂的功能,而且代码会具有更好的可读性和可移植性。BootLoader的stage1通常包括一下步骤(以执行的先后顺序):(1)硬件设备初始化。(2)为加载BootLoader的stage2准备RAM空间。(3)复制BootLoader的stage2到RAM空间中。12(1)设置好堆栈。(2)跳转到stage2的C入口点。BootLoader的stage2通常包括一下步骤(以执行的先后顺序):(1)初始化本阶段要使用的硬件设备。(2)检测系统内存映射。(
5、3)将kernel映像和根文件系统映像从Flash上独到RAM空间中。(4)为内核设置启动参数。(5)调用内核。第三章BootLoader串口驱动程序的设计3.1UART寄存器简介S3C2440AUART控制器,提供3个独立的异步串行I/O端口,每个端口都可以在中断模式或DMA模式下工作。UART可以产生中断请求或DMA请求,以便在CPU和UART之间传输数据。在使用系统时钟的情况下,UART可以支持最高115.2Kbps的传输速率。如果外部设备通过UEXTCLK为UART提供时钟,那么UART
6、的传输速率可以更高。每个UART通道包含两个用于接收和发送数据的16字节的FIFO缓冲寄存器。由于UART是串行异步通信方式,因此在UART通信过程中每次只能传输1位(bit),若干位组成一个数据帧(frame),帧是UART通信中最基本单元,它主要包含开始位、数据位、校验位(如果开启了数据校验,要包含校验位)和停止位。UART在通信之前要在发送端和接受端约定好帧的结构,也就是约定好传输数据帧格式。(1)开始位:必须包含在数据帧中,表示一个帧的开始。(2)数据位:可选5、6、7、8位,该长度可由
7、编程人员指定。(3)校验位:如果在开启了数据校验时,该位必须指定。(4)停止位:可选1、2位,该位长度可由编程人员指定。通信双方约定好帧格式后,指定同一波特率,以保证双方数据传输的同步。UART串口驱动需要设置的寄存器及其具体特性如表4-1~表4-8所示:表3-1UART0串行控制寄存器(ULCON0)12寄存器名地址是否读写描述复位默认值ULCON00x50000000R/W串口0串行控制寄存器0x00ULCON0位描述初始值保留70红外模式6选择串口0是否使用红外模式:0=正常通信模式1=红
8、外通信模式0校验模式5:3设置串口0在数据接收和发送时采用的校验方式:0xx=无校验100=奇校验101=偶校验110=强制校验/检测是否为1111=强制校验/检测是否为0000停止位2设置串口0停止位数:0=每个数据帧一个停止位1=每个数据帧二个停止位0数据位1:0设置串口0数据位数:00=5个数据位01=6个数据位10=7个数据位11=8个数据位00表3-2UART0串口控制寄存器(UCON0)寄存器名地址是否读写描述复位默认值UCON00x50000004R/W串口0控制寄存器0x00UC
此文档下载收益归作者所有