交叉工具链的安装:
sudo apt install gcc-arm-linux-gnueabihf
驱动示例:
git clone https://gitee.com/Embedfire/embed_linux_driver_tutorial_imx6_code. git
内核源码:
git clone https://gitee.com/Embedfire/ebf_linux_kernel_6ull_depth1
ssh connection refused:
sudo apt-get install openssh-server
ftp connection refused:
sudo apt install vsftpd
nfs安装:
sudo apt install nfs-kernel-server
2. 挂载NFS网络文件系统 — [野火]嵌入式Linux基础与应用开发实战指南——基于i.MX6ULL开发板 文档
3.设备树编译
将设备树文件(imx6ull-mmc-npi.dts)复制到 内核路径/arch/arm/boot/dts
export CROSS_COMPILE=arm-linux-gnueabihf-
export ARCH=arm
make npi_v7_defconfig
make dtbs
最终会在内核源码
/arch/arm/boot/dts
下生成
imx6ull-mmc-npi.dtb
将
imx6ull-mmc-npi.dtb 更新到 开发板的/usr/lib/linux-image-4.19.35-imx6 并重启开发板即可
4.设备树插件编译
修改内核目录/arch/arm/boot/dts/overlays 下的 Makefile 文件,添加我们编辑好的设备树插
件。并把设备树插件文件放在和
Makefile
文件同级目录下。以进行设备树插件的编译。
export CROSS_COMPILE=arm-linux-gnueabihf-
export ARCH=arm
make npi_v7_defconfig
make dtbs -j4
export ARCH=arm
make npi_v7_defconfig
make dtbs -j4
生成的
.dtbo
位于内核根目录下的“
/arch/arm/boot/dts/overlays
”目录下
/usr/lib/linux-image-4.19.35-imx6/overlays/
eg:
dts文件为:imx-fire-rgb-led-overlay.dts
生成的dtb文件为:imx-fire-rgb-led.dtbo
Makefile中添加的语句为 imx-fire-rgb-led.dtbo