做网站商机制作网页的12个步骤
web/
2025/10/1 15:57:49/
文章来源:
做网站商机,制作网页的12个步骤,一站式做网站哪家好,照明灯企业网站织梦模板一. 简介 前面简单学习了设备树文件的内容#xff0c;语法#xff0c;以及如何向设备树文件中添加设备节点信息。学习了驱动开发时#xff0c;会使用到的设备树常用OF操作函数。本文我们就开始第一个基于设备树的 Linux 驱动实验-LED驱动实现。 本文具体学习在设备树文件添…一. 简介 前面简单学习了设备树文件的内容语法以及如何向设备树文件中添加设备节点信息。学习了驱动开发时会使用到的设备树常用OF操作函数。本文我们就开始第一个基于设备树的 Linux 驱动实验-LED驱动实现。 本文具体学习在设备树文件添加设备节点信息搭建 LED驱动代码框架。 二. 设备树下Led驱动代码框架搭建
1. 向设备树文件中添加LED设备节点
打开 移植的 Linux内核源码NXP官方提供的因为这里所使用的开发板是 正点原子提供的 nand-Flash版的 ALPHA开发板。所以对应设备树源文件为 imx6ull-alientek-nand.dts。
为了创建的设备节点更方便的在开发板的目录下找到所以这里打算将 Led灯的设备节点创建在设备树的根目录下。
打开 设备树源文件 imx6ull-alientek-nand.dts该文件调用了
#include imx6ull-14x14-evk-gpmi-weim.dts 于是打开 imx6ull-14x14-evk-gpmi-weim.dts 文件该文件中代码可以确定依然没有到设备树的根目录。该文件调用了
#include imx6ull-14x14-evk.dts
打开 imx6ull-14x14-evk.dts文件该文件中可以看出这里存在设备树的根目录。所以可以在 imx6ull-14x14-evk.dts设备树文件下添加 Led设备节点信息。
在 imx6ull-14x14-evk.dts文件的设备树根节点最后位置如下
/dts-v1/;#include dt-bindings/input/input.h
#include imx6ull.dtsi/ {
.........
}; imx6ull-14x14-evk.dts文件的设备树根节点最后。即在 / {} 上面大括号的内部最下面。 添加如下设备节点
/* LingXueWu/2024/01/16 */alpha_led{compatible alientek,alpha_led;#address-cells 1;#size-cells 1;status okay;reg 0X020C406C 0x04 /*CCM_CCGR1_BASE */0X020E0068 0x04 /*SW_MUX_GPIO1_IO03_BASE */0X020E02F4 0x04 /*SW_PAD_GPIO1_IO03_BASE */0X0209C004 0x04 /*GPIO1_GDIR_BASE */0X0209C000 0x04; /*GPIO1_DR_BASE */};
分析如下
Led设备树节点需要写的是 所要操作的寄存器地址即 设备节点的 reg参数值 。所以就需要
address-cells参数与 size-cells参数 这两个参数前者表示地址后者表示地址所占用的字节长度。
reg 参数前面表示 涉及 Led灯初始化需要操作的寄存器地址后面 0x04表示地址所占用的字节长度为 4字节。
compatible 参数表示设备树兼容的设备。
status 参数表示设备节点的状态是打开还是关闭。 编译设备树文件即 dtb设备树文件进入 以上 Linux内核源码的根目录下输入如下命令
make dtbs 确定重新生成 imx6ull-alientek-nand.dtb设备树文件后拷贝 设备树文件到 tftp服务所设置的目录下
wangtianwangtian-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
[sudo] wangtian 的密码
wangtianwangtian-virtual-machine:~/zhengdian_Linux/linux/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga$ 2. 开发板上电测试
开发板上电进入系统下。进入 /proc/device-tree 目录查看是否已经存在 Led设备节点 可以看出已经存在 led的设备节点 alpha_led。
进入 alpha_led目录下 可以看出led设备节点下的属性寄存器灯信息已经创建成功。 接下来开始实现 Led驱动代码部分。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/85133.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!