一. 简介
前面一篇文章学习了 ALPHA开发板上的 CAN接口的设备节点信息,文章如下:
ALPHA开发板修改CAN的设备树节点信息-CSDN博客
本文对设备树文件进行测试,即开发板加载 .dtb设备树文件。
二. 加载测试 CAN的设备树文件
1. 拷贝设备树文件到开发板上
注意:这里开发板是通过 tftp服务将 设备树文件 imx6ull-alientek-nand.dtb 加载到开发板上运行的。所以,这里只需要将设备文件 拷贝到 tftp服务所设置的目录下即可。
进入 kernel内核源码(NXP官方提供的)所在根目录下,拷贝 设备树文件 imx6ull-alientek-nand.dtb 到 tftp服务所设置的目录下:
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga$ sudo cp ./arch/arm/boot/dts/imx6ull-alientek-nand.dtb /home/wangtian/linux/tftp_file/ -f
2. 开发板上电
因为CAN1节点名为 flexcan1,而在 设备树文件 imx6ull.dtsi下有 "can0 = &flexcan1",所以,可以推断 can1设备节点在/proc/device-tree/aliases 目录下:
/ {
aliases {
can0 = &flexcan1;
can1 = &flexcan2;
ethernet0 = &fec1;
.......
};
.......
};
开发板上电后,进入 "/proc/device-tree/" 目录下:
再进入 aliases目录下(即 /proc/device-tree/aliases ):
可以看到 can0 设备,即为 对应的 CAN1。
3. 查看 can0 是否开启
退到 开发板的根目录下:
查看 can0(即CAN1驱动是否使能)是否开启:
可以看到,不存在 can0设备,说明 CAN1驱动没有开启(can0即对应于开发板上的硬件原理图中的 CAN1)。
接下来就是使能 can0驱动。即通过配置内核实现使能 can0。