linux内核编译中止 :
一、经常出现linux内核编译中止,无法生成zImage镜像文件
出现原可能有:
1、defconfig文件配置
2、dtbs设备树文件配置
3、./sh脚本文件链接语法错误,nand版本的最好是:-12,emmc版本是 -j16 表示最大允许的并行执行
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j12
4、makefile文件添加dtb \ 文件,子dtbs文件下的makefile
二、出现驱动加载报错:
/lib/modules/4.1.15 # modprobe gpioled.ko
gpioled node has been found!
can't get led-gpiogpioled node has been found!
can't get led-gpiomodprobe: can't load module gpioled.ko (gpioled.ko): Invalid argument
没有找到设备树
解决方法:到imx6ull-alientek-emmc.dts文件中查找,发现是有一行
led-gpio = <&gpio1 3 GPIO_ACTIVE_LOW>;
被我不小心屏蔽了
修改之后就运行正常:
/lib/modules/4.1.15 # modprobe gpioled.ko
gpioled node has been found!
led-gpio num = 3
gpioled major=249,minor=0
/lib/modules/4.1.15 # random: nonblocking pool is initialized
/lib/modules/4.1.15 # ./ledApp /dev/gpioled 1
/lib/modules/4.1.15 # ./ledApp /dev/gpioled 0
/lib/modules/4.1.15 # ./ledApp /dev/gpioled 1