当前位置: 首页 > news >正文

长沙网站排名方法/千锋教育培训多少钱

长沙网站排名方法,千锋教育培训多少钱,开发平台官网,购物网站 购物车界面如何做目录 一、引言 二、设备树插件格式 三、实验说明 四、实验准备 4.1 通过内核工具编译设备树插件 五、实验效果 5.1 uboot加载 5.2 加载RGB驱动 一、引言 Linux4.4以后引入了动态设备树(Dynamic DevicesTree),这里翻译位“设备树插件…

目录

一、引言

二、设备树插件格式

三、实验说明

四、实验准备

4.1 通过内核工具编译设备树插件

五、实验效果

5.1 uboot加载

5.2 加载RGB驱动


一、引言

Linux4.4以后引入了动态设备树(Dynamic DevicesTree),这里翻译位“设备树插件”。设备树插件可以理解为主设备树的“补丁”,它动态的加载到系统中,并被内核识别。例如如果要在系统中增加RGB灯驱动,那么可以针对RGB这个引荐设备写一个设备树插件,然后编译、加载到系统即可,无需重更新编译整个设备树。

二、设备树插件格式

设备树插件拥有相对固定的格式,甚至可以认为它知识把设备节点加了一个“壳”编译内核能够动态加载它。格式如下。

/* 设备树插件基本格式*/
/dts-v1/
/plugin//{fragment@0 {target-path = "/";__overlay__{/*在此添加要插入的节点*/};};
};
  • 第2行:用于指定dts版本。
  • 第3行:表示允许使用未定义的引用并记录他们,设备树插件中可以引用主设备树中的节点,而这些“引用的节点”对于设备树插件来说就是未定义的,所以设备树插件应该加上“/plugin”。
  • 第7行:指定设备树插件的加载位置,默认我们加载到根节点下,既“target-path = “/”。
  • 第8-9行:我们要插入的设备及节点或者要引用(追加)的设备树节点放在__overlay__{...};内。

三、实验说明

实现方法是复制上一节RGB灯的设备节点到设备树插件模板中,如下所示。

 /dts-v1/;/plugin/;#include "../imx6ul-pinfunc.h"#include "dt-bindings/gpio/gpio.h"/ {fragment@0 {target-path = "/";__overlay__ {rgb_led{#address-cells = <1>;#size-cells = <1>;compatible = "fire,rgb_led";ranges;/*红灯节点*/rgb_led_red@0x020C406C{compatible = "fire,rgb_led_red";reg = <0x020C406C 0x000000040x020E006C 0x000000040x020E02F8 0x000000040x0209C000 0x000000040x0209C004 0x00000004>;status = "okay";};/*绿灯节点*/rgb_led_green@0x020C4074{compatible = "fire,rgb_led_green";reg = <0x020C4074 0x000000040x020E01E0 0x000000040x020E046C 0x000000040x020A8000 0x000000040x020A8004 0x00000004>;status = "okay";};/*蓝灯节点*/rgb_led_blue@0x020C4074{compatible = "fire,rgb_led_blue";reg = <0x020C4074 0x000000040x020E01DC 0x000000040x020E0468 0x000000040x020A8000 0x000000040x020A8004 0x00000004>;status = "okay";};};};};};
  • 第4-5行:RGB灯设备节点使用到的头文件
  • 第11-46行:之前编写的RGB灯设备节点

这样,RGB灯的设备树插件已经做好了,下面重点是编译设备树插件并把设备树插件添加到系统。

四、实验准备

在板卡上的部分GPIO可能会被系统占用,在使用前请根据需要修改/boot/uEndv.txt文件,可注释掉某些设备树插件的加载,重启系统,释放相应的GPIO引脚。

如若运行代码时出现“Devices or resources busy”或者运行代码卡死等等现象,请按照上述情况检查并按上述步骤操作。

4.1 通过内核工具编译设备树插件

设备树插件与设备树一样都是使用DTC工具编译,只不过设备树编译为.dtb。而设备树插件需要编译为.dtbo。可以使用DTC编译命令编译生成.dtbo,但是这样比较繁琐,容易出错。

可以修改内核目录/arch/arm/boot/dts/overlays下的Makefile文件,添加编译好的设备插件。并把设备树插件文件放到和Makefile文件同级目录下,以进行设备树插件的编译。 

在内核的根目录下执行如下命令即可:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- npi_v7_defconfig

make ARCH=arm -j4 CROSS_COMPILE=arm-linux-gnueabihf- dtbs 

生成的.dtbo位于内核根目录下的"/arch/arm/boot/dts/overlays"目录下。

五、实验效果

上一节编译生成了.dtbo。.dtbo可以被动态的加载系统,这一小节介绍将设备树插件加入系统的方法。

5.1 uboot加载

linux内核从4.4开始支持设备号树插件,支持并不代表默认开启。所以使用之前要配置内核开启整个功能。

首先要把编译好的设备树插件文件,上传到开发板中。

可以使用uboot加载编写好的设备树插件,只需要完成简单的两个步骤:

1、将需要加载的.dtbo文件放入“/usr/lib/linux-image-4.19.35-imx6/overlays/”目录下。

2、将对应的设备树插件加载配置,写入uEnv.txt配置文件,系统启动过程中会自动从uEnv.txt读取要加载的设备树文件。

 

添加好,重启开发板,并输入对应的命令可以查看设备树插件是否加载成功:

ls /sys/firmware/devicetree/base/

#或者

ls /proc/device-tree

看到这些文件,证明已经加载成功了

 

 删除设备树“插件”时,只需要将对应的插件在“/boot”目录下uEnv.txt文件中添加#号注释即可。

5.2 加载RGB驱动

驱动程序和应用程序的使用方法与上一节完全一致。

 

http://www.bjxfkj.com.cn/article/133.html

相关文章:

  • 建站模板建网站/全国最新疫情实时状况地图
  • 网站站长是什么意思/站长之家seo工具
  • 惠州做网站建设/谷歌seo建站
  • 网站克隆下来了然后再怎么做/重庆seo推广公司
  • 遵义网站开发培训/陕西整站关键词自然排名优化
  • 北京工程建设合同备案网站/网络营销服务商有哪些
  • 网站建设项目计划书如何写/太原百度关键词优化
  • 规范机关单位网站建设/常用的网络推广的方法有哪些
  • 游戏网站开发什么意思/凡科建站小程序
  • 多个域名指向同一个网站/西地那非片的功效与作用
  • 江西网站设计哪家靠谱/seo刷关键词排名软件
  • 个人 可以做社交网站/网站优化推广招聘
  • 网站设计作品/标题关键词优化报价
  • 河南科技园网站建设/站长平台网站
  • wordpress邮箱汉化插件下载/搜索引擎优化培训免费咨询
  • 西安网站维护/公众号软文怎么写
  • 东莞长安网站设计公司/腾讯广告联盟
  • 六安网站怎么做seo/软文发布系统
  • Django 个人博客网站开发/网络营销与策划试题及答案
  • 小说网站有源码了该怎么做/网络站点推广的方法有哪些
  • 集安网站建设/真正免费的网站建站平台推荐
  • 南昌网站建设大全/广州网站营销seo费用
  • 国家粮食局和储备局建设网站/徐州seo建站
  • 做外贸需要关注的网站有什么问题/seo赚钱
  • 网站一级域名申请/什么网站可以免费推广
  • 网页设计网站测试/杭州产品推广服务公司
  • 哪里做外贸网站/国内搜索引擎有哪些
  • 武汉高端品牌网站建设/推广项目网站
  • 学校网站定位/郑州网络营销顾问
  • 可以做硬件外包项目的网站/在线网站建设平台