6ull环境配置文章

export ARCH=arm
export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-
export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin
设置后
book@100ask:~/100ask_imx6ull-sdk/Linux-4.9.88$ arm-buildroot-linux-gnueabihf-gcc -v
Using built-in specs.
COLLECT_GCC=/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin/arm-buildroot-linux-gnueabihf-gcc.br_real
COLLECT_LTO_WRAPPER=/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin/…/libexec/gcc/arm-buildroot-linux-gnueabihf/7.5.0/lto-wrapper
Target: arm-buildroot-linux-gnueabihf
Configured with: ./configure --prefix=/home/book/100ask_imx6ull-sdk/Buildroot_2020.02.x/output/host --sysconfdir=/home/book/100ask_imx6ull-sdk/Buildroot_2020.02.x/output/host/etc --enable-static --target=arm-buildroot-linux-gnueabihf --with-sysroot=/home/book/100ask_imx6ull-sdk/Buildroot_2020.02.x/output/host/arm-buildroot-linux-gnueabihf/sysroot --enable-__cxa_atexit --with-gnu-ld --disable-libssp --disable-multilib --disable-decimal-float --with-gmp=/home/book/100ask_imx6ull-sdk/Buildroot_2020.02.x/output/host --with-mpc=/home/book/100ask_imx6ull-sdk/Buildroot_2020.02.x/output/host --with-mpfr=/home/book/100ask_imx6ull-sdk/Buildroot_2020.02.x/output/host --with-pkgversion=‘Buildroot 2020.02-gee85cab’ --with-bugurl=http://bugs.buildroot.net/ --disable-libquadmath --enable-tls --enable-plugins --enable-lto --enable-threads --with-isl=/home/book/100ask_imx6ull-sdk/Buildroot_2020.02.x/output/host --with-abi=aapcs-linux --with-cpu=cortex-a7 --with-fpu=neon-vfpv4 --with-float=hard --with-mode=arm --enable-languages=c,c++,fortran --with-build-time-tools=/home/book/100ask_imx6ull-sdk/Buildroot_2020.02.x/output/host/arm-buildroot-linux-gnueabihf/bin --enable-shared --enable-libgomp
Thread model: posix
gcc version 7.5.0 (Buildroot 2020.02-gee85cab)

驱动用课堂讲解的代码,执行make也能成功,但是在开发板执行任何insmod sr501_drv.ko驱动,都提示insmod: ERROR: could not insert module sr501_drv.ko: Invalid module format
其它驱动也一样同样报错
这个错误,工具链也检查了,麻烦老师给指点下,谢谢

makefile里面的交叉编译工具你改了没

麻烦提示下,makefile里的交叉编译工具在哪里更改

你把你的makefile文件打开截图看看

麻烦给指点下,谢谢

用file指令查看下sr501_drv.ko这个文件的格式呢,截图看看

在哪里执行,谢谢

ubuntu下吧,开发板的命令行应该也可以

你insmod这个ko文件的和提示结果也截图看看呢

在开发板上哈 :dotted_line_face:

就是 按照老师的课件操作,一直这个报错,就不会处理了

能远程帮忙看下吗,老师,谢谢

老师,在吗,能帮忙远程看下吗?

https://www.100ask.net/p/t_pc/course_pc_detail/video/v_61c13c75e4b06a5ba8db6852?product_id=p_61823a46e4b0b7f0182e2ff1&content_app_id=&type=6
从1:40开始就是分析和解决你这个问题的办法,看看视频呢,在外面的没在家,远程不了

老师,是不是因为内核被污染了,执行所有程序才报错的

[ 322.670451] ap3216c_drv: module_layout: kernel tainted.
[ 322.676129] Disabling lock debugging due to kernel taint
[ 322.681487] ap3216c_drv: loading out-of-tree module taints kernel.
[ 322.689155] ap3216c_drv: Unknown symbol __gnu_mcount_nc (err 0)
insmod: ERROR: could not insert module ap3216c_drv.ko: Unknown symbol in module

老师,我查看开发手册文档,好像是因为没有更新6ull板子内核,6ull板卡内核如何更新,麻烦指点下,谢谢


你这个问题的根本原因是你开发板的内核版本,很你的ubuntu里面的内核版本不是同一个版本,所以你需要做的就是让开发板的内核和ubuntu中编译的内核用同一个版本就解决问题了。

你可以在开发板上使用uname -r指令获取内核版本看下是哪个。

编译和更新开发板的系统去看V5.1版本的完全手册第三篇的5/6/7章,手册在网盘。