- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux驱动开发实验报告
Linux驱动开发实验报告
目录
TOC \o 1-3 \h \z \u Linux驱动开发实验报告 1
实验一、Linux内核移植实验 2
1.1 资源 2
1.2 解压源码包 3
1.3 修改Makefile文件,支持交叉编译 3
1.1 得到.config文件 3
1.5 修改Nand Flash分区 4
1.6 添加LCD支持 5
1.7 添加网卡驱动 6
1.8 添加YAFFS文件系统支持 7
1.9 内核配置(即内核裁剪) 7
1.10 编译内核 9
1.11 烧写内核 9
实验二、ARM Norflash驱动实验 10
2.1、环境 10
2.2、目的 10
2.3、实验步骤 10
实验三、嵌入式linux驱动实验 15
3.1、实验目的 15
3.2、实验原理 15
3.3、参考程序 16
3.4、实验步骤 24
3.5、实验结果 29
3.6、实验体会 29
实验四、LCD驱动实验 29
4.1、实验目的 29
4.2、实验设备(环境)及要求 29
4.3、试验结果 31
4.4、实验总结 31
实验五、DM9000网卡驱动 32
5.1、实验目的 32
5.2、实验设备(环境)及要求 32
5.3、实验内容与步骤 32
5.4、试验结果 34
5.5、实验总结 34
实验一、Linux内核移植实验
1.1 资源
linux-.tar.bz2 (Linux内核源码的压缩包,下载地址 )
yaffs2.tar.gz (yaffs文件系统源码的压缩包)
dm9000.h和dm9000.c (dm9000网卡驱动程序)
1.2 解压源码包
在XP中,把“01/下午/src”文件夹拷贝到“//2”的共享文件夹uptech内,并把uptech中的“src”更名为“01 linux
在Linux虚拟机中进入该文件夹“cd /home/uptech/01 linux”
ls可见1个文件:“linux-.tar.bz2”、“yaffs2.tar.gz”、“dm9000.h”、“dm9000.c
bz2压缩包用“tar jxvf”解压
gz压缩包用“tar zxvf”解压
解压Linux源码压缩包,即输入命令“tar jxvf linux-.tar.bz2
解压YAFFS源码压缩包,即输入命令“tar zxvf yaffs2.tar.gz”
1.3 修改Makefile文件,支持交叉编译
cd /home/uptech/01 linux/linux-,该目录下就是linux的内核源码
修改Makefile文件,使之支持交叉编译,也就是在Linux上编译出ARM开发板上运行的内核程序。
ARCH ?= arm (目标平台是arm)
CROSS_COMPILE ?= arm-linux- (交叉编译器的前缀是arm-linux-)
1.1 得到.config文件
得到.config文件
将“/home/uptech/01 linux/linux-/arch/arm/configs/s3c2110_defconfig”文件拷贝成“/home/uptech/01 linux/linux-/.config”
cp arch/arm/configs/s3c2110_defconfig .config
对内核进行裁剪(此时暂时不做裁剪,仅是看看)
make menuconfig
1.5 修改Nand Flash分区
修改“/home/uptech/01 linux/linux-/arch/arm/plat-s3c21xx/common-smdk.c”文件中的“struct mtd-partition smdk_default_nand_part[]”这个结构体:
第一个分区从0x0000 0000 到 0x0008 0000,大小为0.5M
第二个分区从0x0008 0000 到 0x0028 0000,大小为2M
第三个分区从0x0028 0000 到 0x0068 0000,大小为1M
第四个分区从0x0068 0000 到 0x0100 0000,大小为57.5M
具体做法:
(1) vi arch/arm/plat-s3c21xx/common-smdk.c
(2)修改分区信息结构体
static struct mtd_partition smdk_default_nand_part[] = {
[0] = {
.name = Bootloader,
.size =
文档评论(0)