TI教室 >
产品 >
处理器 >
Sitara 处理器 >
如何在 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上发布。
谢谢。
课程介绍
共计1课时,7分36秒
猜你喜欢
换一换
推荐帖子
- MSP430G2553外接电源问题,求各位大神指点
- 我用MSP430Launchpad(芯片是G2553)写了一个nrf24L01的程序,用两个Launchpad互相通信都没有问题。但是我把芯片从Launchpad上取下来,放到面包板上用3V纽扣电池供电或者用3V直流电源供电,就有问题(比如P1.4该是高电平,但是却没有高电平)。我知道大概是电源的问题,但是不知道该如何解决。求各位大神指点 ...
-
小朱腾云驾雾
微控制器 MCU
- 【求助】求问MSP430launchpad外接电源的问题
- 各位前辈~我现在需要单独使用launchpad,就是脱离usb供电,请问我应该如何做?是不是将电压加在J6的Vcc和GND之间?我现在有一个5V的电压源是否可以直接接上?如果不可以的话应该如何做呢?新手望解答~谢谢!...
-
rye314
微控制器 MCU
- 晒WEBENCH设计的过程+LED电源设计
- 除了普通电源之外,WEBENCH可以方便的设计LED电源。 还是首先打开WEBENCH,在LED界面输入相应的参数。 在其中可以选择相应厂商的LED,这样大大方便了设计。选好厂商及其LED,输入需设计的串联和并联个数,以及电源电压范围。 这里我选择的是OSRAM的一款LED,2个串联,电源电压为12-24V供电。 选择下一步,出现设计方案。 选择第一个,点击开始设计。就可以得到需要的设计...
-
闲云潭影
模拟与混合信号
- 【MSP430】资料大放送
- 本帖最后由 陌路绝途 于 2014-6-3 20:11 编辑 ...
-
陌路绝途
微控制器 MCU
推荐文章
- 德州仪器王运健:汽车和机器人市场成长空间巨大 2023年11月21日
- 1958年7月24日,德州仪器(TI)的Jack kilby用了五页纸记下关于如何把几种电子器件集成在一起的方法,他甚至构想了用这一方法生产出具有完整功能的电路的工艺流程。自此第一个集成电路被发明出来,这个设计彻底改变了我们的生活,而集成电路也被称为“轮子之后最重要的发明”。 从历年营收中,我们不难看出,对德州仪器来说模拟芯片和嵌入式处理器是其两大产品线,两种产品均具有生...
- 德州仪器如何助力中国客户,打造智能安全的机器人 2023年11月17日
- 机器人的应用范围正在从工业领域逐渐拓展到各个领域。比如说,在医院中,机器人能够指引我们快速问诊;在酒店,机器人能够帮我们运送外卖;在家里,扫拖机器人能够帮我们做家务。 国家统计局数据显示,今年上半年,我国机器人产业整体保持稳定增长态势。工业机器人产量达22.2万套,同比增长5.4%,在经历了2个月的下滑后,中国工业机器人的产量开始稳步回升。 可以说,未来机器人将不断影...
- 德州仪器如何助力中国客户,设计下一代电动汽车 2023年11月15日
- 汽车产业是国民经济战略性,支柱性的产业,是衡量一个国家制造业综合实力的重要指标,目前汽车产业约占我国GDP的10%。作为产业链中价值较高的部分,汽车电子已成为全世界抢占市场份额的关键。 我国汽车电子行业发展迅速,2022年我国汽车电子行业销售收入10206.5亿元,出口金额658.1亿元。 随着汽车电子技术不断发展,半导体在汽车上的应用场景和应用数量越来越多,对芯片厂...
- TI的Sitara AM625用于2级交流电动汽车充电站的三个设计注意事项 2022年09月20日
- 用于商业和住宅用途的典型电动汽车 (EV) 充电站设计包括电能计量、剩余电流检测(交流和直流)、隔离安全合规性、继电器和接触器,还具有驱动功能、双向通信以及服务和用户界面。虽然充电站的目标是高效地将电力传输到车辆,但实现电力传输是其最初的功能。 根据 IHS Markit 的最新报告,到 2030 年,估计有 2000 万个公共电动汽车充电站将连接到电网,小区充电站规模预...