首页 > 产品 > 微控制器 (MCU) 和处理器 > 如何在Sitara AM5728上的Jailhouse中启用PCI Express >

处理器

最新课程

热门课程

如何在Sitara AM5728上的Jailhouse中启用PCI Express

[音乐播放] 大家好。 今天我们将展示如何在Sitara AM5728上的 Jailhouse中启用PCI Express,该设备可通过 TI Designs作为TI参考设计获得,如此处所示。 PCIe是处理器SDK Linux 3Ds中受支持的功能。 但是当实现Linux虚拟化Jailhouse演示环境时, PCIe无法初始化。 在本视频中,我们将演示 如何使用am5728 IDK EVM在Jailhouse根单元中 启用PCIe。 Jailhouse是一个开源的静态分区管理程序, 它与Linux合作并运行 裸机应用程序或修改过的客户操作 系统。 Jailhouse不会模拟硬件上 不存在的资源。 它只是将现有的硬件资源 分成称为单元的隔离隔间。 其中一个单元运行Linux操作系统, 称为根单元。 其他非根单元在创建时从根单元 借用CPU和设备。 这些非根细胞被称为Inmates。 首先,让我们深入地看一下 Jailhouse hypervisor初始化过程。 在该图中,它显示AM572x具有两个ARM 15内核。 在初始启动时,Linux在启用 Jailhouse之前使用两个ARM内核。 启用Jailhouse管理程序 并创建根单元后,Linux 将移至仍使用两个ARM内核的根单元。 创建一个Inmate单元时,Jailhouse hypervisor 会导致ARM 1内核的CPU下行功能,而Linux只在ARM 0上 运行。 新单元使用ARM 1内核, 以及如何在单元配置文件中定义 专用于这些单元的资源。 有一个单独的视频演示了Jailhouse 虚拟机管理程序虚拟化。 它包含有关我们如何设置,软件安装 和启用Jailhouse的信息。 在本视频中,我们将重点介绍如何在根单元中 启用PCIe。 在处理器SDK版本中,文件am572x-idk.dtb 是IDK的默认设备树配置文件。 文件am572x-idk-jailhouse.dtb文件 是具有Jailhouse配置的设备树。 使用默认配置启动am5728-idk时, 将枚举PCIe设备并显示在引导日志中。 让我们更改dtb文件以使用Jailhouse 配置并启动系统。 PCIe设备不存在。 启动日志显示错误。 在Jailhouse配置中未枚举PCIe的 原因是因为 PCIe和Jailhouse演示应用程序之间的 GPIO3使用存在冲突。 在am572x-idk-common.dtsi文件中, 它显示PCIe根联合体正在使用GPIO3。 但是,在am572x-idk-jailhouse.dtsi文件中, GPIO3被禁用。 由于我们没有运行Jailhouse演示, 我们需要通过删除jailhouse.dts文件中的 GPIO3条目来恢复PCI3的GPIO3。 从Jailhouse配置中删除GPIO3条目后, 需要重建dtb文件。 然后将新的dtb文件传输到文件系统并 使用它启动。 内核启动后,日志显示PCIe能够枚举。 让我们使用modprobe -r命令卸载PCIe驱动程序, 并在Jailhouse根单元中重新安装它。 Jailhouse根单元中的PCIe驱动程序 重新安装失败,控制台显示错误。 这是因为PCIe未配置 为根小区中的外围设备。 dra7.dtsi文件中的PCIe条目 使用0x20000000的内存区域定义, 大小为256兆字节, 为十六进制,0x10000000。 需要将此信息添加到根单元 配置中。 Jailhouse根单元配置文件 位于突出显示的目录中, 包含分配的资源, 例如CPU,内存区域等。 在这种情况下,需要在根小区配置文件中 配置PCIe内存资源。 mem_regions数组需要再增加一个条目 以适应PCIe配置。 然后,需要在根小区配置的 mem_regions中输入该PCIe地址 信息。 我们将它添加到mem_regions数组的开头。 完成这些更改后, 需要重建根单元 配置。这可以通过高级别的 make来构建Jailhouse目标。 使用Jailhouse需要make版本大于3.81。 如果它不大于3.81, 则需要安装较新版本的make包。 就我而言,make-4.1软件包已下载 并安装在Linux主机上。 如果系统已具有较新版本的make, 则可以直接发出make命令。 要构建Jailhouse,只需发出命令, 如屏幕所示。 然后将am57xx.evm*复制到IDK文件系统。 现在系统使用已删除GPIO3的 已修改Jailhouse dtb文件启动。 并添加了带有PCIe内存区域的 新Jailhouse根单元配置。 内核启动后,我们重复 删除PCIe驱动程序的步骤,启用Jailhouse, 然后重新安装驱动程序。 它是成功的,现在在根单元中启用设备。 以上是在AM5728 IDK上的Jailhouse根单元中 启用PCIe的演示。 此处提供了更多信息以供参考。 感谢你抽出宝贵时间观看此演示。 如果你有任何疑问,请在 德州仪器E2E论坛e2e.ti.com上发布。 谢谢。 [音乐播放]

[音乐播放]

大家好。

今天我们将展示如何在Sitara AM5728上的

Jailhouse中启用PCI Express,该设备可通过

TI Designs作为TI参考设计获得,如此处所示。

PCIe是处理器SDK Linux 3Ds中受支持的功能。

但是当实现Linux虚拟化Jailhouse演示环境时,

PCIe无法初始化。

在本视频中,我们将演示

如何使用am5728 IDK EVM在Jailhouse根单元中

启用PCIe。

Jailhouse是一个开源的静态分区管理程序,

它与Linux合作并运行

裸机应用程序或修改过的客户操作

系统。

Jailhouse不会模拟硬件上

不存在的资源。

它只是将现有的硬件资源

分成称为单元的隔离隔间。

其中一个单元运行Linux操作系统,

称为根单元。

其他非根单元在创建时从根单元

借用CPU和设备。

这些非根细胞被称为Inmates。

首先,让我们深入地看一下

Jailhouse hypervisor初始化过程。

在该图中,它显示AM572x具有两个ARM 15内核。

在初始启动时,Linux在启用

Jailhouse之前使用两个ARM内核。

启用Jailhouse管理程序

并创建根单元后,Linux

将移至仍使用两个ARM内核的根单元。

创建一个Inmate单元时,Jailhouse hypervisor

会导致ARM 1内核的CPU下行功能,而Linux只在ARM 0上

运行。

新单元使用ARM 1内核,

以及如何在单元配置文件中定义

专用于这些单元的资源。

有一个单独的视频演示了Jailhouse

虚拟机管理程序虚拟化。

它包含有关我们如何设置,软件安装

和启用Jailhouse的信息。

在本视频中,我们将重点介绍如何在根单元中

启用PCIe。

在处理器SDK版本中,文件am572x-idk.dtb

是IDK的默认设备树配置文件。

文件am572x-idk-jailhouse.dtb文件

是具有Jailhouse配置的设备树。

使用默认配置启动am5728-idk时,

将枚举PCIe设备并显示在引导日志中。

让我们更改dtb文件以使用Jailhouse

配置并启动系统。

PCIe设备不存在。

启动日志显示错误。

在Jailhouse配置中未枚举PCIe的

原因是因为

PCIe和Jailhouse演示应用程序之间的

GPIO3使用存在冲突。

在am572x-idk-common.dtsi文件中,

它显示PCIe根联合体正在使用GPIO3。

但是,在am572x-idk-jailhouse.dtsi文件中,

GPIO3被禁用。

由于我们没有运行Jailhouse演示,

我们需要通过删除jailhouse.dts文件中的

GPIO3条目来恢复PCI3的GPIO3。

从Jailhouse配置中删除GPIO3条目后,

需要重建dtb文件。

然后将新的dtb文件传输到文件系统并

使用它启动。

内核启动后,日志显示PCIe能够枚举。

让我们使用modprobe -r命令卸载PCIe驱动程序,

并在Jailhouse根单元中重新安装它。

Jailhouse根单元中的PCIe驱动程序

重新安装失败,控制台显示错误。

这是因为PCIe未配置

为根小区中的外围设备。

dra7.dtsi文件中的PCIe条目

使用0x20000000的内存区域定义,

大小为256兆字节,

为十六进制,0x10000000。

需要将此信息添加到根单元

配置中。

Jailhouse根单元配置文件

位于突出显示的目录中,

包含分配的资源,

例如CPU,内存区域等。

在这种情况下,需要在根小区配置文件中

配置PCIe内存资源。

mem_regions数组需要再增加一个条目

以适应PCIe配置。

然后,需要在根小区配置的

mem_regions中输入该PCIe地址

信息。

我们将它添加到mem_regions数组的开头。

完成这些更改后,

需要重建根单元

配置。这可以通过高级别的

make来构建Jailhouse目标。

使用Jailhouse需要make版本大于3.81。

如果它不大于3.81,

则需要安装较新版本的make包。

就我而言,make-4.1软件包已下载

并安装在Linux主机上。

如果系统已具有较新版本的make,

则可以直接发出make命令。

要构建Jailhouse,只需发出命令,

如屏幕所示。

然后将am57xx.evm*复制到IDK文件系统。

现在系统使用已删除GPIO3的

已修改Jailhouse dtb文件启动。

并添加了带有PCIe内存区域的

新Jailhouse根单元配置。

内核启动后,我们重复

删除PCIe驱动程序的步骤,启用Jailhouse,

然后重新安装驱动程序。

它是成功的,现在在根单元中启用设备。

以上是在AM5728 IDK上的Jailhouse根单元中

启用PCIe的演示。

此处提供了更多信息以供参考。

感谢你抽出宝贵时间观看此演示。

如果你有任何疑问,请在

德州仪器E2E论坛e2e.ti.com上发布。

谢谢。

[音乐播放]

视频报错
手机看
扫码用手机观看
收藏本课程
  • 如何在Sitara AM5728上的Jailhouse中启用PCI Express 未学习 如何在Sitara AM5728上的Jailhouse中启用PCI Express

视频简介

如何在Sitara AM5728上的Jailhouse中启用PCI Express

所属课程:如何在Sitara AM5728上的Jailhouse中启用PCI Express 发布时间:2019.08.07 视频集数:1 本节视频时长:00:07:36

PCI Express(PCIe)是Processor SDK Linux发行版中支持的功能。但是当使用Processor SDK Linux实现Jailhouse Hypervisor虚拟化参考设计时,PCIe无法初始化。 该视频介绍了如何在Sitara AM5728工业开发套件(IDK)上的Jailhouse Root Cell中启用PCIe。

TI培训小程序