盐城工学院嵌入式系统课程设计报告.doc_第1页
盐城工学院嵌入式系统课程设计报告.doc_第2页
盐城工学院嵌入式系统课程设计报告.doc_第3页
盐城工学院嵌入式系统课程设计报告.doc_第4页
盐城工学院嵌入式系统课程设计报告.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课课程程设设计计说说明明书书 基于基于ARMARM的的GPRSGPRS模块的设计模块的设计 专业专业 学生姓名学生姓名 班级班级 学号学号 指导教师指导教师 完成日期完成日期2017年年 月月 日日 目目 录录 摘要 1 1绪论 1 1 1 嵌入式系统 1 1 1 1 嵌入式系统概述 1 1 1 2 嵌入式处理器 1 1 2 ARM处理器 2 1 3 GPRS无线通讯 2 1 3 1 GPRS定义 2 1 3 2 GPRS的技术特点 2 2 系统选型及设计 3 2 1 硬件选型 3 2 2 模块总体框图 3 3 系统硬件设计 3 3 1 ARM硬件结构及电路概述 3 3 1 1 SANSUNG S3C2410概述 3 3 1 2 ST2410硬件资源分配 4 3 1 3 ST2410接口资源 6 3 1 4 ST2410 的串口通讯 7 3 2 M22通讯电路板的设计 10 3 2 1 BENQ电源部分设计 11 3 2 2 BENQ M22 与 SIM 卡的接口 11 3 2 3 BENQ M22 在语音通讯设计方面的问题 11 3 2 4 BENQ M22 通讯板的串口 12 4 系统软件设计 13 4 1引导加载程序的设计 14 4 1 1 BOOTLOADER 的基本概念 14 4 1 2 ST2410 的 BOOTLOADER 功能说明 16 4 2 串口通讯程序的设计 17 4 3 BENQ M22 模块内部的软件特性 17 5 模块软件运行流程图 17 6 模块设计总结 19 基于ARM与嵌入式Linux的GPRS模块 摘要摘要 随着科技的高速发展 嵌入式系统已经进入 32 位时代 在当前数字信息技术和网络技术的高速发展的后 PC 时代 嵌入式系统已经广泛地应用于各类产业 随着国内外嵌入式产品地进一 步开发和推广 嵌入式技术和人类生活的联系越发紧密 本文介绍了在 SAMSUNG ARM9和嵌入式 Linux 平台上的 基于 BenQ M22 模块的 GPRS 无线通讯模块的软硬件设计 主要内容包括 M22 通讯电路板的 PCB 设计 ARM9 中 Bootloader 编程与 FLASH 烧写 M22 和 ARM9 的外围与内部硬件电路的设计 串口通讯的编程 AT 指令的收发等等 该系统能够实现语音通讯 短信服务 来电查询 来电显 示等功能 关键词 嵌入式 ARM Linux GPRS 1 1绪论绪论 1 11 1 嵌入式系统嵌入式系统 1 1 11 1 1 嵌入式系统概述嵌入式系统概述 嵌入式系统 Embedded System 是一种嵌入机械或电气系统内部 具有专一功能和实时计算性能的 计算机系统 嵌入式系统常被用于高效控制许多常见设备 被嵌入的系统通常 是包含数字硬件和机械部件的完整设备 例如汽车的防锁死刹车系统 相反 通用计算机如个人电脑则设计灵活 可以智能处理各式各样的运算情况 以满 足广大终端用户不同的需要 现代嵌入式系统通常是基于微控制器 如含集成内存和 或外设接口的中央 处理单元 的 但在较复杂的系统中普通微处理器 使用外部存储芯片和外设 接口电路 也很常见 通用型处理器 专门进行某类计算的处理器 为手持应 用订制设计的处理器等 都可能应用到嵌入式系统 常见的专用处理器有数字 信号处理器 1 1 21 1 2 嵌入式处理器嵌入式处理器 嵌入式处理器是嵌入式系统的核心 是控制 辅助系统运行的硬件单元 可以分为 嵌入式微处理器 嵌入式微控制器 嵌入式DSP处理器等 嵌入式处理器是嵌入式系统的核心 是控制 辅助系统运行的硬件单元 范围极其广阔 从最初的 位处理器 目前仍在大规模应用的 位单片机 到 最新的受到广泛青睐的32位 64位嵌入式CPU 1 21 2 ARMARM处理器处理器 ARM处理器是一种32位嵌入式RISC处理器 ARM AdvancedRISCMachines 既可以认为是一个公司的名字 也可以认为是对微处理器的通称 还可以认 为是一种技术的名字 ARM处理器是一个32位元精简指令集 RISC 处理器架构 其广泛地使用在许多嵌入式系统设计 Thumb指令集为ARM指令集的功能子集 但与等价的ARM代码相比较 可节省30 40 以上的存储空间 同时具备32位代 码的所有优点 大量使用寄存器 数据处理指令只对寄存器进行操作 只有加 载 存储指令可以访问存储器 以提高指令的执行效率 1 31 3 GPRSGPRS无线通讯无线通讯 1 3 11 3 1 GPRSGPRS定义定义 通用分组无线服务 英语 General Packet Radio Service 缩写 GPRS 是GSM移动电话用户可以使用的一种移动数据业务 技术 它经常被描述成 2 5G 意指这项技术介于第二代 2G 与第三代 3G 移动通讯技术之间 它是利用GSM网络中未使用的TDMA信道 提供中速的数据传 输服务 起初有人想通过扩展GPRS来覆盖其他标准 只是这些网络都正在转而 使用GSM标准 这样GSM就成了GPRS唯一能够使用的网络 GPRS在Release 97之后被集成进GSM标准 起先它是由ETSI标准化 但是现在已经移交3GPP负责 1 3 21 3 2 GPRSGPRS的技术特点的技术特点 数据实现分组发送和接收 按流量计费 56 115Kbps的传输速度 GPRS的应用 迟些还会配合Bluetooth 蓝牙技术 的发展 到时 数码相机 加了bluetooth 就可以马上通过手机 把像片传送到遥远的地方 也不过一刻 钟的时间 相对于GSM的9 6kbps的访问速度而言 GPRS拥有171 2kbps的访问速度 在 连接建立时间方面 GSM需要10 30秒 而GPRS只需要极短的时间就可以访问到相关请求 而对于费用而言 GSM 是按连接时间计费的 而GPRS只需要按数据流量计费 GPRS对于网络资源的利 用率而相对远远高于GSM 2 2 系统选型及设计系统选型及设计 2 12 1 硬件选型硬件选型 由于ARM系列处理器中 ARM9 对于 Linux 操作系统的支持性明显强于 ARM7 因此 本模块采用的核心微处理器是属于ARM9系列微处理器的SAMSUNG S3C2410 出于成本和功能的考虑 本模块中选用的GPRS GSM选用的BenQ的M22 无线模块 主要仪器设备如下 SAMSUNG ST2410 ARM9 开发板 SHARP TFT LCD 液晶屏 BenQ M22 GPRS 模块 SIM 卡 GSM 900 1800 MHz 吸盘天线 BenQ M22 电路板 2 22 2 模块总体框图模块总体框图 3 3 系统硬件设计系统硬件设计 3 13 1 ARMARM硬件结构及电路概述硬件结构及电路概述 3 1 13 1 1 SANSUNGSANSUNG S3C2410S3C2410概述概述 S3C2410A 采用了 ARM920T 内核 0 18um 工艺的 CMOS 标准宏单元和存储单元 它的低功耗 精简和出色的全静态设计特别适用于对 成本和功耗敏感的应用 同样它还采用了一种叫做 Advanced Microcontroller Bus Architecture AMBA 新型总线结构 S3C2410 的显著特性是它的 CPU 核心 是一个由 Advanced RISC Machines ARM 有限公司设计的 16 32 位 ARM920T RISC 处理器 ARM920T 核由ARM9TDMI 存储管理单元 MMU 和高速缓存三部分组成 其中 MMU 可以管理虚拟内存 ARM920T 实现了 MMU AMBA BUS 和 Harvard 高速缓冲体系结构 这一结构具有独立的 16KB 指令 Cache 和 16KB 数据 Cache 每个都是由 8 字长的行构成 ARM920T 有两个内部协处理器 CP14 和 CP15 CP14 用于调试控制 CP15 用于存储系统控制以及测试控制 S3C2410 的内部结构图如图 3 1 所示 图 3 1 S3C2410 内部结构图 3 1 23 1 2 ST2410ST2410硬件资源分配硬件资源分配 S3C2410 将系统的存储空间分成 8 组 Bank 每组的大小是 128MB 共 1GB Bank0 到 Bank5 的开始地址是固定的 用于 ROM 或 SRAM Bank6 和 Bank7 用于 ROM SRAM 或 SDRAM 这两个组可编程且大小相同 Bank7 的开始地址是 Bank6 的结束 地址 灵活可变 所有内存块的访问周期都是可编程的 S3C2410 采用 nGCS 7 0 8 个通用片选信号选择这些组 因此 S3C2410 支持两种启动模式 从 NAND FLASH 启动和从外部 nGCS0 片选的 NOR FLASH 启动 所以在这两种启动模式下 各片选的存储空间分配是不同的 这两种启动模式的存储分配如图 3 3 所示 图3 3 存储空间分配图 a 图是 nGCS0 片选的 Nor Flash 启动模式下的存储分配图 b 图是 NAND FLASH 启动模式下的存储分配图 说明 SFR Area 为特殊寄存器地址空间 在进行器件地址说明之前 有一个点需要注意 nGCS0 片选的空间在不同的 启动模式下 映射的器件是不一样的 由下表可以知道 在 NAND FLASH 启动模式下 内部的 4K Bytes BootSRAM 被映射到 nGCS0片选的空间 在 Nor Flash 启动模式 非 NAND FLASH 启动模式 下 与 nGCS0 相连的外部存储器 Nor Flash 就被映射到 nGCS0 片选的空间 地址范围地址范围说明说明片选信号片选信号 0 x4800 0000 0 x6000 0000 SFR 特殊寄存器 地址 空间 0 x4000 0000 0 x4000 0FFF NAND FLASH 启动模式下 该空间没有被使用 非 NAND FLASH 启动模式 下 该空间为 BootSRam 0 x3000 0000 0 x3400 00 00SDRAM 空间nGCS6 0 x1900 0300CS8900 的 IO 基址nGCS3 0 x0000 0000 0 x0020 00 00 NAND FLASH 启动模式下 nGCS0 BootRam 的有效地址 0 x0000 0000 0 x0000 0F FF 非 NAND FLASH 启动模式 下 Nor Flash 的有效地址空 间为 0 x0000 0000 0 x0020 00 00 表3 1 硬件地址分配表 3 1 33 1 3 ST2410ST2410接口资源接口资源 跳线跳线 名称名称说明说明 JP1 核心板 决定 S3C2410 的启动模式 插上短路块从 Nand Flash 中启动 默认不插 上短路块从 Nor Flash 中启动 表 3 2 跳线分配表 按键名称按键名称说明说明 S1 Reset 核心板 复位按键 小按键 K1 K4 按键4 键盘 表 3 3 核心板按键说明 接口名接口名 称称说明说明 T1 RJ45 以太网接口 RJ45 带隔离器的 UART1 J8 UART3 J7 串行口 1 2 U10红外线 IrDA SD CARD J1 SD 卡接口 J17USB HOST 接口 USB DEVICE J15 USB DEVICE 接口 J2音频输出接口 J27CCFL 背光电源输出接口 J6板子的电源接口 JP2一些扩展口 JP1 LCD INTERFACE LCD 和触摸屏接口 表 3 4 底板接口说明 3 1 43 1 4 ST2410ST2410 的串口通讯的串口通讯 由于在本系统中 ARM 与 PC 机和 M22 模块都是通过串口进行通讯 在此 我详细介绍一下 S3C2410 的串口资源 串行通信是微计算机之间一种常见的近距离通信手段 因使用方便 编程简单而广泛使用 几乎所有的微控制器 PC 都提供串行通信接口 1 串行通讯传输格式 图 3 4 串口的帧数据传输格式 开始前 线路处于空闲状态 送出连续 1 传送开始时首先发一个 0 作为起始位 然后出现在通信线上的是字符的二进制编码数据 每个字符的数据位长可以约定为5 位 6 位 7 位或8 位 一般采用ASCII 编码 后面是奇偶校验位 根据约定 用奇偶校验位将所传字符中为 1 的位数凑成奇数个或偶数个 也可以约定不要奇偶校验 这样就取消奇偶校 验位 最后是表示停止位的 1 信号 这个停止位可以约定持续1 位 1 5 位或2位的时间宽度 至此一个字符传送完毕 线路又进入空闲 持续为 1 经过一段随 机的时间后 下一个字符开始传送才又发出起始位 每一个数据位的宽度等于传送波特率的倒数 微机异步串行通信中 常 用的波特率为110 150 300 600 1200 2400 4800 9600 等 2 电气特性 RS 232 标准采用的接口是9 芯或25 芯的D 型插头 常用的一般是9 针插头 DB 9 表3 5是DB9 引脚说明 引脚名称引脚名称全称全称说明说明 FGFrame Ground连到及其的接地线 TXD Transmitted Data数据输出线 RXDReceived Data数据输入线 RTSRequest to Send要求发送数据 CTSClear to Send 回应对方发送的RTS的发送许可 告诉对方可以 发送 DSRData Set Ready告知本机在待命状态 DTR Data Terminal Ready告知数据终端处于待命状态 CDCarrier Detect载波检出 用以确认是否收到Modem的载波 SGSignal Ground 信号线的接地线 严格的说是信号线的零标准线 表3 5 DB9引脚说明 图 3 5 DB9 引脚实物图 要完成基本的通信功能 实际上只需要RXD TXD GND 即可 但是由于BenQ的M22通讯模块需要握手信号 RTS和CTS 所以在本系统 中至少要接5根线 同时又由于RS 232 C 标准所定义的高 低电平信号与S3C210X 系统的LVTTL 电路定义的高 低电平信号完全不同 LVTTL的标准逻辑 1 对应2V 3 3V 电平 标准逻辑 0 对应0V 0 4V 电平 而RS 232 C 标准采用负逻辑方式 标准逻辑 1 对应 5V 15V 电平 标准逻辑 0 对应 5V 15V 显然 两者间要进行通信 必须经过电平 的转换 转换芯片采用的MAX232 电路原理图见图3 6 图 3 6 串口连接电路图 其中 J8 串口负责与 BenQ M22 通讯 J7 串口负责与 PC 机通讯 3 S3C2410的UART操作 S3C2410的UART 通用异步串行口 单元提供三个独立的异步串行I O 端口 每个都可以在中断和DMA 两种模式下进行 它们支持最高波特率115 2Kbps 每个UART 通道包含2个16 位FIFO 分别提供给接收和发送 S3C2410X 的UART可以进行以下参数的设置 可编程的波特率 红外收 发模式 1 或2个停止位 5 位 6 位 7 位或8 位数据宽度和奇偶位校验 1 发送数据 数据发送帧的格式是可编程的 它包含一个开始位 5 到8 个数据位 一个可选的奇偶位和一个或两个停止位 这些可以通过线性 控制器UCONn 来设置 发送器也能够产生发送中止条件 中止条件迫使 串口输出保持在逻辑0 状态 这种状态保持一个传输帧的时间长度 通常在一帧传输数据完整 地传输完之后 在通过这个全0 状态将中止信号发送给对方 中止信号发送之后 传送数据连续放到 FIFO 中 在不使用FIFO 模式下 将被放到输出保持寄存器 2 接收数据 与数据发送一样 数据接收的帧也是可以编程的 它包含一个开始 位 5到8个数据 一个可选的奇偶位和一位或两位停止位 它们都是通 过线性控制器 ULCONn 来设置的 接收器能够检测溢出错误 奇偶校 验错误 帧错误和中止状况 每种情况下都将会将一个错误标志置位 3 波特率的设置 每个UART 的波特率发生器为传输提供了串行移位时钟 波特率产生器的时钟源可 以C 从S3C2410X 的内部系统时钟或UCLK 中来选择 波特率由时钟源 PCLK 或UCLK 16 分频和 UART 波特率除数寄存器 UBRDIVn 指定的16 位除数决定 UBRDIVn 的值可以按照下式确定 UBRDIVn int PCLK bps 16 1 例如 如果波特率为115200bps 且PCLK 或UCLK 为40MHz 则UBRDIVn 为 UBRDIVn int 40000000 115200 16 1 int 21 7 1 21 1 20 3 23 2 M22M22通讯电路板的设计通讯电路板的设计 BenQ M22 通讯电路板主要是由 M22 无线模块的外围接口电路组成 参见附录1 该电路板主要包括以下几个 部分 1 电源与整流部分 2 串口通讯接口 3 SIM 卡电路 4 差分语音电路 5 LED 信号灯显示电路 6 蜂鸣器接口 7 按键输入 8 天线接口 其管脚 44 脚 分配如表 3 6 所示 管脚名管脚数目描述 UART RS2326RS232 接口 UART22软件调试 BU1蜂鸣器输出 GPIO6通用 I O 管脚 Power On1上电运行 LED Driver1LED 驱动 SIM4SIM 卡接口 VBATRF3RF 的电源输入 VBATBB1BB 的电源输入 Audio7语音接口 Keypad Interrupt1键盘中断接口 BGND10地 NC1无连接 表 3 6 BenQ M22 管脚分配表 3 2 13 2 1 BenQBenQ电源部分设计电源部分设计 我们知道无线模块的耗电具有不稳定的特点 在待机状态 在和基站的握 手状态 在通话状态 在拨号状态 在信号强弱不同的地方这些因素都会直接 的影响无线模块的耗电流 所以无线模块的电源设计非常重要 因此我的电源设计方案采用LM7805和LM2576的联合设计 直流电源 12V 输入LM7805 然后输出DC5V 与此同时通过LM2576产生 DC4V电压供给M22 由于LM2576具有可靠的工作性能 较高的工作效率和较强的 输出电流驱动能力 从而为M22的稳定 可靠工作提供了强有力的保证 图 3 9 M22 电路板电源部分电路原理图 3 2 23 2 2 BenQBenQ M22M22 与与 SIMSIM 卡的接口卡的接口 由于 BenQ M22 必须通过中国电信的 GSM GPRS 网络才能够工作 所以必须要用到 SIM 电话卡 安装时只要以右上角的缺口为准即可 图 3 10 SIM 卡接口电路原理图 3 2 33 2 3 BenQBenQ M22M22 在语音通讯设计方面的问题在语音通讯设计方面的问题 在语音通讯方面 M22 提供了两个语音通道 一个我们叫做差分通道 也就是说无论是MICPHONE信号的输入 还是SPEAKER信 号的输出都是采用差分的形式 也就是我们平时所说的 双端输入双端输出 在管脚的定义上MICIP MICIN就分别是MICPHONE的正输入端和负输入端 EARP EARN就分别是SPEAKER的正输出端和负输出端 另一路语音通道是单 端方式 具体管脚定义为AUXI和AUXOP 其中AUXI为MICPHONE的正输入端 MICPHONE的负输入端应该对地 AUXOP为SP ERKER的正输出端 SPERKER的另一端应该对地 当然从外部线路的转换来说 在这一路语音通道的使用中 MICPHONE也可以接成差分的形式 但是需要一 个转换电路 SPERKER也可以接成差分输入的形式 也需要一个差分转单端的 线路 以上说了关于单端语音通道的一些问题 下面我们叙述一下差分语音通 道的一些问题 图3 11是差分端的MICPHONE 输入参考图 图 3 11 差分方式的 MICPHONE 电路原理图 图3 12是SPEAKER 的线路图 图 3 12 差分方式的 SPEAKER 电路原理图 需要说明的是 由于单端输入单端输出的语音通道特别容易受到辐射干扰 从而对语音的质量产生了很大的影响 所以在本系统中只采用了差分语音通 道 3 2 43 2 4 BenQBenQ M22M22 通讯板的串口通讯板的串口 前面已经提到了由于 RS 232 电平的问题 M22 不能直接和 PC 机通讯 但是可以直接和 ARM 或单片机通讯 不需要任何电平转换芯片 那为什么这里却又需要一个电平 转换芯片 SP3238 呢 主要是由于 ST2410 上的串口已经通过了 MAX232 转换成了 RS 232 C 电平 为了能够与其通讯 必须也要将由 M22 出来的串口信号转换成 RS 232 C 电平 在此 我们采用的是另一种电平转换芯片 SP3238 因为此芯片可以一次转换 9 个信号线 与 MAX232 相比更方便 图 3 20 M22 与 ARM 进行串口通讯原理图 图 3 21 SP3238 与 M22 接口的电路原理图 4 4 系统软件设计系统软件设计 该GPRS通讯程序是在ARM ADS 1 2 ARM Developer Suite 是ARM 公司推出的新一代ARM 集成开发工具 集成开发环境中编译通过后 然后产生可以直接烧写在FL ASH 中的 bin 格式的二进制可执行文件 最后进行下载运行的 4 14 1引导加载程序的设计引导加载程序的设计 引导加载程序 Bootloader 是嵌入式系统的重要组成部分 4 1 14 1 1 BootloaderBootloader 的基本概念的基本概念 一个嵌入式 Linux 系统从软件的角度看 通常可以分为四个层次 1 引导加载程序 包括固化在固件 firmware 中的 boot 代码 可选 和 Boot Loader 两大部分 2 Linux 内核 特定于嵌入式板子的定制内核以及内核的启动参数 3 文件系统 包括根文件系统和建立于 Flash 内存设备之上文件系统 4 用户应用程序 特定于用户的应用程序 有时在用户应用程序和内 核层之间可能还会包括一个嵌入式图形用户界面 常用的嵌入式 GUI 有 MicroWindows和 MiniGUI 等 引导加载程序是系统加电后运行的第一段代码 我们熟悉的 PC 中的引导程序一般由 BIOS 和位于 MBR 的 OS bootloader 例如 LILO 或者 GRUB 一起组成 然而在嵌入式系统中通常没有像 BIOS 那样的固件程序 有的嵌入式 CPU 有 因此整个系统的加载启动任务就完全由 bootloader 来完成 在嵌入式 Linux 中 引导加载程序即等效为 bootloader 简单地说 bootloader 就是在操作系统内核运行前运行地一段小程序 通过这段小程序 我们可以 初始化必要的硬件设备 创建内核需要的一些信息并将这些信息通过相关机 制传递给内核 从而将系统的软硬件环境带到一个合适的状态 最终调用操 作系统内核 真正起到引导和加载内核的作用 bootloader 是依赖于硬件而实现的 特别是在嵌入式系统中 每种不同的 CPU 体系结构都有不同的 Boot Loader 有些 Boot Loader 也支持多种体系结构的 CPU 比如 U Boot 就同时支持 ARM 体系结构和 MIPS 体系结构 除了依赖于 CPU 的体系结构外 Boot Loader 实际上也依赖于具体的嵌入式板级设备的配置 也就是说 对于两块不同的 嵌入式板而言 即使它们基于相同的 CPU构建 运行在其中一块电路板上的 bootloader 未必能够运行在另一块电路开发板上 尽管如此 我们仍然可 以对 Bootloader 归纳出一些通用的概念来 以指导用户特定的 Bootloader 设计与实现 1 Boot Loader 的安装媒介 系统加电或复位后 所有的 CPU 通常都从某个由 CPU 制造商预先安排的地址上取指令 比如 基于 ARM7TDMI core 的 CPU 在复位时通常都从地址 0 x00000000 取它的第一条指令 而基于 CPU 构建的嵌入式系统通常都有某种类型的固态存储设备 比如 ROM EEPROM 或 FLASH 等 被映射到这个预先安排的地址上 因此在系统加电后 CPU 将首先执行 Boot Loader 程序 2 用来控制 Boot Loader 的设备或机制 主机和目标机之间一般通过串口建立连接 Boot Loader 软件在执行时通常会通过串口来进行 I O 比如 输出打印信息到串口 从串口读取用户控制字符等 3 Bootloader 的启动方式 Bootloader 的启动过程可以是单阶段的 也可以是多阶段的 通常多阶段的 bootloader 能提供更为复杂的功能 以及更好的可移植性 从固态存储设备上启动的 bootloader 大多数是二阶段的启动过程 也即启动过程可以分为 stage1 和 stage2 两部分 Boot Loader 的 stage1 通常包括以下步骤 1 硬件设备初始化 2 为加载 Boot Loader 的 stage2 准备 RAM 空间 3 拷贝 Boot Loader 的 stage2 到 RAM 空间中 4 设置好堆栈 5 跳转到 stage2 的 C 入口点 Boot Loader 的 stage2 通常包括以下步骤 1 初始化本阶段要使用到的硬件设备 2 检测系统内存映射 memory map 3 将 kernel 映像和根文件系统映像从 flash 上读到 RAM 空间中 4 为内核设置启动参数 5 调用内核 4 Bootloader 的操作模式 大多数 bootloader 都包含两种不同的操作模式 启动加载 模式和 下载 模式 这种区别 对于开发人员才有意义 但从最终用户的角度看 bootloader的作用永远就 是用来加载操作系统 而并不存在所谓的启动加载模式与下载工作模式的区 别 启动加载模式 这种模式也称为 自主 模式 即 bootloader 从目标机上的某个固体存储设备上将操作系统加载到 RAM 中运行 整个过程没有用户的介入 这种模式是 bootloader 的正常工作模式 因此当以嵌入式产品发布的时候 bootloader 必须工作在这种模式下 下载模式 在这种模式下 目标机上的 bootloader 将通过串口或者网络连接或者其它通信手段从主机下载文件 比如 下载内 核镜像和根文件系统镜像等 从主机下载的文件通常首先被 bootloader 保存到目标机的 RAM 中 然后被 bootloader 写到目标机上的 FLASH 类固态存储设备中 Bootloader 的这种模式通常在第一次安装内核与根文件系统时使用 此外 以后的系统 更新也会使用 bootloader 的这种工作模式 工作于这种模式下的 bootloader 通常都会向它的中断用户提供一个简单的命令行接口 5 Bootloader 的功能扩展 Bootloader 最主要的功能是引导加载内核镜像 但是随着嵌入式系统的发展 bootload er 已经逐渐在基本功能的基础上 进行了扩展 bootloader 可以更多地增加对具体系统的板级支持 即增加一些硬件模块功能上的使用 支持 以方便开发人员进行开发和调试 从这个层面上看 功能扩展后的 bootloader 可以虚拟地看成是一个微小的系统级的代码包 4 1 24 1 2 ST2410ST2410 的的 BootloaderBootloader 功能说明功能说明 以上介绍了一般嵌入式系统中的 Bootloader 的特点 如前所述 对于不同的目标板和外围硬件电路 Bootloader 的设计是不相同的 本系统的 Bootloader 除了具有一般的功能外 还具有以下扩展功能 1 USB 口文件下载 2 串口文件下载 3 NOR 和 NAND FLASH 的烧写 4 运行存储在 FLASH 中的程序 5 针对Linux设置启动参数 6 设置Wince或Linux的自启动 7 运行BenQ M22 GPRS通讯系统 ST2410 的 Bootloader 的流程图 如图 4 1 所示 图4 1 Bootloader流程图构 如前所述 此核心板一共由三大存储设备 Nor Flash 2M Nand Flash 64M SDRAM 64M 前两个 Flash 设备就犹如 PC 机的两块硬盘 由于 Nand Flash 无论在价格与性能上都优于 Nor Flash 因此现在一般都采用 Nand Flash 而 SDRAM 就犹如 PC 机的内存设备 4 24 2 串口通讯程序的设计串口通讯程序的设计 如前所述 本系统有三大模块 PC 机 主要负责人机交互 在 PC 机上运行 DNW 一种串口调试软件 从而可以显示和接受来自 ARM 的数据 ARM 微处理器 核心处理器 将已经编写成功的 GPRS 通讯程序烧写到其 Nand Flash 中 M22 通讯模块 GPRS 通讯的具体实现 接受来自 ARM 的 AT 指令 从而进行 GPRS 通讯 并将有用的信息反馈给 ARM 4 34 3 BenQBenQ M22M22 模块内部的软件特性模块内部的软件特性 下面我们来描述一下 BenQ M22 模块内部集成的软件系统 对于无线 PSTN 的用户 BenQ 提供 AT 指令的支持 BenQ M22 的内部集成的软件包括以下 3 个部分 Layer 1 驱动 协议栈 AT 命令 基本接口 由于在无线 PSTN 和 BenQ M22 模块中都有微处理器 在这两者之间的接口通常是 AT 指令 当然由于协议栈 TCP IP 的存在 我们也可以通过发送 AT 指令达到联通 GSM GPRS 网的目的 5 5 模块软件运行流程图模块软件运行流程图 图 5 1 软件主菜单流程图 图 5 2 外电呼入时流程图 图 5 3 发送短信流程图 图 5 4 电话本查询流程图 图 5 5 主动呼叫流程图 6

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论