基于ARM9的BootLoader启动设计说明

上传人:l**** 文档编号:149041601 上传时间:2020-10-24 格式:DOC 页数:13 大小:151KB
返回 下载 相关 举报
基于ARM9的BootLoader启动设计说明_第1页
第1页 / 共13页
基于ARM9的BootLoader启动设计说明_第2页
第2页 / 共13页
基于ARM9的BootLoader启动设计说明_第3页
第3页 / 共13页
基于ARM9的BootLoader启动设计说明_第4页
第4页 / 共13页
基于ARM9的BootLoader启动设计说明_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《基于ARM9的BootLoader启动设计说明》由会员分享,可在线阅读,更多相关《基于ARM9的BootLoader启动设计说明(13页珍藏版)》请在金锄头文库上搜索。

1、 . . . . . . . 学院 课程设计报告 课程名称:课程名称: 嵌入式系统原理与应用技术嵌入式系统原理与应用技术 设计题目设计题目: Bootloader 程序设计 系系 别:别: 计算机系 专专 业:业: 计算机科学与技术 组组 别:别: 第 7 组(伟伟、王富涌) 学生学生: : 伟伟 学学 号号: : 08407106 起止日期起止日期: : 2011 年 12 月 15 日 - 2011 年 12 月 22 日 指导教师指导教师: : 丽丽 . . . . . . . 目录 第一章 概述.1 1.1 课程设计名称 .1 1.2 课程设计目的 .1 1.3 要求 .1 第二章 背

2、景分析.1 2.1 BOOTLOADER的概念.1 2.2 BOOTLOADER的主要任务与典型结构框架.1 第三章 BOOTLOADER 串口驱动程序的设计 .2 4.1 UART 寄存器简介.2 4.2 UART 串口工作原理.5 4.3 UART 驱动程序详细设计.5 第四章 总结.9 参考文献.10 . . . . . . . 第一章 概述 1.1 课程设计名称 BootLoader 程序设计 1.2 课程设计目的 串口驱动和网口驱动程序的设计,可以通过串口或网口接收数据或文件, 并且可以写到 flash 中 1.3 要求 编写 BootLoader 程序 uart.h uart.c

3、串口驱动测试程序 main.c 第二章 背景分析 2.1 BootLoader 的概念 简单地说,BootLoader 就是在操作系统核运行之前运行的一段小程序。通 过这段小程序,可以初始化硬件设备、建立存空间的映射图,从而将系统的软 硬件环境带到一个合适的状态,以便为最终调用操作系统核准备好正确的环境。 2.2 BootLoader 的主要任务与典型结构框架 从操作系统的角度看,BootLoader 的总目标就是正确地调用核来执行。 另外,由于 BootLoader 的实现依赖于 CPU 的体系结构,因此大多数 BootLoader 都分为 stage1 和 stage2 两大部分。依赖于

4、CPU 体系结构的代码, 比如设备初始化代码等,通常都放在 stage1 中,而且通常都用汇编语言来实现, 以达到短小精悍的目的。而 stage2 则通常用 C 语言来实现,这样可以实现更复 杂的功能,而且代码会具有更好的可读性和可移植性。 BootLoader 的 stage1 通常包括一下步骤(以执行的先后顺序): (1)硬件设备初始化。 (2)为加载 BootLoader 的 stage2 准备 RAM 空间。 . . . . . . . (3)复制 BootLoader 的 stage2 到 RAM 空间中。 (4)设置好堆栈。 (5)跳转到 stage2 的 C 入口点。 BootL

5、oader 的 stage2 通常包括一下步骤(以执行的先后顺序): (1)初始化本阶段要使用的硬件设备。 (2)检测系统存映射。 (3)将 kernel 映像和根文件系统映像从 Flash 上独到 RAM 空间中。 (4)为核设置启动参数。 (5)调用核。 第三章 BootLoader 串口驱动程序的设计 3.1 UART 寄存器简介 S3C2440AUART 控制器,提供 3 个独立的异步串行 I/O 端口,每个端口都可 以在中断模式或 DMA 模式下工作。UART 可以产生中断请求或 DMA 请求,以便在 CPU 和 UART 之间传输数据。在使用系统时钟的情况下,UART 可以支持最高

6、 115.2Kbps 的传输速率。如果外部设备通过 UEXTCLK 为 UART 提供时钟,那么 UART 的传输速率可以更高。每个 UART 通道包含两个用于接收和发送数据的 16 字节的 FIFO 缓冲寄存器。 由于 UART 是串行异步通信方式,因此在 UART 通信过程中每次只能传输 1 位(bit),若干位组成一个数据帧(frame),帧是 UART 通信中最基本单元,它主 要包含开始位、数据位、校验位(如果开启了数据校验,要包含校验位)和停止 位。UART 在通信之前要在发送端和接受端约定好帧的结构,也就是约定好传输 数据帧格式。 (1) 开始位:必须包含在数据帧中,表示一个帧的开

7、始。 (2) 数据位:可选 5、6、7、8 位,该长度可由编程人员指定。 (3) 校验位:如果在开启了数据校验时,该位必须指定。 (4) 停止位:可选 1、2 位,该位长度可由编程人员指定。 通信双方约定好帧格式后,指定同一波特率,以保证双方数据传输的同步。 . . . . . . . UART 串口驱动需要设置的寄存器及其具体特性如表 4-1表 4-8 所示: 表 3-1 UART0 串行控制寄存器(ULCON0) 寄存器名地址是否读写描述复位默认值 ULCON00 x50000000R/W 串口 0 串行控制寄存器 0 x00 ULCON0 位描述初始值 保留 70 红外模式 6 选择串口

8、 0 是否使用红外模式: 0 = 正常通信模式 1 = 红外通信模式 0 校验模式 5:3 设置串口 0 在数据接收和发送时采用的校验方式: 0 xx = 无校验 100 = 奇校验 101 = 偶校验 110 = 强制校验/检测是否为 1 111 = 强制校验/检测是否为 0 000 停止位 2 设置串口 0 停止位数: 0 = 每个数据帧一个停止位 1 = 每个数据帧二个停止位 0 数据位 1:0 设置串口 0 数据位数: 00 = 5 个数据位 01 = 6 个数据位 10 = 7 个数据位 11 = 8 个数据位 00 表 3-2 UART0 串口控制寄存器(UCON0) 寄存器名地址

9、是否读写描述复位默认值 UCON00 x50000004R/W 串口 0 控制寄存器 0 x00 UCON0 位描述初始值 FCLK 分频因 子 15:12 当 UART0 选择 FCLK 作为时钟源时,设置其 FCLK 的分频因子 UART0 工作时钟频率 = FCLK/FCLK 分频因子 + 6 0000 UART 时钟源 选择 11:10 选择 UART0 的工作时钟 PCLK,UEXTCLK,FCLK/n: 00,10 = PCLK 01 = UEXTCLK 11 = FCLK/n 00 发送数据中 断产生类型 9 设置 UART0 中断请求类型,在非 FIFO 传输模 式下,一旦发送

10、数据缓冲区为空,立即产生中 断信号,在 FIFO 传输模式下达到发送数据触 发条件时立即产生中断信号: 0 = 脉冲触发 1 = 电平触发 0 接收数据中 断产生类型 8 设置 UART0 中断请求类型,在非 FIFO 传输模 式下,一旦接收到数据,立即产生中断信号, 在 FIFO 传输模式下达到接收数据触发条件时 立即产生中断信号: 0 = 脉冲触发 1 = 电平触发 0 接收数据超 时 7 设置当接收数据时,如果数据超时,是否产生 接收中断: 0 = 不开启超时中断 1 = 开启超时中断 0 . . . . . . . 接收数据错 误中断 6 设置当接收数据时,如果产生异常,如传输中 止,

11、帧错误,校验错误时,是否产生接收中断: 0 = 不产生错误状态中断 1 = 产生错误状态中断 0 回送模式 5 设置该位时 UART 会进入回送模式,该模式仅 用于测试 0 = 正常模式 1 = 回送模式 0 发送终止信 号 4 设置该位时,UART 会发送一个帧长度的终止信 号,发送完毕后,该位自动恢复为 0 0 = 正常传输 1 = 发送终止信号 0 发送模式 3:2 设置采用哪个方式执行数据写入发送缓冲区 00 = 无效 01 = 中断请求或查询模式 10 = DMA0 请求 00 接收模式 1:0 设置采用哪个方式执行数据写入接收缓冲区 00 = 无效 01 = 中断请求或查询模式 1

12、0 = DMA0 请求 0 表 3-3 UART FIFO 控制寄存器(UFCON0) 寄存器名地址是否读写描述复位默认值 UFCON00 x50000008R/W 串口 0 FIFO 控制寄存器 0 x00 UFCON0 位描述初始值 发送数据 触发级别 7:6 设置 FIFO 发送模式的触发级别: 00 = FIFO 为空触发 01 = 16 字节触发 10 = 32 字节触发 11 = 48 字节触发 0 接收数据 触发级别 5:4 设置 FIFO 接收模式的触发级别: 00 = FIFO 为空触发 01 = 16 字节触发 10 = 32 字节触发 11 = 48 字节触发 00 保留

13、 30 发送 FIFO 重置 2 在重置 FIFO 后自动清除发送缓冲区 0 = 正常模式 1 = 自动清除 0 接收 FIFO 重置 1 在重置 FIFO 后自动清除接收缓冲区 0 = 正常模式 1 = 自动清除 0 启用 FIFO 0 0 = 不启用 FIFO 1 = 启用 FIFO 0 表 3-4 UART MODEM 控制寄存器(UMCON0) 寄存器名地址是否读写描述复位默 认值 UMCON00 x5000000CR/W 串口 0 MODEM 控制寄存器 0 x00 UMCON0 位描述初始值 保留 7:5 必须全部置 0 0 AFC 自动 流控 4 0 = 不开启流控 1 = 开启流控 0 保留 3:1 必须全部置 0 000 . . . . . . . 请求发送 0 如果启用 AFC,该位无效,S3C2440A 会自动控制 nRTS,如果不启用 AFC,nRTS 必须由软件控制 0 = 高电平激活 nRTS 1 = 低电平激活 nRTS 0 表 3-5 UART 发送/接收状态寄存器(UTRSTAT0) 寄存器名地址是否读写描述复位默认 值 UTRSTAT00 x50000010R/W 串口 0 发送/接收状态寄存器 0 x06 UTRSTAT0 位描述初始值 发送器为 空 2 当发送缓存寄存器中没有数据要发送且发送移位寄 存器为空时,自动置

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号