加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

Zynq的AMP多核处理

2023/07/15
4396
阅读需 3 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

写的是Zynq 7000系列的,arm有两个核。主要有AMP和SMP两种方式,SMP是两个核运行一个操作系统,跑LINUX的话,使能SMP,资源会自动分配给两个核运行。AMP是两个核独立运行,每个核可以运行操作系统也可以裸机运行。

两个CPU的启动方式是CPU0先运行,然后根据需要启动CPU1。

ZYNQ会先运行一个fsbl程序,再运行应用程序。因此启动CPU1的工作可以在fsbl中做,也可以在应用程序中做。

1 在FSBL中启动CPU1

FSBL程序可以在VITIS这个软件中生成。

在FSBL中添加以下程序来启动CPU1

Xil_Out32(0XFFFFFFF0, CPU1程序地址);dmb(); sev(); //唤醒 CPU1

此段程序加在FSBL程序的HandoffAddress = LoadBootImage()之后,LoadBootImage()的作用的是将程序拷贝到ddr中,先将程序拷贝到ddr中,程序才能跳转运行。

1.1 CPU0运行裸机程序

fsbl启动两个CPU的应用程序

1.2 CPU0运行操作系统(Linux

uboot就是CPU0的应用程序

2 应用程序启动CPU1

2.1 CPU0运行裸机程序

在CPU0的应用程序中唤醒CPU1,程序一样,如下:

Xil_Out32(0XFFFFFFF0, CPU1程序地址);dmb(); sev(); //唤醒 CPU1

2.2 CPU0运行操作系统(Linux)

可以在UBOOT中唤醒CPU1,也可以在运行内核后唤醒CPU1。

 

 

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
HFBR-2524Z 1 Broadcom Limited Receiver, 1Mbps, DIP, Through Hole Mount, ROHS COMPLIANT PACKAGE

ECAD模型

下载ECAD模型
$18.94 查看
HFBR-1532Z 1 Foxconn Transmitter, Through Hole Mount, ROHS COMPLIANT PACKAGE
$21.34 查看
HFBR-2416MZ 1 Foxconn Receiver, ST Connector, Through Hole Mount, ROHS COMPLIANT, PLASTIC, 8 PIN
$99.38 查看

相关推荐

电子产业图谱