您的位置:首页 > 其它

喜羊羊系列之【初级驱动笔记一】

2015-05-15 20:56 155 查看
博客:http://blog.csdn.net/muyang_ren

一、***内核错误

(1)make uImage

"mkimage" command not found - U-Boot images will not be built
make[1]: *** [arch/arm/boot/uImage] 错误 1
make: *** [uImage] 错误 2
解决方法:

如果要生成uImage,需要mkimage这个工具,此工具是在编译uboot的时候生成的,是用来生成uImage的工具。在编译uboot生成mkimage工具后,需要将此工具拷贝到ubuntu的/usr/bin目录下,并需要修改此文件的权限为可执行的。

(2)tar -xvf filesystem.tar.gz

tar: filesystem/dev/console:无法 mknod: 不允许的操作
filesystem/proc/
tar: 由于前次错误,将以上次的错误状态退出
解决方法:

使用root用户就可以实现解压缩

(3)rmmod hello

rmmod: chdir(/lib/modules): No such file or directory
解决方法:

mkdir /lib/modules

----------------------------------------------------------------------------------------

rmmod: chdir(3.0.8): No such file or directory
解决方法:

mkdir /lib/modules/3.0.8

(4)modinfo hello.ko

modinfo: can't open '/lib/modules/3.0.8/modules.dep': No such file or directory
解决方法:

mkdir /lib/modules/3.0.8/modules.dep

(5)简单makefile分析

//分析Makefile
ifeq ($(KERNELRELEASE),)		//KERNELRELEASE宏定义
	KERNELDIR =/home/farsight/work/kernel/linux-3.0.8		//内核源码所在路径
	PWD =$(shell pwd)		//内核模块hello.c所在路径
modules:	//进入内核源码所在路径(KERNELDIR), 获取其中的Makefile(MAKE), 并利用Makefile将*.c -> *.o文件,同时将KERNELRELEASE赋值
	$(MAKE) -C $(KERNELDIR) M=$(PWD) modules   //(1)
	cp hello.ko /opt/filesystem/s5pv210        //(3)
modules_install:                               //这句没有执行
	$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
clean:
	rm -rf *.so *.o *.ko  .tmp_versions *.mod.c *.order *.symvers 
else
	obj-m :=hello.o		//hello.o -> hello.ko  //(2)
endif
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: