欢迎光临
我们一直在努力

ubuntu下设备树修改编译验证

在进行Linux板子开发时,常常需要对设备树进行修改。

需要修改的设备树路径 ~/rk3568_linux_sdk/kernel/arch/arm64/boot/dts/rockchip/rk3568-atk-evb1-ddr4-v10.dtsi。

单独编译设备树命令

cd ~/rk3568_linux_sdk/kernel

make ARCH=arm64 CROSS_COMPILE=/home/yangm/rk3568_linux_sdk/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- rockchip/rk3568-atk-evb1-ddr4-v10-linux.dtb

可以通过反编译检查生成的.dtb 文件中是否包含你的节点,这个技巧可以帮助查看想要的功能有没有加入到设备树中

反编译工具的安装指令是

# 安装 device-tree-compiler 工具
sudo apt install device-tree-compiler

# 反编译 dtb 并搜索 rk3568_led,反编译的命令

fdtdump kernel/arch/arm64/boot/dts/rockchip/rk3568-atk-evb1-ddr4-v10-linux.dtb | grep -A10 rk3568_led。
如果有输出,说明节点已存在;如果没有,说明节点未被包含。

对文件进行编译及将编译完的文件发送到开发板:

下面的命令是图片中的命令代码:

yangm@yangm-virtual-machine:~/Linux_Drivers/04_dtsled$ /opt/atk-dlrk356x-toolchain/bin/aarch64-buildroot-linux-gnu-gcc ledApp.c -o ledApp
 

yangm@yangm-virtual-machine:~/Linux_Drivers/04_dtsled$ adb push dtsled.ko ledApp /lib/modules/5.10.160
dtsled.ko: 1 file pushed, 0 skipped. 628.6 MB/s (367880 bytes in 0.001s)
ledApp: 1 file pushed, 0 skipped. 216.0 MB/s (9336 bytes in 0.000s)
2 files pushed, 0 skipped. 2.4 MB/s (377216 bytes in 0.148s)。

下面两句指令可以查看开发板上是否有 rk3568_led目录。

adb shell
ls /proc/device-tree/ | grep rk3568_led

连接到开发板,关闭心跳灯,进入dtsled所在目录,并加载模块。

depmod                               //第一次加载驱动的时候需要运行此命令

modprobe dtsled                 //加载驱动

./ledApp /dev/dtsled 1         //打开 LED 灯

./ledApp /dev/dtsled 0         //关闭 LED 灯

rmmod dtsled.ko                  //卸载驱动

也可以扫描下面二维码关注我的公众号,方便查看更多文章!

赞(0)
未经允许不得转载:171主机测评 » ubuntu下设备树修改编译验证
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址