学位论文 > 优秀研究生学位论文题录展示
基于μClinux平台的SATA硬盘控制器SIL3114驱动移植的方法研究
作 者: 陆银丽
导 师: 黄智伟
学 校: 南华大学
专 业: 物理电子学
关键词: 驱动移植 编译 测试 μClinux SATA硬盘控制器SIL3114 S3C2510 DVR
分类号: TP333.35
类 型: 硕士论文
年 份: 2012年
下 载: 26次
引 用: 0次
阅 读: 论文下载
内容摘要
本课题是嵌入式数字视频录像机(DVR,Digital Video Recorder)项目中的一部分,根据项目要求,需要将标准μClinux2.4.27(以下称为源内核)中SATA硬盘控制器SIL3114的驱动代码移植到μClinux2.4.17(以下称为目标内核)中。依据课题开发要求,搭建及配置了嵌入式开发平台。对静态编译和动态编译的特点进行了分析,动态编译了SIL3114的驱动代码,之后再编译到目标内核空间,成功实现了SIL3114驱动代码在μClinux不同版本之间的移植。在所选择的嵌入式开发平台上,配置了Windows和Linux开发环境,建立交叉编译环境,并进行了测试。Windows平台的配置包括FTP客户端以及DNW和Source Insight的软件配置。在Linux开发环境的配置过程中,进行了网络服务、VMware Tools、共享文件、FTP服务端、root用户登录以及全屏显示等配置。根据嵌入式DVR项目的具体要求,结合内核的编译原理,设计了SIL3114驱动代码在μClinux不同版本之间移植的流程图。依据流程图,SIL3114驱动代码的移植主要分三步来完成:首先,实现基于源内核环境下SIL3114驱动代码的动态编译;然后,实现基于目标内核环境下SIL3114驱动代码的动态编译;最后,根据静态编译原理,将SIL3114的驱动代码静态编译到目标内核,成功生成二进制内核可执行文件linux.bin。在测试过程中,进行了启动代码ARMboot的分析,确定如何支持SATA硬盘控制器。然后,利用H-JTAG工具将ARMboot、目标内核二进制文件以及文件系统烧入Flash中,实现了理论分析与测试。采用上述方法将μClinux2.4.27内核中SATA硬盘控制器SIL3114的驱动移植到μClinux2.4.17中,实现了驱动移植,可以明显提高效率,缩短开发周期。本文所介绍的驱动移植方法,也可以为那些不熟悉内核编码规则以及具体硬件工作原理的开发人员,提供一种有效的驱动移植途径。
|
全文目录
摘要 3-4 Abstract 4-9 第一章 绪论 9-14 1.1 课题背景和意义 9-13 1.1.1 课题背景 9-12 1.1.2 研究意义 12-13 1.2 本文概述 13-14 第二章 搭建及配置开发平台 14-26 2.1 安装与配置 Linux 平台 14-19 2.1.1 安装虚拟机 VMware Workstation 15 2.1.2 安装嵌入式操作系统 Ubuntu 15-16 2.1.3 配置 Linux 平台 16-19 2.2 配置 PC 机平台 19-20 2.2.1 配置 FTP 客户端 19 2.2.2 设置 DNW 19-20 2.2.3 安装 Source Insight 20 2.3 建立交叉编译环境及测试 20-25 2.3.1 安装交叉编译工具 21-22 2.3.2 修改环境变量 22-23 2.3.3 示例程序的编写与测试 23-25 2.4 小结 25-26 第三章 移植 SIL3114 的驱动 26-65 3.1 嵌入式系统开发的流程 26 3.2 SIL3114 驱动移植流程图的设计 26-28 3.2.1 静态编译与动态编译 26-28 3.2.2 SIL3114 驱动移植流程图的设计 28 3.3 μClinux 内核的配置系统 28-35 3.3.1 make 工具及工作原理 30-31 3.3.2 Makefile 基本结构 31 3.3.3 Makefile 规则 31-33 3.3.4 Config.in 功能及简单语法 33-35 3.4 Gcc 编译流程 35-37 3.5 获取标准μClinux 内核 37-38 3.6 源内核环境下的模块编译 38-45 3.6.1 确定处理器和编译器类型 39 3.6.2 编写 Makefile 39-41 3.6.3 分析头文件的搜索路径 41-43 3.6.4 分析内核中的条件编译 43-44 3.6.5 引用头文件 44-45 3.6.6 编译结果及分析 45 3.7 目标内核下的模块编译 45-52 3.7.1 建立目标内核下模块编译条件 45-46 3.7.2 分析解析错误(parse error) 46-48 3.7.3 分析隐式声明 48-50 3.7.4 分析内建函数 50-52 3.7.5 编译结果及分析 52 3.8 目标内核下的静态编译 52-64 3.8.1 修改配置文件 Makefile 和 Config.in 52-53 3.8.2 分析 Makefile 的隐晦规则 53-54 3.8.3 编译目标内核 54-56 3.8.4 分析链接过程 56-59 3.8.5 导出全局符号 59-62 3.8.6 分析未定义变量 62-63 3.8.7 结果及分析 63-64 3.9 小结 64-65 第四章 测试 65-75 4.1 嵌入式系统的软件组成 65 4.2 常见 Bootloader 的启动过程 65-66 4.3 分析 ARMboot 启动代码 66-70 4.4 ROMFS 文件系统 70-71 4.5 测试 71-74 4.5.1 利用 H-JTAG 烧写 Bootloader 72-73 4.5.2 烧写内核和文件系统 73-74 4.6 小结 74-75 第五章 总结与展望 75-77 参考文献 77-82 致谢 82-83 攻读硕士学位期间发表的论文 83
|
相似论文
- 半球谐振陀螺误差分析与测试方法设计,V241.5
- 基于无线通信的弹载计算机系统BIT设计,TJ414
- 基于无线传感器网络的电动汽车电池组综合测试技术研究,U469.72
- 低轨卫星移动信道特性模拟硬件实现,TN927.23
- 基于WEB的仿真互操作性测试工具研究,TP391.9
- 测量微波材料介电常数的新方法研究,O441.6
- 电子产品质量监控测试设备设计,TN06
- 物料悬浮速度智能测试系统的设计研究,S220.2
- 基于形式化UML测试序列生成方法研究,TP311.53
- 温压炸药爆炸温度场存储测试技术研究,TQ560.7
- 基于PC+运动控制卡的雕铣系统开发及铣削仿真研究,TG54
- 电动缸的测试系统设计及建模,TH137.51
- 悬臂梁时变系统设计及虚拟实验研究,TJ303
- 面向方面软件开发与编译器技术分析研究,TP311.52
- 双动力汽车控制器智能测试系统的设计与实现,TP274
- 横组合知识强化,中国大学生二语心理词库重构与二语习得,H09
- 统计方法在我国外语测试领域应用的调查研究,H319
- 完形填空应用于口语测试的效度研究,H319
- 高中英语写作直接测试与间接测试效度差异研究,G633.41
- 串联混合动力城市客车整车控制器研制与应用,U469.7
- 嵌入式通信管理装置的设计与研究,TP368.1
中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 电子数字计算机(不连续作用电子计算机) > 存贮器 > 磁存贮器及其驱动器 > 磁盘存贮器
© 2012 www.xueweilunwen.com
|