基于arm平台的lniux系统移植毕业设计论文(编辑修改稿)内容摘要:
平台由核心板和底板 (外设板或称基本板 )组成,核心板上集成 SamsungS3C2410处理器, 64M 的 FLASH 和 64M SDRAM,为应用研发提供了足够的空间。 Samsung 公司推出的16/32 位 RISC 处理器 S3C2410,为手持设备和一般类型应用提供了低价格、低功耗、高性能小型微控制器的解决方案。 为了降低整个系统的成本, S3C2410 提供了以下丰富的内部设备:分开的 16KB 的指令 Cache 和 16KB 数据 Cache, MMU 虚拟存储器管理, LCD 控制器(支持STNamp。 TFT),支持 NAND Flash 系统引导,系统管理器(片选逻辑和 SDRAM 控制器), 3 通道UART, 4 通道 DMA, 4 通道 PWM 定时器, I/O 端口, RTC, 8 通道 10 位 ADC 和触摸屏接口, IICBUS接口, IICBUS 接口, USB 主机, USB 设备, SD 主卡 amp。 MMC 卡接口, 2 通道的 SPI 以及内部 PLL时钟倍频器。 S3C2410 采用了 ARM920T 内核, 工艺的 CMOS 标准宏单元和存储器单元。 毕业设计(论文)专用纸 8 它的低功耗、 精简和出色的全静态设计特别适用于对成本和功耗敏感的应用。 同样它还采用了一种叫做 Advanced Microcontroller Bus Architecture(AMBA)新型总线结构。 S3C2410 的显著特性是它的 CPU 核心,是一个由 Advanced RISC Machines( ARM)有限公司设计的 16/32 位 ARM920T RISC 处理器。 ARM920T 实现了 MMU, AMBA BUS 和 Harvard 高速缓冲体系结构。 这一结构具有独立的 16KB 指令 Cache 和 16KB 数据 Cache,每个都是由 8 字长的行( line)构成。 通过提供一系列完整的系统外围设备, S3C2410 大大减少了整个系统的成本, 消除了为系统配置额外器件的需要。 本文档将介绍 S3C2410 中集成的以下片上功能: S3C2410 ARM MPU 图 21 2410 体系结构框图 毕业设计(论文)专用纸 9 图 22 内部结构图 毕业设计(论文)专用纸 10 第三章 嵌入式 linux 移植的实现 移植环境搭建 嵌入式开发传统方式是 PC 机 +虚拟机来实现,但考虑到效率太低,在本次移植中采用直接的硬盘安装 linux 系统来实现,安装了 Ubuntu 版本。 所谓的交叉编译简单地说,就是在一个平台上生成另一个平台上的可执行代码.我们需要一套编译环境,将在 X86 上的 C代码编译为 ARM 系统可以识别的目标代码。 armlinuxgcc 是基于 ARM 目标机的交叉编译软件,前面几年安装 armlinuxgcc 交叉编译软件对与一个初级嵌入式工程师来说特别棘手,因为它需要安装多个软件包,而且安装过程中不能有半点差错,因为每个软件包都有它的依赖关系【换句话就是说安装某个软件包时,如果它的依赖软件版本太低或者没有安装都将导致该软件包安装失败】,在此使用了别人集成的交叉编译链 armlinuxgcc 安装如下 tar zxvf vim /etc/profile 添加如下 export PATH=$PATH:/opt/usr/local/arm/export PATH=$PATH:/opt/usr/local/arm/ source /etc/profile 使安装马上生效 armlinuxgcc –v 查看是否生效 结果如下说明可以了 gcc version (Sourcery G++ Lite 20xxq372) 图 31 交叉编译环境结构图 主机 目标机 交叉开发工具链 目标机接口层 主机通讯层 打 ARMDISC Arm linux Bootloader 调试工具 GCC 编译器 Armlinuxgcc 毕业设计(论文)专用纸 11 Tftp 服务搭建 安装相关软件包: Ubuntu tftp(服务端), tftp(客户端), xid aptget install tftpd tftp xid 建立配置文件 在 /etc/ vim tftp 在文件中输入以下内容: service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/ server_args = s /tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 } 保存退出。 建立 Ubuntu tftp 服务文件目录(上传文件与下载文件的位置),并且更改其权限 mkdir /tftpboot /*在根目录下建立 tftpboot 文件夹 ,注意与 mkdir tftpboot 的区 别 */ chmod 777 /tftpboot R 重新启动服务 /etc/至此 Ubuntu tftp 服务已经安装完成了,下面可以对其进行一下测试。 (在当前目创建,在 tftpboot目录下创建 ,且 tftpboot目录下 777)。 执行 get 命令时,保证 tftpboot 目录下的文件权限 chomd 777 ,执行 put 命令时,必须先在 tftpboot 目录下新建一个和上传文件同名的文件权 限 chmod 777。 毕业设计(论文)专用纸 12 tftp tftp get Received 7 bytes in seconds tftp put Sent 10 bytes in seconds tftp quit 以上把 tftp 服务成功搭建好。 bootloader 概念 引导加载程序是系统加电后运行的第一段代码。 我们熟悉的 PC 中的引导程序一般由 BIOS和位于 MBR 的 OS BootLoader(例如 LILO 或者 GRUB)一起组成。 然而在嵌入 式系统中通常没有像 BIOS 那样的固件程序,因此整个系统的加载启动任务就完全由 BootLoader 来完成。 在嵌入式 Linux 中的引导加载程序即等效为 BootLoader。 Boot Loader 就是在操作系统内核运行之前运行的一段小程序。 通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。 通常, Boot Loader 是严重地依赖于硬件而实现的,特别是在嵌入式世界。 因此,在嵌入式世界里建立一个通用的 Boot Loader 几乎是不可能的。 尽管如此,我们仍然可以对 Boot Loader 归纳出一些通用的概念来,以指导用户特定的 Boot Loader 设计与实现。 BootLoader 和内核映象以及文件系统的分区表如图 32 图 32 关系图 对于每一种体系结构,都有一系列开放源码的 BootLoader 可以选用。 而 U— Boot 已经成为 ARM 平台事实上的标准 BootLoader。 Bootloader 是一段可执行程序,完成的主要功能是将可执行文件(一般是操作系统)搬移到内存中,然后将控制权交 给这段可执行文件(操作系统)。 bootloader 启动参数 内核 文件系统 毕业设计(论文)专用纸 13 Bootloader 的安装媒介 系统上电时或复位以后,都从芯片厂商预先安排的一个地址处取第一条指令执行(对我们的 S3C2410 芯片,从 0x0 处开始)。 由于上电或复位需要运行的第一段程序就是 Bootloader,故必须把 Bootloader 放入该地址。 将 Bootloader 写入固态存储设备,永久保存,系统上电后将自动执行 Bootloader。 Bootloader 的工作模式 ( 1)下载模式 对研发人员来说, Bootloader 一般需要工作在这种模式下 ,特别是调试内核或者Bootloader 本身的时候。 通过串口终端与 Bootloader 进行交互,可以操作系统硬件。 比如通过网口或者串口下载内核,烧写 Flash 等等。 ( 2)启动加载模式 嵌入式产品发布的时候, Bootloader 必须工作在该模式下。 这种情况下, Bootloader 必须完成硬件自检、配置,并从 Flash 中将内核拷贝到 SDRAM 中,并跳转到内核入口,实现自启动,而不需要人为的干预。 uboot 简介 1999 年由德国 DENX 软件工程中心的 Wolfgang Denk 发起,全称 Universal Bootloader。 特点:支持多种硬件构架:包括 ARM、 x8 PPC、 MIPS、 m68k、 NIOS、 Blackfin 支持多种操作系统:包括 Linux、 VxWorks、 NETBSD、 QNX、 RTEMS、 ARTOS、 216 种以上的开发板 , 开放源代码,遵循 GPL 条款 , 易于移植、调试 官方网站: uboot 目录结构 board 目标板相关文件,主要包含硬件初始化、 SDRAM 初始化 mon 独立于处理器体系结构的通用代码 cpu 与处理器相关的文件,包含 cpu 初始化、串口初始化、中断初始化等代码 drivers 设备驱动代码,如 Flash 驱动、网卡驱动、串口驱动等 fs UBoot 支持的文件系统的实现,如 cramfs、 fat、 ext jffs2 等 include UBoot 使用的头文件,包括不同硬件构架的头文件 lib_xxx 处理器相关文件,如我们要使用的 lib_arm,与 arm 体系结构相关的文件 网络功能的上层文件,实现各种协议,如 nfs、 tftp、 arp 等 毕业设计(论文)专用纸 14 uboot 存储映射图 见图 33 图 33 uboot 存储映射图 uboot 移植 ( 1) 首先下载 uboot 的源码包,然后解压,进入源码包目录。 ( 2) 修改源码让 uboot 支持从 Nand Flash 启动。 具体如下: ( a) 修改 “u ” 文件,执 行以下命令: vim cpu/arm920t/ ( b) 181 行和 201 行前加上 //,注释掉 181 //ifdef CONFIG_AT91RM9200 201 //endif ( c) ifndef CONFIG_SKIP_RELOCATE_UBOOT 之后加入: ifdef CONFIG_S3C2410_NAND_BOOT bl copy_myself else ( d) “ble copy_loop” 语句之后加入: endif ( e) “_start_armboot: .wo rd start_armboot” 语句之后加入 copy_loop 子程序: /* 毕业设计(论文)专用纸 15 ************************************************************************* * * copy uboot to ram * ************************************************************************* */ ifdef CONFIG_S3C2410_NAND_BOOT copy_myself: mov r10, lr。基于arm平台的lniux系统移植毕业设计论文(编辑修改稿)
相关推荐
可靠、位置更新高速度、对外界恶劣环境高防备、软件使用专业化等,目前国内参加生产的专业测量 GPS 基本都是沿着这些方向发展的。 基于 ARM 的 GPS测量数据接收系统的设计与实现 第一章 概述 3 主要研究内容 本文是在研究目前国内外现有的 GPS 测量数据接收系统的基础上,借鉴和使用了最新的研究成果,根据实际需求设计了硬件和软件构架。 研究的主要内容是基于 ARM的 GPS
第二章 系统分析 1. 系统通用模型 MPlayer 能使用众多本地的 Xanim, RealPlayer 和 Win32 DLL 编解码器,可播放 MPEG、 VOB、 AVI、 OGG、 VIVO、 ASF/WMV、 QT/MOV、 FLI、 RM、 NuppelVideo、 yuv4mpeg、 FILM、 RoQ 文件。 MPlayer 的另 一个大的特色是支持广泛的输出设备,它可以在
username 否 char 20 用户名称 password 否 char 20 用户密码 3 系统的硬件及软件的设计 嵌入式系统的介绍 嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 本系统是在 Ubuntu 下进行开发的,因为 Linux 是完全免费的操作系统,使用时只需要遵循 GPL 声明,而且 Linux
3。 57 5. 2 系统的展望 58 致谢 59 参考文献 59 5 第一章 绪论 引言 “ 生物统计 ” 这个概念在几年前还很少有人知道,就是到了现在,即便它有这么重要的现实意义,大多数人还是不甚了解,很多受到询问的人对 “ 生物统计 ” 这个词毫无概念。 迄今为止,使用过生物统计验证方法的人大都予之以积极的评价,大多数人愿意放弃他们的密码和 PIN,而将生物统计法看成更好的选择。 “
用空间和应 用市场。 嵌入系统是一个片上系统,应用空间巨大,在各个方面都可以应用,比如工业控制领域、消 费电子、移 动通讯 等, 都得到了广泛 的使用。 西南科技大学 工程 硕士学位论文 第 2 页 国内外现状和趋势 随着信息化, 智能化,网 络化的发 展,嵌入式 系统技术 也将获得广阔的发展空间。 信息时代,数字时代使得嵌入式产品获得了巨大的发展契机,为嵌入 式市场展现 了美好的前 景
号上网、收发电子邮件 以及彩色图 形、图像都会 使使用者获 得自由的感 受。 目前一些先 进的 PDA 在显示屏幕上已实现汉字写入、短消息语音发布,但一般的嵌入式 设备距离这 个要求还有 很长的路要走。 选题必要性 当前 ,计 算机 技术 和 微 电子 技 术 发 展迅 猛, 特别 是纳 米 技术取得了重大进展,嵌入 式芯片的设 计和开发也 越来越迅速。 对 嵌入式芯片的运行速度要求 越来越快