移植块设备驱动
ramblock(内存模拟磁盘)
/* 参考文件:
drivers\block\Xd.c
drivers\block\Z2ram.c
*/
上传二期编写好的ramblock驱动文件及其Makefile,修改其Makefile,编译后出现如图错误提示。
—修改Makefile
—错误提示
根据错误提示,修改驱动文件后,重新编译,仍存在一些错误
—根据参考文件Z2ram.c,修改一些错误
—重新编译,仍存在如图一些错误
再次根据错误提示,参考文件Z2ram.c,修改驱动文件后,重新编译,编译成功
—修改文件
—编译成功
拷贝文件,测试驱动(内核:uImage_3.4.2_nolcd,加载驱动后,系统僵死)
修改文件后,上传文件重新编译(成功),重新拷贝文件
测试驱动(内核:uImage_3.4.2_nolcd)
/ # insmod ramblock.ko ---加载驱动 / # mkdosfs /dev/ramblock ---格式化 / # mount -t vfat /dev/ramblock /mnt ---挂接 / # ls /mnt / # cd /mnt /mnt # vi tianpeng.txt ---创建文件
/mnt # cd / / # umount /mnt / # mount -t vfat /dev/ramblock /mnt / # cat /mnt/tianpeng.txt ---验证是否创建文件成功 / # umount /mnt
/ # fdisk /dev/ramblock ---分区
2017/12/19 星期二 11:24:37
Nand Flash
/* 参考文件:
* drivers\mtd\nand\S3c2410.c
* drivers\mtd\nand\At91_nand.c
*/
上传二期编写好的nand flash驱动文件及其Makefile,修改其Makefile,编译后出现如图错误提示。
—修改Makefile
—错误提示
根据错误提示,修改驱动文件后,重新编译,编译成功
—修改1
—修改2(提示使用的add_mtd_partitions函数存在问题)
解决方法:寻找新内核现使用的函数。
—编译成功
拷贝ko文件到根文件系统目录下,配置内核(去掉内核自带的nand驱动),并命名为uImage_3.4.2_nolcd_nonand
—拷贝文件
cp s3c_nand.ko /work/nfs_root/fs_mini_mdev_new
—配置内核
-> Device Drivers -> <*> Memory Technology Device (MTD) support -> <*> NAND Device Support -> < > NAND Flash support for S3C2410/S3C2440 SoC
—命名为uImage_3.4.2_nolcd_nonand
cp arch/arm/boot/uImage /work/nfs_root/uImage_3.4.2_nolcd_nonand
测试驱动(新内核启动:uImage_3.4.2_nolcd_nonand)
—nfs下载新内核,并启动
nfs 30000000 192.168.0.3:/work/nfs_root/uImage_3.4.2_nolcd_nonand bootm 30000000
—测试(本例还可以用工具测试,详见第19课NAND Flash之编写驱动+测试.txt)
Nor Flash
上传二期编写好的nor flash驱动文件及其Makefile,修改其Makefile,编译后出现如图错误提示。
—修改Makefile
—错误提示
根据错误提示,修改驱动文件后,重新编译,编译成功
—根据nand驱动修改经验,修改nor驱动
—编译成功
拷贝ko文件,测试驱动
3.1 拷贝完文件后,开发板断电并将拨码开关拨到nor启动,上电重启,下载内核uImage_3.4.2_nolcd_nonand,并用其启动。
3.2 测试
2017/12/20 星期三 15:31:25
移植虚拟网卡
上传二期编写好的虚拟网卡驱动文件及其Makefile,修改其Makefile,编译后出现如图错误提示。
—修改Makefile
—错误提示
错误提示:’struct net_device’ has no member named ‘hard_start_xmit’,参考内核网卡驱动dm9000.c修改文件,重新编译,编译成功
—修改文件
—重新编译
拷贝文件,测试驱动(内核:uImage_3.4.2_nolcd_nonand)
insmod vir_net.ko ifconfig vnet0 2.2.2.2 ifconfig ping 2.2.2.3(成功) ifconfig //vnet0网卡信息有变化
2017/12/21 星期四 9:16:50