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

机械类做的最好的网站营销型网站建设企业

机械类做的最好的网站,营销型网站建设企业,网站页面设计成品下载,手机端网站做app开发目录 前言: 设备树插件的书写规范: 设备树插件的编译: 内核配置: 应用背景: 举例: 前言: 设备树插件(Device Tree Blob Overlay,简称 DTBO)是Linux内核和嵌入式系统…

目录

前言:

设备树插件的书写规范:

设备树插件的编译:

内核配置:

应用背景:

举例:


前言:

        设备树插件(Device Tree Blob Overlay,简称 DTBO)是Linux内核和嵌入式系统中用于动态修改或扩展系统运行时的设备树配置的一种机制。它是对传统设备(Device Tree Source,简称 DTS)的补充,允许在不重新编译整个内核的情况下,对硬件配置进行更改。本质也是个设备树文件。

设备树插件的书写规范:
/dts-v1/;        // dts 版本;
/plugin/;        //表示设备树插件/ {fragment@0 {     //固定的写法target-path = "xxx";   //要覆盖替换的节点路径,从根节点开始写__overlay__ {    //固定写法/*在此添加要插入的节点*/};};fragment@1 {target-path = "xxx";   //要覆盖替换的节点路径__overlay__ {/*在此添加要插入的节点*/};};};
设备树插件的编译:
<sdk>/out/t113/kernel/build/scripts/dtc/dtc -I dts -O dtb -o xxx.dtb xxx.dts
<sdk>/.../dtc :使用sdk下的dtc
-I dts:指定输入文件格式为dts
-O dtb:指定输出文件类型为dtb
-o xxx:指定输出文件名
xxx.dts:输入文件名称
内核配置:
Device Drivers -> Device Tree and Open Firmware support -> [*]Device Tree overlays
应用背景:

        比如一个开发平台能适配许多的屏幕,如果按以前的做法,每次更换一个屏幕都得重新编译一次,如果我们可以采用dtbo来实现的话,就会很方便,我们可以将每种屏幕都做一个对应的dtbo插件文件,我们用到哪个屏幕就用对应的设备树插件去覆盖相应的节点。

举例:

        这里参考了同事提供的举例思路,思路是新建一个设备树插件去覆盖掉现有的设备树节点。由于例证的平台用到了身边现有的全志T113平台,看了一圈发现can比较容易验证,所以就采用can来验证。

1、查看设备树节点,可以看到在根节点下有两个can,这与平台上有两个can接口一致。

2、创建设备树插件,用于后面覆盖,这里我们将status设置为“disabled”,如果后面能覆盖成功,那么这两个can节点是肯定不能使用了。

/dts-v1/;
/plugin/;/ {fragment@0 {target-path = "/can@0x0";__overlay__ {/*在此添加要插入的节点*/#address-cells = <1>;#size-cells = <0>;compatible = "allwinner,sun8i-can";device_type = "can0";id = <0>;status = "disabled";  //改为disabled};};fragment@1 {target-path = "/can@0x1";__overlay__ {/*在此添加要插入的节点*/#address-cells = <1>;#size-cells = <0>;compatible = "allwinner,sun8i-can";device_type = "can1";id = <1>;status = "disabled";  //改为disabled};};};

3、编译设备树插件,使用命令编译后就会生成设备树插件,生成dtb文件。

                             

4、编译得到dtb文件后,我们需要想办法去覆盖掉原来的节点,也就是让使用这个dtb文件,这里借助同事提供的方法采用手动操作内存里的文件去实现。先将这个编译出来的文件放到boot-resource分区去,以便我们操作。

操作之前先查看正常状态:

5、先设置工作设备树地址:
通过uboot启动信息,可以获取到内核设备树地址,0x44831e58就是内核设备树地址,0x44851e58是uboot设备树地址,我们需要内核设备树地址。

image.png

fdt addr 0x44831e58  //设置工作设备树

fdt命令参考文章:uboot 命令行使用 fdt 命令查看设备树信息,并得到完整的设备树的 dts 和 dtb 文件_uboot fdt命令-CSDN博客

6、加载设备树插件到内存中(每个平台不一样,根据实际操作)

fatload mmc 2:1 0x43000000 kernel-overlay-can.dtb  //从emmc的
boot-resource分区的 0x43000000地址加载kernel-overlay-can.dtb到内存
fdt resize 8192  //调整设备树的大小

7、设备树覆盖:将内存0x43000000处的设备树插件覆盖到工作设备树

fdt apply 0x43000000

8、进入系统

9、验证:可以看到已经找不到节点了

http://www.hengruixuexiao.com/news/11223.html

相关文章:

  • 网站开发的需求分析教学视频seo编辑招聘
  • 华强北手机网站建设百度seo效果
  • 视频网站闪图怎么做软文推广发布平台
  • 昆山做网站公司百度贴吧首页
  • 做网站网页的专业磁力棒
  • 国外网站推广宣传电商网站开发需要多少钱
  • 网站优化方式有哪些宁夏百度推广代理商
  • 共享办公商业租赁网站模板seo网站优化培
  • 东莞网站建设 汇卓新闻投稿
  • 做网站的启蒙思想网络优化公司排名
  • 山西两学一做网站常见的网站推广方式有哪些
  • 华为云做网站每日关键词搜索排行
  • 做宣传图片用什么网站南宁seo推广公司
  • 代办建筑资质seo页面内容优化
  • 时时彩网站建设上海优化seo公司
  • 专业建站公司哪家有名什么广告推广最有效果
  • 网站建设规划与管理 试卷开鲁seo网站
  • 北京昌盛宏业网站建设临沂百度公司地址
  • 个人网站做app上传网络推广seo公司
  • 从零开始学网站建设长沙seo网站推广
  • 哪个网站做二手车买卖搜索引擎优化心得体会
  • 电子商务网站建设公司培训学校管理制度大全
  • 公司网站建设应注意什么如何发布自己的html网站
  • 和狗做的网站经典广告推广词
  • 做网站销售好累疫情死亡最新数据消息
  • 成都网站建设前50强seo优化收费
  • 西安做网站找哪家公司好站长工具国产
  • 做帮助手册的网站青岛关键词推广seo
  • 哪家公司做网站开发做得比较好文案短句干净治愈
  • 云南云桥建设股份有限公司官方网站搜索引擎营销sem