嵌入式汽车定位系统开发研究-底层研究毕业设计论文(编辑修改稿)内容摘要:
el 奔腾双核 /双线程 内存容量: 2GB 硬盘容量: 320GB 显存容量: 513MB 操作系统 :Windows Federal10 搭建开发和移植环境 ( 1)开发环境配置如下: ① 本次设计开发环境 :linux federal 10 系统 ② 所用的代码是使用 smdk2410 代码修改成 uboot ③ 所用的编译和烧写工具: GNU gcc, DNW ( 2) 移植环境 ① 主 机: Fedora 10 windows XP ② 开发板 : Mini244064MB Nand,Kernel: ③ 编译器: ④ uboot: GPS 驱动程序, 3G 驱动程序 文件系统 logo 内核程序 bootloader 湖南科技大学本科生毕业设计(论文) 9 目标系统 本次实验使用的是 ARM920T开发板其完型后如下图: 图 湖南科技大学本科生毕业设计(论文) 10 第三章: BOOTLOADER 设计与实现 Bootloader 原理与作用 ( 1) Bootloader原理: 一般 bootloader 开发分两种模式:启动加载模式和下载模式,启动加载模式只是负责加载系统信息,而下载模式则可以从指定的地方下载系统信息(这样比较有利于系统升级 )。 bootloader 的实现依赖于 CPU 的体系结构,因此大多数bootloader的开发都分为 stage1和 stage2两个阶段,依赖体系结构的代码都放在 stage1(用汇编实现 ),而 stage2 通常用 C 来实现。 bootloader 的 stage1 通常包括以下步骤: ① 硬件设备初始化。 其中包括屏蔽所有中断、设置 CPU 的速度和时钟频率、 RAM初始化、初始化 IED、关闭 CPU 内部指令 /数据 cache。 ② 为加载 bootloader 的 stage2 准备 RAM 空间。 空间可以任意安排,其中RamEnd1MB是一种很值得推荐的方法 (RamEnd1MB指末尾的 1M 空间 );而且必须进行范围测试,这里推荐一个叫做 test_mempage 的内存检测算法 ——测试每个 memory page 开始两个字是否是可读写的。 ③ 拷贝 bootloader 的 stage2 到 RAM 空间。 这里只要注意地址范围就可以了。 ④ 设置好堆栈。 通常可以把 sp 的值设置为 stage2_end(栈向低地址空间发展 ) ⑤ 跳转到 stage2 的 C 入口点。 stage2 的代码通常用 C 来实现。 第二阶段, stage2 通常步骤: ① 初始化本阶段要使用的硬件设备。 至少一个串口,以便向终端用户进行 I/O 输出信息;初始化计时器等。 ② 检测系统内存映像。 即整个空间中有哪些 RAM 单元。 ③ 将 kernel影响和根文件系统映像从 flash上读到 RAM 空间。 主要考虑基地址和映像的大小两个方面;对于内核映像,一般将其拷贝到从 MEM_START+0x8000 这个基地址开始的大约 1MB大小的内存范围内,这里要把从 MEM_START到MEM_START+0x8000 这段 32kb 大小的内存空出来是因为要放置 linux内存中的一些全局数据结构。 如,启动参数和内核页表等信息。 而对于跟文件系统映像,则一般将其拷贝到从 MEM_START+0x00100000 开始的地方。 ④ 为内核设置启动参数。 linux 动参数。 每个标记由标识被传递参数的 tag_header 结构以及随后的参数值数据结构来组湖南科技大学本科生毕业设计(论文) 11 成(在 include/ams/)。 包括:ATAG_CORE\ATAG_MEM\ATAG_CMDLINE\ATAG_RAMDISK\ATAG_INITRD。 ( 2) bootloader的作用: BootLoader 就是在操作系统内核运行之前运行的一段小程序。 通过这段小程序,我们可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。 在嵌入式系统中,通常并没有像 BIOS 那样的固件程序(注,有的嵌入式 CPU 也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由 BootLoader 来完成。 比如在一个基于 ARM7TDMI core 的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000 处开始执行,而在这个地址处安排的通常就是系统的 BootLoader 程序。 的设计与实现 UBoot,全称 Universal Boot Loader,是遵循 GPL 条款的开放源码项目。 从FADSROM、 8xxROM、 PPCBOOT逐步发展演化而来。 其源码目录、编译形式与 Linux内核 很相似,事实上,不少 UBoot 源码就是相应的 Linux 内核源程序的简化,尤其是一些 设备的驱动程序,这从 UBoot 源码的注释中能体现这一点。 图 1 UBoot 存储器映射 UBoot 简介 UBoot 不仅仅支持嵌入式 Linux 系统的引导,当前,它还支持 NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS 嵌入式 操作系统。 其目前要支持的目标操作系统是OpenBSD, NetBSD, FreeBSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks, LynxOS, pSOS, QNX, RTEMS, ARTOS。 这是 UBoot 中 Universal 的一层含义,另外一层含义则是 UBoot 除了支持 PowerPC 系列的处理器外,还能支持 MIPS、 x8ARM、 NIOS、 XScale 等诸多常用系列的处理器。 这两个特点正是 UBoot 项目的开发目标,即支持尽可能多的 嵌入式处理器 和嵌入式操作系统。 就目前来看, UBoot 对 PowerPC湖南科技大学本科生毕业设计(论文) 12 系列处理器支持最为丰富,对 Linux 的支持最完善。 其它系列的处理器和操作系统基本是在 20xx 年 11 月 PPCBOOT 改名为 UBoot 后逐步扩充的。 从 PPCBOOT 向 UBoot的顺利过渡,很大程度上归功于 UBoot 的维护人德国 DENX 软件工程中心 Wolfgang Denk[以下简称 ]本人精湛专业水平和持着不懈的努力。 当前, UBoot 项目正在他的领军之下,众多有志于开放源码 BOOT LOADER 移植工作的嵌入式开发人员正如火 如荼地将各个不同系列嵌入式处理器的移植工作不断展开和深入,以支持更多的嵌入式操作系统的装载与引导。 选择 UBoot 的理由: ① 开放源码; ② 支持多种嵌入式操作系统内核,如 Linux、 NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS; ③ 支持多个处理器系列,如 PowerPC、 ARM、 x8 MIPS、 XScale; ④ 较高的可靠性和稳定性; ⑤ 高度灵活的功能设置,适合 UBoot 调试、操作系统不同引导要求、产品发布等; ⑥ 丰富的 设备驱动 源码,如串口、以太网、 SDRAM、 FLASH、 LCD、 NVRAM、EEPROM、 RTC、键盘等; ⑦ 较为丰富的开发调试文档与强大的网络技术支持; ( 1)主要功能 UBoot 可支持的主要功能列表 * 系统引导; * 支持 NFS 挂载、 RAMDISK(压缩或非压缩 )形式的根文件系统; * 支持 NFS 挂载、从 FLASH 中引导压缩或非压缩系统内核; * 基本辅助功能 强大的 操作系统接口 功能;可灵活设置、传递多个关键参数给操作系统,适合系统在不同开发阶段的调试要求与产品发布,尤对 Linux支持最为强劲; * 支持目标板环境参数多种存储方式,如 FLASH、 NVRAM、 EEPROM; * CRC32校验,可校验 FLASH 中内核、 RAMDISK 镜像文件是否完好; * 设备驱动 串口、 SDRAM、 FLASH、以太网、 LCD、 NVRAM、 EEPROM、键盘、USB、 PCMCIA、 PCI、 RTC 等驱动支持; * 上电自检功能 SDRAM、 FLASH 大小自动检测; SDRAM 故障检测; CPU 型号;* 特殊功能 XIP 内核引导; for s3c2440 的模块结构分析: 此次使用的 uboot 为 ,其中包括的主要目录及说明如下图: 湖南科技大学本科生毕业设计(论文) 13 uboot 的 stage1 代码通常放在 cpu/xxxx/ 文件中,他用汇编语言写成; uboot 的 stage2 代码通常放在 lib_xxxx/ 文件中,他用 C 语言写成。 各个部分的流程图如下: 湖南科技大学本科生毕业设计(论文) 14 ( 1) Uboot 代码修改前提 搭建了一个 my2440 开发板 uboot 的框架,要使其功能实现, ① 因 2440 和 2410 的资源差不多,主频和外设有点差别,所以我们就在board/samsung/下建立自己开发板的项 目,取名叫 my2440 ② 因 2440 和 2410 的资源差不多,所以就以 2410 项目的代码作为模板,以后再修改,将 2410下所有的代码复制到 2440下,进入 my2440目录,将 my2440下的 改名为 ,修改 Makefile 文件,命令如下: gedit board/samsung/my2440/Makefile COBJS := 回到 uboot 根目录,建立 2440 头文件, ③ 修改 uboot 跟目录下的 Makefile 文件。 查找到 smdk2410_config的地方,在他下面按照 smdk2410_config的格式建立 my2440_config的编译选项,另外还要指定交叉编译器为 armlinuxgcc,并配置 2440 编译选项的格式。 ④ 测试编译新建的 my2440 开发板项目,如果出现 Configuring for my2440 board...则表示设置正确,编译后在根目录下会出现 ,则 uboot 移植的第一步就算完成了 ( 2) my2440 开发板 uboot 的 stage1 入口点分析。 一般在嵌入式系统软 件开发中,在所有源码文件编译完成之后,链接器要读取一个链接分配文件,在该文件中定义了程序的入口点,代码段、数据段等分配情况等。 那么我们的 my2440 开发板 uboot 的这个链接文件就 cpu/arm920t/,打开该文件部分代码,可以看到定义生成文件的目标平台是 arm,定义程序的人口点是 _start。 知道了程序的入口点是 _start,那么我们就打开 my2440 开发板 uboot 第一个要运行的程序cpu/arm920t/(即 uboot 的 stage1 部分),查找到 _start 的 位置, 从汇编代码可以看到程序又跳转到 start_code 处开始执行,那么再查找到 start_code处的代码,可知 start_code 处才是 uboot 启动代码的真正开始处。 以上就是 uboot 的stage1 入口的过程。 ( 3) my2440 开发板 uboot 的 stage1 阶段的硬件设备初始化。 由于在 uboot 启动代码处有两行是 AT91RM9200DK 的 LED 初始代码,但我们 my2440湖南科技大学本科生毕业设计(论文) 15 上的 LED 资源与该开发板的不一致,所以我们要删除或屏蔽该处代码,再加上 my2440的 LED 驱动代码,代码如下 : if defined(CONFIG_S3C2440) define GPBCON 0x56000010 define GPBDAT 0x56000014 define GPBUP 0x56000018 ldr r0, =GPBUP ldr r1, =0x7FF //即:二进制 11111111111,关闭 PB口上拉 str r1, [r0] ldr r0, =GPBCON ldr r1, =0x154FD //即:二进制 010101010011111101 str r1, [r0] ldr r0, =GPBDAT ldr r1, =0x1C0 str r1, [r0] endif 在 include/configs/ CONFIG_S3C2440 宏 gedit include/configs/ define CONFIG_S3C2440 1 /* in a SAMSUNG S3C2440 SoC。嵌入式汽车定位系统开发研究-底层研究毕业设计论文(编辑修改稿)
相关推荐
农作物种植,农产品加工销售。 二、 河南农科院 河南省农业科学院位于省会郑州市,是省政府直属 的正厅级事业单位。 设有小麦研究中心、粮食作物研究所、经济作物研究所、烟草研究中心(许昌)、园艺研究所、植物营养与资源环境研究所、植物保护研究所、畜牧兽工厂化育苗基地建设项目可行性研究报告 14 医研究所、农业经济与信息研究中心、农业质量标准与检测技术研究中心、农副产品加工研究所、农作物新品种重点实验室
图纸制定 投 标报价书。 投标人应根据招标人提供的招标图纸 所含全部项目报价 ,投标人未 报价项目 ,视为完成该工程项目所需费用已包含在其它有价款的竞争性报价内,在实施后,招标人将不予支付。 投标人的投标报价,应是按照投标须知前附表第 8 项的工期要求,在投标须知前附表第 3 项的建设地点,完成投标须知前附表第 7 项的招标范围内 的全部工作内容的价格体现。 包括但不限于完成工作的成本、利润
第 12 页。 ( 1) 设计准则,按齿面接触疲劳强度计算,再按齿根弯曲疲劳强度校核。 ( 2)按齿面 接触疲劳强度设计,由式( 79) 3 11 12 uudKH tZZZd aEZHt T1= 106 P/n= 106 mm 由图( 76)选取材料的接触疲劳,极限应力为 б HILim=580 б HILin=560 由图 77 选取材料弯曲疲劳极阴应力 б
微鳞片状,无定向排列,含量 60% 左 右,方解石、白云石具泥晶结构,分布不均 匀 ,含量 20~30%左右,其余 含 10~ 20%的石英、长石、白云母等砂屑,近地表常见氧化铁薄膜。 主要化 学 组分: ~ %、 A1203 ~ %、Fe203 ~ %, : CaO ~ %, MgO ~ %,与标准膨润土对比其 Si02 和 A1203 偏低 , CaO、 MgO和 Fe203较高。
申请报告 17 二、项目建设的必要性 随着人民生活水平的不断提高和人口的增多,现有的物资生活状况和物质条件难于满足人们生活的需要,特别是现有的住房条件难于满足人们生活的需要。 居者有其屋,是大部分中国人家庭观念的使然,根深蒂固的传统居家思想,使得中国现有的住房状况和住房水平远远达不到人们生活的需求。 洪湖市作为湖北省的一个重要县市,人们的生活和住房水平成为市委市政府关心的重点。 1987年 7月
14 奥陶系灰含水层分组及分段柱状图 断裂 采 水文地质特征 井田内的断裂构造多表现为高角度正断层。 除栾卸附近有 NW 向断裂外,大多呈NE或 NNE向,即基本与 岳城 向斜轴平行。 在南部郭二庄煤矿二坑在 21 大巷( +80m 水平)穿越此 F1断层时,未见突水,但早在 11 和 256 年 2 月 23 日该矿一坑在该断层附近开采时发生了突水。 显示了该断层富水性极不均一。 F10