ok6410开发板android底层驱动模块编写,出现insmod:init_module ‘hello.ko’ failed (Exec format error)
2013-03-09 22:31
676 查看
1.在pc linux 系统上基于linux2.6.32 编译生成hello.ko文件,把hello.ko文件移到以linux2.6.32为内核的linux开发板上,执行insmod hello.ko,成功。
2.把同一个hello.ko文件移植到android开发板,在android串口终端输入insmod hello.ko,失败。显示信息insmod:init_module ‘hello.ko’ failed (Exec format error)。
查看android系统内核基于linux2.6.36.android内核原文件为forlinx_android2.3_kernel_v1.01.tar.gz,其实是基于linux2.3.6。只是ok6410对其稍作修改。把forlinx_android2.3_kernel_v1.01.tar.gz文件以及arm-linux-gcc-4.3.2.tgz、arm-none-linux-gnueabi-arm-2008q3-72-for-linux.tar.bz2两个编译器解压安装到linux系统上,怎么安装就不说了。
3.解压forlinx_android2.3_kernel_v1.01.tar.gz至/home/wangben/ 目录下,命令切换至android2.3_kernel_v1.01
#cd /home/wangben/android2.3_kernel_v1.01
#make clean
#make
4.在/home/wangben/android2.3_kernel_v1.01/arch/arm/boot生成uImage.内核即编译完成。
5.编写hello.c
和Makefile文件
6.把此两个文件放在同一个文件夹hello内。
将命令切换至hello下
#cd /home/wangben/hello
#make
生成hello.ko文件。也可以在linux终端使用命令
# make -C /home/wangben/android2.3_kernel_v1.01/ M=/home/wangben/hello
也可生成hello.ko文件。 -C 后为android 对应linux源码目录 M为hello.c所在目录。
把文件传送到android开发板根目录。在开发板android串口终端把路径切换为android开发板根目录,执行insmod hello.ko.哈哈。。成功执行了。配android 串口终端如下所示:
/ # insmod hello.ko
Hello world
/ # lsmod
hello 593 0 - Live 0xbf006000
/ # rmmod hello
Hello world exit
/ #
大功告成!!
2.把同一个hello.ko文件移植到android开发板,在android串口终端输入insmod hello.ko,失败。显示信息insmod:init_module ‘hello.ko’ failed (Exec format error)。
查看android系统内核基于linux2.6.36.android内核原文件为forlinx_android2.3_kernel_v1.01.tar.gz,其实是基于linux2.3.6。只是ok6410对其稍作修改。把forlinx_android2.3_kernel_v1.01.tar.gz文件以及arm-linux-gcc-4.3.2.tgz、arm-none-linux-gnueabi-arm-2008q3-72-for-linux.tar.bz2两个编译器解压安装到linux系统上,怎么安装就不说了。
3.解压forlinx_android2.3_kernel_v1.01.tar.gz至/home/wangben/ 目录下,命令切换至android2.3_kernel_v1.01
#cd /home/wangben/android2.3_kernel_v1.01
#make clean
#make
4.在/home/wangben/android2.3_kernel_v1.01/arch/arm/boot生成uImage.内核即编译完成。
5.编写hello.c
和Makefile文件
6.把此两个文件放在同一个文件夹hello内。
将命令切换至hello下
#cd /home/wangben/hello
#make
生成hello.ko文件。也可以在linux终端使用命令
# make -C /home/wangben/android2.3_kernel_v1.01/ M=/home/wangben/hello
也可生成hello.ko文件。 -C 后为android 对应linux源码目录 M为hello.c所在目录。
把文件传送到android开发板根目录。在开发板android串口终端把路径切换为android开发板根目录,执行insmod hello.ko.哈哈。。成功执行了。配android 串口终端如下所示:
/ # insmod hello.ko
Hello world
/ # lsmod
hello 593 0 - Live 0xbf006000
/ # rmmod hello
Hello world exit
/ #
大功告成!!
相关文章推荐
- insmod: init_module 'hello.ko' failed (Exec format error)
- 出现insmod: can't insert 'kernel_hello.ko': invalid module format解决方法
- 在OK6410 android开发板上添加led驱动模块,并通过NDK测试驱动
- 往开发板写led驱动时出现错误:insmod: can't insert 's3c_led.ko': unknown symbol in module or invalid parameter
- android中使用代码混淆出现Conversion to Dalvik format failed with error 1错误的解决办法
- 在ok6410 Androdi开发板运行c程序,添加驱动模块,并测试android驱动
- Android照相功能驱动层中HAL的实现(基于OK6410开发板+OV9650摄像头)
- 加载模块是提示“insmod: error inserting 'helloworld.ko': -1 Invalid module format”
- 插入模块出现Error: could not insert module testsecond.ko: Device or resource busy
- 在android中使用proguard混淆代码出现“Conversion to Dalvik format failed with error 1”错误的解决方法
- android打包签名时出现conversion to Dalvik format failed with error 1错误
- android底层驱动学习之 module_init的内核调用顺序
- 在Android开发中出现“ActivityMain] Conversion to Dalvik format failed with error 1”错误的处理方法
- android打包时出现Conversion to Dalvik format failed with error 1错误
- 编译的内核加载驱动,提示failed (Exec format error)
- android代码混淆是出现Conversion to Dalvik format failed with error 1的解决方法
- Android照相功能驱动层中HAL的实现(基于OK6410开发板+OV9650摄像头)
- Android打包时出现"Conversion to Dalvik format failed with error 1"
- 在android中使用proguard混淆代码出现“Conversion to Dalvik format failed with error 1”错误的解决方法
- 在android中使用proguard混淆代码出现“Conversion to Dalvik format failed with error 1”错误的解决方法