毕业论文--嵌入式linux开发技术.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE PAGE 7 嵌入式linux开发技术 摘 要:本文介绍了一种现在嵌入式linux环境下开发的通用方法,其硬件开发环境是基于ARM处理器。阐述了交叉编译工具搭建、系统移植、设备驱动移植、内核补丁、网络调试文件系统、根文件系统制作方法以及启动环境参数设置。 关键词:嵌入式;linux;移植;ARM 0 引 言 嵌入式 linux是将日益流行的Linux 操作系统进行裁剪修改,使之能在 嵌入式计算机系统上运行的一种操作系统。嵌入式linux既继承了Internet上 开放的源代码资源,又具有 嵌入式操作系统的特性。嵌入式Linux的特点是版权费免费,购买费用、媒介、成本、技术支持由全世界的自由 软件开发者提供,支持网络免费特性,而且性能优异,软件移植容易,代码开放,有许多 应用软件支持,应用产品开发周期短,新产品上市迅速,因为有许多公开的代码可以参考和移植,那么,如何真正移植和使用嵌入式linux?本文从实际角度阐述了一种现在通用的嵌入式linux开发环境的搭建方法。 1 系统总体框架 图1 系统总体框图 图1 系统总体框图 *指导教师:刘伟(19xx-),男,吉林xx人,吉林化工学院讲师,主要从事单片机应用、自动控制、信号检测等方面的研究.联系方式:0432-xxxxxxx. 系统总体框架如图1所示,嵌入式linux系统从软件的角度通常可以分为4个层次: 引导加载程序,包括固化在固件(firmware)中的boot代码(可选)和bootloader两部分组成。 Linux内核,特定于嵌入式板子的定制内核以及内核的启动参数,内核的启动参数可以使内核默认的,或是由bootloader传递给它的。 文件系统,包括根文件系统和建立于flash内存设备上的文件系统。包含了linux系统能够运行所必须的应用程序、库文件等,例如shell、glibc库等。 用户应用程序,特定于用户的应用程序,存储于文件系统中。嵌入式图形用户界面一般存在于用户应用程序和内核层之间,常用的GUI有Qt,miniGUI。 2 搭建交叉编译工具 登陆arm-linux-gcc官方网站 下载源码包,解压缩arm-linux-gcc源码包,放于系统中通过解压命令解压,然后可以通过两种方式配置环境变量,第一种是临时使用方法,即用export PATH将交叉编译器解压后的路径导入添加到环境变量中,第二种方法是永久使用方法,即编辑环境变量文件,将交叉编译器解压后的路径写入文件。 3 linux移植 3.1 获取内核源码 登陆linux内核的官方网站 /下载源码包,解压缩linux压缩包 。虽然内核文件数目总共3万多个,但是这些文件的组织结构并不复杂,而是分别为于顶层目录下的17个子目录。各个目录功能独立,各目录功能见表3-1。 表3-1 linux内核子目录结构 目录名 描述 arch 体系结构相关代码,每个架构的CPU均有 block 块设备的通用函数 crypto 常用加密和散列算法,例AES、SHA、CRC drivers 设备驱动程序 fs 文件系统代码 include 内核头文件 init 内核的初始化代码 ipc kernel 进程间通信的代码 内核管理的核心代码 lib 内核用到的一些库函数 mm 内存管理代码 net 网络支持代码 security 安全、密钥相关代码 sound 音频设备驱动程序 usr 用来制作压缩cpio归档文件(一般不用) document 内核文档 Scripts 配置、编译内核的脚本文件 3.2 Makefile分析 通过顶层Makefile决定交叉编译工具,具体Makefile分类见表3-2。 表3-2 linux内核Makefile分类 文件名 描述 顶层Makefile 所有Makefile核心,总体控制内核编译、链接 .config 配置文件,所有Makefile文件根据.config决定使用 arch/$(ARCH)/Makefile 对应体系结构的Makefile scripts/Makefile Makefile的通用规则、脚本 kbuild Makefile 各级目录下的Makefile 3.3 确定机器ID 在uboot工程中搜索cmd_bootm.c文件,在文件中搜索bootm得到do_bootm函数调用处,进入do_bootm函数,根据 boot_fn = boot_os[images.os.os];语句进入boot_os结构体,得到#ifdef CONFIG_BOOTM_LINUX [IH_OS_LINUX]=do_bootm_linux,进入arch/arm/lib/bootm.c中do_bootm_linux函数,得到 boot_jump

文档评论(0)

ze122230743 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档