0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于系统设备树的构建流程

Xilinx赛灵思官微 来源:Xilinx赛灵思官微 2024-11-01 13:38 次阅读

基于系统设备树的构建流程

简 介

用于构建 AMD embeddedsw 组件的旧方法将 .xsa 用作来自硬件人员的交接文件,并将 mdd、mld 和 mss 文件用于不同的软件配置。这使得旧方法依赖于 AMD 专属工具,如软件命令行工具 (XSCT) 和硬件软件接口 (HSI)。如果没有这些专属工具,就无法使用旧方法来编译 embeddedsw 组件。

基于系统设备树的新流程旨在通过采用开源行业标准来避免这种相依性。它使用系统设备树 CMAKE 和基于 Python 的开源工具 Lopper 来组织所需的构建系统。

系统设备树是常规 Linux 设备树的超集。与仅呈现 Linux/APU 所需硬件信息的常规 Linux 设备树不同,系统设备树以设备树格式呈现完整的硬件信息,从而为用户创造了处理更多用例的机会。它包含有关所有处理器的信息,如平台管理控制器 (PMC)、PS 管理控制器 (PSM)、实时处理单元 (RPU)、应用处理单元 (APU) 以及系统中的所有外设。要生成系统设备树,请参阅 附录 A: 使用 XSCT 生成系统设备树。

基于系统设备树的流程使用 Lopper 从系统设备树中提取所需的硬件元数据。旧方法使用 mld/mss 文件生成软件配置,现在基于 CMAKE 的基础架构通过设置 CMAKE 变量来生成所需的报头文件,用于取代旧的软件配置。在旧流程中,组件专属的信息存储在 mdd/mld/mss 文件中,而在新流程中,这些信息存储在 YAML 文件中。Python 脚本会读取这些 YAML 文件,使用 Lopper 和 CMAKE 命令配置组件的源代码,并相应地填充 BSP 专属的独立数据。由此,整个构建系统不再使用 AMD 专属文件和工具,而改为使用可用的开源基础架构。

因此有必要移植现有的 embeddedsw 独立组件和 RTOS 组件,以确保原有软件组件能够在这个基于系统设备树的流程中无缝衔接工作。文档中的章节解释了将原有 embeddedsw 驱动程序/库/应用移植到基于系统设备树的新流程所需的步骤和更改。

新增内容

以下更改是此流程的新增内容:

开源系统设备树规范大量借鉴了 Linux 设备树规范。这些规范中没有用于区分相似外设的“Device ID”(器件ID)的概念。例如,在旧流程中,如果系统中具有来自同一供应商的两个以太网 MAC,则会为每个 MAC 分配一个单独的器件 ID。器件 ID 是从 0 开始的正整数。驱动程序配置结构始终具有一个 u16 DeviceId 字段用于表示已分配的器件 ID。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11304

    浏览量

    209515
  • 移植
    +关注

    关注

    1

    文章

    379

    浏览量

    28134
  • 设备树
    +关注

    关注

    0

    文章

    38

    浏览量

    3126

原文标题:embeddedsw 组件移植指南(附下载)

文章出处:【微信号:赛灵思,微信公众号:Xilinx赛灵思官微】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何编译设备和Linux内核镜像文件

    实验任务:编译设备和Linux内核镜像文件,拷贝到sd卡中,再从sd卡中拷贝到nand闪存对应的分区中,最后nand启动,进入linux系统本篇博客内容:1.实验流程2.注意事项1.
    发表于 12-20 07:11

    什么是设备?由什么组成?设备怎么使用?

    什么是设备?由什么组成?设备怎么使用?
    发表于 03-04 07:04

    rk3308b使用tftp启动内核和设备的具体流程

    ,很不方便,所以找了个空闲时间,对uboot进行了修改,使用tftp启动内核和设备,并且挂载nfs文件系统,同时安装ubuntu16.04,具体流程如下:清空板子的flash,烧录R
    发表于 05-17 11:12

    使用Developer Package和Distribution Package编译的设备的区别是什么?

    ) 使用 Developer Package 构建设备(与 bitbake 分开) 此方法在以下 Wiki 页面中进行了描述。 https://wiki.st.com/stm32mpu/wiki
    发表于 01-10 07:18

    如何在设备中创建UART接口?

    我想在具有 openstlinux-20-02-19 生态系统的 STM32MP157C-DK2 上使用带 A7 的 UART7。因此,我尝试在设备中包含/启用 UART 接口,但它无法正常工作
    发表于 01-30 07:12

    TPR*索引构建及其动态维护方法

    提出一种新的TPR*索引构建方法,在根节点层利用速度矢量对移动对象集进行划分,根据速度矢量的大小将移动对象聚集到不同子节点中,并逐层构建TPR*。在根节点层用溢出
    发表于 03-21 15:00 10次下载

    ARM Device Tree设备

    近期在学校如何写linux的设备驱动,这片文章告诉我们为什么要引进设备Device Tree,以及举例说明设备是怎样写的
    发表于 11-17 18:16 22次下载

    设备的传递及kernel 对设备的解析

    当 U-Boot 将设备加载到内存指定位置后,ARM 内核的 SoC 以通用寄存器 r2 来传递 dtb 在内存中的地址。kernel 获取到该地址后对 dtb 文件做进一步的处理。 设备
    的头像 发表于 07-29 11:19 2429次阅读
    <b class='flag-5'>设备</b><b class='flag-5'>树</b>的传递及kernel 对<b class='flag-5'>设备</b><b class='flag-5'>树</b>的解析

    PCB构建的圣诞

    电子发烧友网站提供《PCB构建的圣诞.zip》资料免费下载
    发表于 07-19 09:26 1次下载
    PCB<b class='flag-5'>构建</b>的圣诞<b class='flag-5'>树</b>

    构建自己的alexa控制的圣诞

    一棵你可以用声音单独控制灯的圣诞。 硬件设置 如果你想在这些资源的帮助下构建自己的alexa控制的圣诞,你需要特定的硬件。该项目使用了以下组件:
    发表于 12-02 14:54 1次下载

    C++构建并复制二叉

    使用C++构建一个二叉并复制、输出。
    的头像 发表于 01-10 15:17 1026次阅读
    C++<b class='flag-5'>构建</b>并复制二叉<b class='flag-5'>树</b>

    zynq开发中的设备

    在zynq开发中经常会修改设备,每次遇到这种情况都有点发愁,今天把设备相关的知识点总结一下,希望以后遇到设备
    的头像 发表于 05-25 11:29 2225次阅读
    zynq开发中的<b class='flag-5'>设备</b><b class='flag-5'>树</b>

    嵌入式NeoPixel LED圣诞开源构建

    电子发烧友网站提供《嵌入式NeoPixel LED圣诞开源构建.zip》资料免费下载
    发表于 07-10 16:52 0次下载
    嵌入式NeoPixel LED圣诞<b class='flag-5'>树</b>开源<b class='flag-5'>构建</b>

    NeoPixel圣诞构建

    电子发烧友网站提供《NeoPixel圣诞构建.zip》资料免费下载
    发表于 07-11 16:58 0次下载
    NeoPixel圣诞<b class='flag-5'>树</b>的<b class='flag-5'>构建</b>

    如何修改内核设备

    如何修改内核设备
    的头像 发表于 12-14 14:06 822次阅读
    如何修改内核<b class='flag-5'>设备</b><b class='flag-5'>树</b>