前言html
第一次安裝PCIE驅動的時候容易出現各類問題,總結一下下。。linux
緣由分析ubuntu
通常狀況下,直接make的時候會出現問題.app
scripts/basic/fixdep: 1: scripts/basic/fixdep: Syntax error: "(" unexpected scripts/Makefile.build:261: recipe for target '/opt/pcie_v4l2_mono-master/app/uisee-sensor.o' failed make[3]: *** [/opt/pcie_v4l2_mono-master/app/uisee-sensor.o] Error 2 Makefile:1414: recipe for target '_module_/opt/pcie_v4l2_mono-master/app' failed make[2]: *** [_module_/opt/pcie_v4l2_mono-master/app] Error 2 make[2]: Leaving directory '/usr/src/linux-headers-4.4.38-tegra' Makefile:16: recipe for target 'all' failed make[1]: *** [all] Error 2 make[1]: Leaving directory '/opt/pcie_v4l2_mono-master/app' Makefile:42: recipe for target 'all' failed make: *** [all] Error 2
緣由一:ide
沒有在/etc/rc.local文件中加載pcie驅動;post
echo "PCIE card exist, start pcie video driver" modprobe videodev modprobe videobuf2-core modprobe videobuf2-vmalloc modprobe videobuf2-dma-contig modprobe v4l2-common
等等。。。ui
緣由二:spa
系統ext配置文件不完整;.net
解決方法:code
在/boot/extconf,修改extconf文件,增長coherent_pool=16M,加在APPEND最後;
nvidia@tegra-ubuntu:/boot/extlinux$ sudo vi extlinux.conf TIMEOUT 30 DEFAULT primary MENU TITLE p2771-0000 eMMC boot options LABEL primary MENU LABEL primary kernel LINUX /boot/Image APPEND ${cbootargs} root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 coherent_pool=16M
緣由三:
內核須要從新編譯;
cd /lib/modules/4.4.38-tegra/ cd build cd scripts/ sudo make scripts
scripts目錄出錯:
make: *** No rule to make target 'scripts'. Stop.
注意,也多是在build而不是scripts目錄下進行編譯;
build目錄編譯成功:
nvidia@tegra-ubuntu:/lib/modules/4.4.38-tegra/build$ sudo make scripts HOSTCC scripts/basic/fixdep HOSTCC scripts/basic/bin2c HOSTCC scripts/kconfig/conf.o HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/conf scripts/kconfig/conf --silentoldconfig Kconfig # # configuration written to .config # HOSTCC scripts/dtc/dtc.o HOSTCC scripts/dtc/flattree.o HOSTCC scripts/dtc/fstree.o HOSTCC scripts/dtc/data.o HOSTCC scripts/dtc/livetree.o HOSTCC scripts/dtc/treesource.o HOSTCC scripts/dtc/srcpos.o HOSTCC scripts/dtc/checks.o HOSTCC scripts/dtc/util.o HOSTCC scripts/dtc/dtc-lexer.lex.o HOSTCC scripts/dtc/dtc-parser.tab.o HOSTLD scripts/dtc/dtc CC scripts/mod/empty.o HOSTCC scripts/mod/mk_elfconfig MKELF scripts/mod/elfconfig.h HOSTCC scripts/mod/modpost.o CC scripts/mod/devicetable-offsets.s GEN scripts/mod/devicetable-offsets.h HOSTCC scripts/mod/file2alias.o HOSTCC scripts/mod/sumversion.o HOSTLD scripts/mod/modpost HOSTCC scripts/kallsyms HOSTCC scripts/pnmtologo HOSTCC scripts/conmakehash HOSTCC scripts/sortextable
緣由四:
驅動文件的權限問題;
sudo chown nvidia:nvidia pcie_v4l2_mono-master/ -R
緣由五:
編譯驅動;
cd /opt/pcie_*** sudo make clean make #( no sudo) sudo make insert
參考
1.編譯驅動內核;
完