DM驱动移植详解及问题点.docx
文本预览下载声明
HYPERLINK /acanoe/article/details/7516341 OK6410、2.6.36内核移植,dm9000 驱动移植,详细!
分类: HYPERLINK /ACanoe/article/category/1092973 嵌入式学习 HYPERLINK /ACanoe/article/category/904764 Linux学习 2012-04-27 00:54 3004人阅读 HYPERLINK /acanoe/article/details/7516341 \l comments 评论(7) HYPERLINK javascript:void(0); \o 收藏 收藏 HYPERLINK /acanoe/article/details/7516341 \l report \o 举报 举报
HYPERLINK /tag/details.html?tag=interface \t _blank interface HYPERLINK /tag/details.html?tag=c \t _blank c HYPERLINK /tag/details.html?tag=compression \t _blank compression HYPERLINK /tag/details.html?tag=resources \t _blank resources HYPERLINK /tag/details.html?tag=struct \t _blank struct HYPERLINK /tag/details.html?tag=table \t _blank table
? ? ? ?还是先来吐槽: ?本来我是在上一个星期的周末已经把 Linux1 的驱动已经成功的移植到, OK6410 的开发板上的,并且能够启动主机上的NFS 根文件系统, 可是我在周一的时候,开始学习LCD 的驱动程序, ?在修改内核文件的时候,有几处错误修改,将原来自己做的1 的内核源码 搞的乱七八糟的,在这里还是自己在修改内核的时候没有提注重注释, 并且没有记录下来自己的操作步骤,以至于我没办法,恢复2.6.34 的内核, 所以也就只能重新先开始最基础的内核移植了。 这次我选择的是 的内核, 谁知到一开始移植就出现一大堆问题。在这里我不得不说,飞凌开发人员对内核修改的代码,管理真的是太扯了,自己在注销任何一个设备是没有一点点注释,就把这个设备原有的线性地址分配给其它设备了,让我让我们这些菜鸟干看着一大堆的报错信息顶个什么用, 真的是伤不起。好了不乱扯了,现在开始记录。我的开发环境是:VMware Ubuntu 10.10 。OK6410 A版 256M+2G 的开发板。 主机系统:XP。Uboot:飞凌提供的Uboot。参考内核 :飞凌提供的 Forlinx ? 的 内核操作步骤 ?以下./ ?均代表你的内核 根目录1、修改./Makefile191 ?ARCH ? ? ? ? ??=arm ? ? ? ? ? ? ? ? ? ?// 指定cpu类型, arm后面不要有空格,要不然编译是会提醒ARCH 不能为一个目录192 ?CROSS_COMPILE ? ? ??=/usr/local/arm/4.2.2-eabi/usr/bin/arm-linux- ? ? ? ? ? ? // 指定交叉编译器的路径,按照你自己的进行指定路径
2、
先来说说nand flash 的驱动涉及到的文件:
MTD 通用nand flash 驱动程序位置:./drivers/mtd/nand/.nand_base.c
NAND Flash 的 platform 设备信息: ./drivers/mtd/nand/s3c_nand.c
有了上面的依赖驱动依赖程序 、接下来
修改./arch/arm/mach-s3c64xx/mach-smdk6410.c 1) ?nandflash ?驱动,修改方法
加载头文件 ? ? ? ?
[cpp] HYPERLINK /acanoe/article/details/7516341 \o view plain view plain HYPERLINK /acanoe/article/details/7516341 \o copy copy HYPERLINK /acanoe/article/details/7516341 \o print print HYPERLINK /acanoe/article/details/7516341 \o ? ?
#include?linux/mtd
显示全部