OK6410源码中提供了hello world模块,位于6410\linux-3.0.1\drivers\char目录下,我想测试下这个模块,结果搞了我几乎一天时间还没完全搞好,悲剧,飞凌提供的资料太悲剧了。
1、在装好linux的板上,用dnw: ismod发现没有模块在运行,于是查看/lib下没有modules文件夹,也找不到哪里有.ko文件(没仔细找,net的除外)。
2、进入linux3.0.1目录,make menuconfig 中把forlinx6410_hello_module选为M,编译make,在\linux-3.0.1\drivers\char下发现forlinx6410_hello_module.ko文件
3、下面就是最烦的文件系统了,我想把forlinx6410_hello_module.ko文件拷贝到板子上运行,因为我没有用NFS,所以要加到文件系统里,编译烧录进nand
4、文件系统怎么搞呢,之前一直用现成的mkyaffs2image-nand2g,现在自己制作。。。把forlinx6410_hello_module.ko文件拷贝到文件系统目录的lib\modules下,用
./mkyaffs2image-nand2g FileSystem-Yaffs2 rootfs.yaffs2命令制作,悲剧出来了,生成的rootfs.yaffs2文件近500M,,根本就DNW不进去啊,DDR是512M的。。。。
飞凌现成的mkyaffs2image-nand2g才139M,咋回事我也不知道,谷歌也没帮上我。。
5、没办法啊,参考OK6410上构建自己的根文件系统,自己搞个文件系统吧,同样把forlinx6410_hello_module.ko文件拷贝到文件系统目录的lib\modules下,编译出来只有29M,这次够小了,只是没有了QT,生成的文件要记得chmod 777,烧录进nand,reset
6、进入文件系统lib\modules下insmodforlinx6410_hello_module.ko,dnw下显示出了hello,world,靠就这样,lsmod发现hello已运行。
欧了,一天就搞了这鸟东西。