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

网站开发用户自定义排序方案网站地址结构

网站开发用户自定义排序方案,网站地址结构,宁波网站建设熊掌号,注册公司怎么取名字前言 前面通过 Makefile 实现手动编译 Linux 设备树 dts 源文件及其 设备树依赖 dtsi、.h 头文件,如何写成一个 shell 脚本,直接编译呢? 其实就是 把 Makefile 重新编写为 shell 脚本即可 编译设备树 shell 脚本 脚本内容如下&#xff1a…

前言

  • 前面通过 Makefile 实现手动编译 Linux 设备树 dts 源文件及其 设备树依赖 dtsi、.h 头文件,如何写成一个 shell 脚本,直接编译呢?

  • 其实就是 把 Makefile 重新编写为 shell 脚本即可

编译设备树 shell 脚本

  • 脚本内容如下: gen_dtbs.sh
#! /bin/bashDIR_ROOT=$( cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
HOST_DTC=${DIR_ROOT}/dtc
HOSTCC=gcc
# ${HOSTCC} -v
# ${HOST_DTC} --versionsuffix_dtb=".dtb"
suffix_dts=".dts"
dtb_d_pre_tmp=".dtb.d.pre.tmp"
dtb_dts_tmp=".dtb.dts.tmp"
dtb_d_dtc_tmp=".dtb.d.dtc.tmp"dtc_cflags="-E -Wp,-MMD,"
dtc_flags="0 -Wno-interrupt_provider -Wno-unit_address_vs_reg -Wno-avoid_unnecessary_addr_size "
dtc_flags+="-Wno-alias_paths -Wno-graph_child_address -Wno-simple_bus_reg -Wno-unique_unit_address"
dtc_def="-undef -D__DTS__ -x assembler-with-cpp"dts_src_path=${DIR_ROOT}
dts_file_string=`find ${dts_src_path} -maxdepth 2 -type f -name *.dts`for dts in ${dts_file_string}
do# echo ${dts}echo ${dts%.*}${HOSTCC} -E ${dtc_cflags}${dts%.*}${dtb_d_pre_tmp} -nostdinc -I${DIR_ROOT}/include ${dtc_def} -o ${dts%.*}${dtb_dts_tmp} ${dts%.*}${suffix_dts}${HOST_DTC} -o ${dts%.*}${suffix_dtb} -b ${dtc_flags} -d ${dts%.*}${dtb_d_dtc_tmp} ${dts%.*}${dtb_dts_tmp}
donedts_folders=`find ${dts_src_path} -maxdepth 1 -type d`
for dts in ${dts_folders}
do`rm -f ${dts}/*.d.dtc.tmp``rm -f ${dts}/*.d.pre.tmp``rm -f ${dts}/*.dtb.dts.tmp`
doneecho " --- build dtbs end --- "
  • 示例工程的下载地址 https://gitee.com/zhangsz0516/make_dtbs.git

shell 脚本说明

  • 运行环境: Linux,需要安装 gcc,不需要安装 make

  • 需要准备:设备树 dts 原文件,以及依赖的 dtsi 与 设备树头文件

  • dtc 编译工具,源码 Linux 内核 scripts/dtc 目录下,编译过 Linux 内核后,就可以产生,默认Linux 每次都是源码编译,这里直接复制出来即可使用,不需要源码编译生成 dtc 工具。

获取 dtc 工具

  • dtc 工具是有Linux 环境 gcc 编译的,也就是 host gcc,不需要交叉编译,Linux 下不能直接编译 dtc 工具,可以编译一个 board,如 qemu vexpress_defconfig

  • 编译方法:

$ make ARCH=arm vexpress_defconfig
$ make ARCH=arm dtbs
  • 此时就会生成 scripts/dtc/dtc,可以查看 dtc 工具的版本号:
$ chmod +x scripts/dtc/dtczhangsz@zhangsz:~/linux/kernel/linux-6.0.10$ scripts/dtc/dtc --version
Version: DTC 1.6.1-g0a3a9d34

获取 dts 源文件

  • 这个示例的设备树源文件,来自 Linux 内核

编译设备树

  • 脚本执行权限 chmod +x gen_dtbs.sh

  • 执行 source gen_dtbs.sh 或者直接运行 ./gen_dtbs.sh 即可

在这里插入图片描述

  • 测试发现,正常的生成 设备树二进制文件: dtb

小结

  • 可以使用 make 或 shell 脚本,手动编译 设备树源文件

  • 注意这里使用了 gcc 做了预处理,把设备树依赖的头文件等全部以源码的方式放在一个临时文件里面,就像是 C 语言源文件的处理一样,这样再通过 dtc 工具,生成 dtb 文件

http://www.yayakq.cn/news/37539/

相关文章:

  • 网站建设企业谁家好湛江做网站多少钱
  • 网站结构分析网站建设得缺点
  • 图片搜集网站怎么做市场推广和销售的区别
  • 中国行业网站联盟手机版制作app软件
  • 公司开发网站中国网站排名网
  • 外贸网站建设怎么建设阿里云 个人网站备案
  • 开发一个网站需要几个人营销策划公司品牌
  • ui设计师做网站wordpress搭建个人网站费用
  • 凤翔做网站wordpress数据库进不去
  • 网站加手机建设png图标搭建小程序需要什么技术
  • 自助建站系统注册为什么做网站必须用服务器
  • h5游戏网站建设工业设计公司怎么赚钱
  • 制作企业网站要花多少钱代码编程入门教学视频
  • 装修行业网站建设中国最大的网络公司是哪个
  • 网站关键词排名批量查询萨龙wordpress
  • 做一个网站需要什么条件邢台吧 百度贴吧
  • 南京做网站群的公司株洲在线论坛伴你生活每一天
  • 网站被百度收录网站建设最新外文翻译
  • 移动互联时代网站建设广州口碑好的网站建设设计
  • 广州做网站app江西住房和城乡建设信息网站
  • 最超值的郑州网站建设建网站有什么要注意的
  • 北京网站建设中企云达vi设计的目的和意义
  • 做文学网站需要网站后台怎么用
  • 网站建设文翻译工作室女生做网站推广
  • 学校网站英文竞网网站建设
  • 好看的网站颜色搭配谷德设计网作品集
  • 礼物说网站模板深圳网站制作建设服务公司
  • dede学校网站潍坊做网页的公司
  • 平湖网站制作南京 网站制作公司
  • 怎么建网站做seo提升排名