没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Mini2440 之 Linux 移植开发实战指南
让梦想从实践开始
2010-4-14
简 介
本手册由广州友善之臂计算机科技有限公司(简称“友善之臂”)创建和维护,并作为标准
用户手册的一个补充,仅供嵌入式爱好者学习参考使用,友善之臂目前并不对本手册的内容
提供任何解释和解答服务,用户可以在论坛中反馈你所遇到的问题和疑问,我们将在以后的
更新中修正或者采纳您的建议,本手册主要以首页日期为版本标志。
本手册主要介绍了 Linux-2.6.32.2 内核的详细移植过程,它包含了友善之臂提供的几乎所
有驱动程序的移植或编写、测试等;本手册还详细介绍了 mini2440 所用文件系统的构建过程。
Mini2440 开发板凭借优良的质量、齐全实用的软件、精巧细致的设计以及快速有效的技
术支持,深得用户的喜爱和认同,是国内使用人数最多的 ARM9 开发板,并且已经被 Linux
官方内核所支持(从 Linux-2.6.31 开始),有很多网友基于 Mini2440 学习和开发嵌入式软件,
并写了很多有价值的文档和经验总结,本手册的部分内容就来源于此,在此我们十分感谢各
位爱好者的分享和贡献,本手册所参考的文章力求注明原文出处,如有不实,请作者和我们
及时联系以便修正。
因为 micro2440 和 mini2440 的硬件接口和资源都是完全相同的,所以本手册也可以适用
于 micro2440 开发板。
我们欢迎各位网友复制传播本手册,友善之臂仅保留本手册的解释和修改权。
友善之臂公司网址:http://www.arm9.net
本手册由ARM9 之家论坛(http://www.arm9home.net)发布,转载请注明出处。
目 录
目 录 ........................................................................................................................................................................... 2
第一章Git的安装和使用(基于Fedora 9).................................................................................................................... 6
1.1 下载Git源代码 ........................................................................................................................................... 6
1.2 安装Git ....................................................................................................................................................... 6
1.3 检查版本号 ................................................................................................................................................. 6
第二章 关于supervivi和开发环境............................................................................................................................. 8
2.1 关于supervivi ............................................................................................................................................... 8
2.1.1 最新的supervivi及分区表................................................................................................................. 8
2.1.2 如何识别开发板上supervivi版本..................................................................................................... 8
2.1.3 如何恢复或者更新开发板的supervivi............................................................................................ 10
2.1.4 supervivi功能一览表........................................................................................................................ 10
2.1.5 如何使用其他开源的bootloader .................................................................................................... 12
2.1.6 为什么要使用最新的supervivi................................................................................................. 13
2.2 关于开发平台 ............................................................................................................................................ 13
2.3 关于交叉编译器 ......................................................................................................................................... 14
第三章 Linux-2.6.32.2 内核移植详细步骤............................................................................................................. 16
3.1 引子 ............................................................................................................................................................ 16
3.2 获取Linux内核源代码............................................................................................................................... 16
3.3 解压内核源代码 ........................................................................................................................................ 17
3.4 指定交叉编译变量 .................................................................................................................................... 18
3.5 克隆建立自己的目标平台 ........................................................................................................................ 19
3.5.1 关于机器码 ..................................................................................................................................... 19
3.5.2 修改时钟源频率 ............................................................................................................................. 22
3.5.3 从SMDK2440 到MINI2440............................................................................................................ 23
3.5.4 编译测试 ......................................................................................................................................... 24
3.6 关于内核配置菜单中的mini2440 选项 .................................................................................................... 28
3.7 移植Nand驱动并更改分区信息................................................................................................................ 31
3.7.1 Linux-2.6.32.2 内核所支持的Nand Flash类型 ............................................................................... 31
3.7.2 修改Nand Flash分区表 ................................................................................................................... 32
3.7.3 从启动信息中查看分区表 ............................................................................................................. 36
3.8 移植yaffs2 .................................................................................................................................................. 38
3.8.1 获取yaffs2 源代码 .......................................................................................................................... 38
3.8.2 为内核打上yaffs2 补丁................................................................................................................... 39
3.8.3 配置和编译带YAFFS2 支持的内核............................................................................................... 41
3.8.4 烧写到开发板运行测试 ................................................................................................................. 43
3.9 移植DM9000 网卡驱动............................................................................................................................. 43
3.9.1 设备资源初始化 ............................................................................................................................. 43
3.9.2 调整DM9000 所用的位宽寄存器 .................................................................................................. 45
3.9.3 关于MAC地址 ................................................................................................................................ 46
3.9.4 配置内核加入DM9000,并编译运行测试 ................................................................................... 47
3.10 激活RTC驱动........................................................................................................................................... 48
3.10.1 在初始化文件中加入RTC设备结构 ............................................................................................ 48
3.10.2 在内核中配置RTC........................................................................................................................ 49
3.10.3 测试RTC........................................................................................................................................ 49
3.11 添加LCD背光驱动(带详细注解)............................................................................................................ 51
3.11.1 LCD背光控制原理......................................................................................................................... 51
3.11.2 在内核中添加背光驱动程序........................................................................................................ 52
3.12 移植LCD显示驱动 .................................................................................................................................. 57
3.12.1 LCD驱动基础知识 ........................................................................................................................ 57
3.12.2 新内核中的pixclock参数.............................................................................................................. 59
3.12.3 在内核中添加各种LCD类型的支持............................................................................................ 61
3.12.4 配置内核并下载到开发板测试.................................................................................................... 67
3.13 修改Linux Logo ....................................................................................................................................... 68
3.13.1 使用命令行工具修改Linux LOGO.............................................................................................. 68
3.13.2 使用图形化的LogoMaker制作Linux LOGO............................................................................... 69
3.14 添加ADC驱动.......................................................................................................................................... 74
3.14.1 关于S3C2440 的ADC和触摸屏接口 ........................................................................................... 74
3.14.2 在内核中添加ADC驱动............................................................................................................... 74
3.14.3 ADC测试程序 ................................................................................................................................ 82
3.15 添加触摸屏驱动(带详细原理分析)........................................................................................................ 84
3.15.1 在内核中添加触摸屏驱动程序.................................................................................................... 84
3.15.2 配置编译内核并测试触摸屏驱动................................................................................................ 92
3.15.3 触摸屏驱动原理详解 ................................................................................................................... 93
3.16 配置USB外设......................................................................................................................................... 102
3.16.1 配置和测试USB键盘、扫描器和鼠标...................................................................................... 102
3.16.2 测试USB键盘、扫描器和鼠标.................................................................................................. 103
3.16.3 配置优盘 ...................................................................................................................................... 104
3.16.4 测试优盘 ..................................................................................................................................... 107
3.16.5 配置和测试USB摄像头.............................................................................................................. 109
3.16.6 测试USB摄像头...........................................................................................................................112
3.16.7 配置和测试USB无线网卡...........................................................................................................114
3.16.8 测试USB无线网卡.......................................................................................................................118
3.16.9 配置USB转串口...........................................................................................................................118
3.16.10 测试USB转串口.........................................................................................................................118
3.17 移植SD卡驱动 ........................................................................................................................................118
3.17.1 在内核中注册SD设备驱动 .........................................................................................................118
3.17.2 测试SD卡 .....................................................................................................................................119
3.17.3 mini2440 的SD卡驱动分析(来自网络) ...................................................................................... 121
1.硬件基础 .............................................................................................................................................. 121
2.MMC子系统的基本框架结构............................................................................................................. 121
3.HOST层分析........................................................................................................................................ 122
4.CORE层分析........................................................................................................................................ 127
5. CARD层分析 ...................................................................................................................................... 130
6. 实验 .................................................................................................................................................... 135
7 结论 ...................................................................................................................................................... 135
3.18 移植UDA1341 音频驱动....................................................................................................................... 136
3.18.1 在初始化文件中加入UDA1341 设备结构................................................................................ 136
3.18.2 在内核中配置UDA1341 设备驱动............................................................................................ 137
3.18.3 mp3 放音测试 .............................................................................................................................. 139
3.18.4 修正驱动中的录音代码 ............................................................................................................. 140
3.18.5 录音测试 ..................................................................................................................................... 141
3.19 修整串口驱动 ........................................................................................................................................ 143
3.19.1 把UART2 改为普通串口驱动.................................................................................................... 143
3.19.2 测试串口 ..................................................................................................................................... 144
3.20 移植I2C-EEPROM驱动......................................................................................................................... 147
3.20.1 在内核中配置I2C驱动 ............................................................................................................... 147
3.20.2 测试I2C-EEPROM...................................................................................................................... 148
3.21 移植看门狗驱动 .................................................................................................................................... 150
3.21.1 在内核中配置看门狗驱动 ......................................................................................................... 150
3.21.2 关于打开和关闭看门狗 ............................................................................................................. 151
3.21.3 测试看门狗 ................................................................................................................................. 152
3.22 最简单的LED驱动................................................................................................................................. 153
3.22.1 LED驱动原理及编写................................................................................................................... 153
3.22.2 配置编译新内核并测试LED...................................................................................................... 160
3.22.3 测试LED...................................................................................................................................... 161
3.23 基于中断的按键驱动程序 .................................................................................................................... 163
3.23.1 硬件原理 ..................................................................................................................................... 163
3.23.2 驱动程序分析及编写 ................................................................................................................. 164
3.23.3 把按键驱动加入内核 ................................................................................................................. 170
3.23.4 配置编译新内核 ......................................................................................................................... 171
3.23.5 测试按键 ..................................................................................................................................... 172
3.24 添加PWM控制蜂鸣器驱动................................................................................................................... 174
3.24.1 硬件解析 ..................................................................................................................................... 174
3.24.2 编写添加驱动程序 ..................................................................................................................... 176
3.24.3 把驱动程序加入内核 ................................................................................................................. 181
3.24.4 配置编译新内核 ......................................................................................................................... 182
3.24.5 测试PWM控制蜂鸣器................................................................................................................ 182
第四章 关于文件系统 ........................................................................................................................................... 187
4.1 友善之臂mini2440 root_qtopia 文件系统启动过程分析...................................................................... 187
4.2 使用Busybox构建文件系统 ................................................................................................................... 205
4.2.1 下载busybox源代码...................................................................................................................... 205
4.2.2 根文件系统目录说明 .................................................................................................................... 205
4.2.3 建立根文件系统目录 .................................................................................................................... 206
4.2.4 建立动态链接库 ........................................................................................................................... 207
4.2.5 交叉编译Bosybox ......................................................................................................................... 207
4.2.6 建立etc目录下的配置文件............................................................................................................ 209
4.2.7 制作根文件系统映像文件 ............................................................................................................ 210
4.3 mdev的使用方法和原理 .......................................................................................................................... 214
4.3.1 mdev的使用 ................................................................................................................................... 215
4.3.2 mdev的原理 ................................................................................................................................... 216
4.3.3 一个使用mdev的gpio控制驱动示例............................................................................................ 216
4.4 移植madplay并加入文件系统................................................................................... 错误!未定义书签。
4.5 移植web服务器(boa)并加入文件系统 ..................................................................... 错误!未定义书签。
4.6 移植ftp服务器(vsftp)并加入文件系统 ..................................................................... 错误!未定义书签。
4.7 移植Qtopia-2.2.0 并加入文件系统 ........................................................................... 错误!未定义书签。
附录 1 基于mini2440 的开源项目 .......................................................................................... 错误!未定义书签。
1.1 Linux内核.............................................................................................................. 错误!未定义书签。
1.2 U-Boot ......................................................................................................................... 错误!未定义书签。
1.3 QEMU模拟器 ............................................................................................................. 错误!未定义书签。
1.4 国产抢占式实时开源操作系统RT-Thread ............................................................... 错误!未定义书签。
1.5 OpenEmbedded............................................................................................................ 错误!未定义书签。
1.6 Emdebian..................................................................................................................... 错误!未定义书签。
1.7 RockBox...................................................................................................................... 错误!未定义书签。
1.8 NetBSD........................................................................................................................ 错误!未定义书签。
1.9 kasim的git ................................................................................................................... 错误!未定义书签。
1.10 android....................................................................................................................... 错误!未定义书签。
1.11 openwrt ...................................................................................................................... 错误!未定义书签。
附录 2 mini2440 使用经验文集(仅限Linux系统)................................................................ 错误!未定义书签。
2.1 把mini2440 作为USB网卡或者移动存储设备(U盘).......................................... 错误!未定义书签。
2.2 成功移植DHCP客户端到mini2440 .......................................................................... 错误!未定义书签。
剩余220页未读,继续阅读
资源评论
一段波
- 粉丝: 1
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于可再生能源的微电网电源管理系统
- 1714641049369119_download.jsp
- a股上市公司2007年至2020年的员工构成数据
- 【打击高价帖】低价出2000-2019各国签订的RTA区域贸易协定数量(双边)
- IMG_20240502_102008.jpg
- A股上市企业超额管理费用数据集-含参考文献、原始数据、结果数据(2003-2022年) .txt
- qtcreator11.0.3.输入中文.so
- Unity3D版本游戏源码2-91极道杀戮最新支持webgFullGameKitHammer2
- HTML5+CSS+JS精品网页模板 大学生期末大作业 Web前端网页制作
- 基于Flask的Python全国招聘岗位就业可视化系统源码+项目说明.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功