MICROCHIP-标志

MICROCHIP PIC64GX 64 位 RISC-V 四核微处理器

MICROCHIP-PIC64GX-64 位 RISC-V 四核微处理器产品

产品信息

规格:

  • 产品名称: 微芯片 PIC64GX
  • 启动过程: SMP 和 AMP 支持的工作负载
  • 特殊功能: 看门狗支持,锁定模式

产品使用说明

  1. 引导过程
    1. 引导过程中涉及的软件组件
      系统启动过程涉及以下软件组件:
      • Hart 软件服务 (HSS):零tag引导加载程序、系统监视器和应用程序运行时服务提供商。
    2. 引导流程
      系统启动流程顺序如下:
      1. Hart 软件服务 (HSS) 的初始化
      2. 引导加载程序执行
      3. 应用程序启动
  2. 监察者
    1. PIC64GX 看门狗
      PIC64GX 具有看门狗功能,可监控系统运行并在系统出现故障时触发操作。
  3. 锁定模式
    锁定模式专为需要完全控制系统启动后操作的客户而设计。它限制了 E51 系统监视器的功能。

常问问题

  • 问:Hart 软件服务 (HSS) 的用途是什么?
    答:HSS 可作为零tag引导加载程序、系统监视器以及引导过程中应用程序的运行时服务提供商。
  • 问:PIC64GX看门狗功能如何工作?
    答:PIC64GX 看门狗监控系统运行,并在系统出现故障时采取预定义的措施,以确保系统的可靠性。

介绍

本白皮书介绍了 Microchip PIC64GX 如何启动应用程序工作负载,并描述了系统启动过程,该过程对于 SMP 和 AMP 工作负载。此外,它还介绍了 SMP 的重启方式以及 AMP 工作负载、PIC64GX 上的看门狗、以及一种特殊的锁定模式,适用于客户需要完全控制的系统,以限制系统启动后 E51 系统监视器的操作。

引导过程

让我们看一下系统启动中涉及的各种软件组件,然后更详细地了解系统启动流程本身的顺序。

引导过程中涉及的软件组件
系统启动过程涉及以下组件:

图 1.1. 启动组件

MICROCHIP-PIC64GX-64 位 RISC-V 四核微处理器-图- (1)

  • 哈特软件服务(HSS)
    Hart 软件服务 (HSS) 是一家零tag引导加载程序、系统监视器和应用程序运行时服务的提供程序。HSS 支持早期系统设置、DDR 训练和硬件初始化/配置。它主要在 E51 上运行,每个 U54 上运行少量机器模式级功能。它通过从引导介质加载应用程序“有效负载”来引导一个或多个上下文,并为操作系统内核提供平台运行时服务/监控执行环境 (SEE)。它支持安全启动,是确保硬件分区/分离的重要组成部分 AMP 上下文。
  • U-Boot (U-Boot)
    Das U-Boot (U-Boot) 是一个开源通用可编写脚本的引导加载程序。它支持一个简单的 CLI,可以从各种来源(包括 SD 卡和网络)检索引导映像。U-Boot 加载 Linux。如果需要,它可以提供 UEFI 环境。一旦 Linux 启动,它通常就完成了,并且不再起作用 - 换句话说,它不会在启动后驻留。
  • Linux 内核
    Linux 内核是世界上最流行的操作系统内核。它与应用程序的用户空间相结合,形成了通常所说的 Linux 操作系统。Linux 操作系统提供了丰富的 POSIX API 和开发人员环境,例如ample、语言和工具,例如 Python、Perl、Tcl、Rust、C/C++ 和 Tcl;库,例如 OpenSSL、OpenCV、OpenMP、OPC/UA 和 OpenAMP (RPmsg 和 RemoteProc)。
    Yocto 和 Buildroot 是 Linux 系统构建器,也就是说,它们可用于生成定制的 Linux 系统。Yocto 输出具有丰富
    应用程序、工具和库的集合,以及可选的包管理。Buildroot 输出更精简的根目录 file系统,并且可以针对不需要持久存储但完全从 RAM 运行的系统(例如使用 Linux 的初始支持ample)。
  • 和风
    Zephyr 是一款小型开源实时操作系统 (RTOS)。它提供了一个实时低开销框架,具有与 Linux 的 RPMsg-lite 通信通道。它包括内核、库、设备驱动程序、协议栈、 file系统、固件更新机制等等,非常适合想要在 PIC64GX 上获得更像裸机体验的客户。

引导流程
PIC64GX 包含一个 RISC-V 核心复合体,其中包含一个 64 位 E51 系统监视器 HART 和 4 个 64 位 U54 应用程序 HART。在 RISC-V 术语中,HART 是包含一整套寄存器并独立执行其代码的 RISC-V 执行上下文。您可以将其视为硬件线程或单个 CPU。单个核心内的一组 HART 通常称为复合体。本主题介绍了初始化 PIC64GX 核心复合体的步骤,包括 E51 系统监视器 HART 和 U54 应用程序 HART。

  1. 打开 PIC64GX 核心复合体的电源。
    通电时,RISC-V 核心复合体中的所有 HART 均由安全控制器释放复位。
  2. 从片上 eNVM 闪存运行 HSS 代码。
    最初,每个心脏开始运行来自片上 eNVM 闪存的 HSS 代码。此代码使所有 U54 应用程序 hart 旋转,等待指令,并让 E51 监视器 hart 开始运行代码以初始化并启动系统。
  3. 将 HSS 代码从 eNVM 解压缩到 L2-Scratch 内存。
    根据其构建时配置,HSS 通常大于 eNVM 闪存本身的容量,因此在 E51 上运行的 HSS 代码所做的第一件事就是将自身从 eNVM 解压缩到 L2-Scratch 内存,如图 1.2 和图 1.3 所示。
    图 1.2. HSS 从 eNVM 解压到 L2 ScratchMICROCHIP-PIC64GX-64 位 RISC-V 四核微处理器-图- (2)
    图 1.3. 解压缩期间的 HSS 内存映射MICROCHIP-PIC64GX-64 位 RISC-V 四核微处理器-图- (3)
  4. 从 eNVM 跳转到 L2-Scratch 进入可执行文件,如下图所示。
    图 1.4. 解压后,HSS 从 eNVM 跳转到 L2Scratch 中的代码MICROCHIP-PIC64GX-64 位 RISC-V 四核微处理器-图- (4)
    可执行文件由三个组件组成:
    • 硬件抽象层 (HAL)、低级代码和裸机驱动程序
    • RISC-V OpenSBI 的本地 HSS 分支(在 PIC64GX 上游略作修改,用于 AMP 目的)
    • HSS 运行时服务(状态机在超级循环中运行)
  5. 初始化OpenSBI使用的硬件和数据结构。
    HSS 服务“启动”负责此初始化。
  6. 从外部存储中获取应用程序工作负载(payload.bin)映像。如图 1.5 和图 1.6 所示
    重要提示:对于 PIC64GX Curiosity Kit,这将来自 SD 卡。
    图 1.5. 从外部存储获取 payload.bin 工作负载映像MICROCHIP-PIC64GX-64 位 RISC-V 四核微处理器-图- (5)
    图 1.6. 获取 payload.bin 后的 HSS 内存映射MICROCHIP-PIC64GX-64 位 RISC-V 四核微处理器-图- (6)
  7. 将 payload.bin 中的各个部分复制到其执行时间目标。payload.bin 是一个格式化的映像,它整合了 SMP 或 AMP 工作负载。它包括代码、数据和描述符表,使 HSS 能够适当地放置代码和数据部分,以便运行各种应用程序工作负载。
    图 1.7. payload.bin 被复制到目标地址MICROCHIP-PIC64GX-64 位 RISC-V 四核微处理器-图- (7)
  8. 指示相关的U54跳转到其执行起始地址。此起始地址信息包含在payload.bin中。
  9. 启动 U54 应用程序 harts 和任何第二个tage 引导加载程序。例如amp例如,U-Boot 启动 Linux。

重启

与系统启动概念相关的是需要重新启动。在考虑 PIC64GX 应用程序工作负载时,重新启动需要考虑对称多处理 (SMP) 和非对称多处理 (AMP)场景:

  1. 对于 SMP 系统,重新启动可以安全地冷启动整个系统,因为其他情况下没有额外的工作负载需要考虑。
  2. 如果 AMP 系统,工作负载可能只被允许自行重启(并且不会干扰任何其他环境),或者可能有权限执行完整的系统重启。

重新启动并 AMP
要启用 SMP 和 AMP 重启场景中,HSS 支持热重启和冷重启权限的概念,这些权限可分配给上下文。具有热重启权限的上下文只能自行重启,而具有冷重启权限的上下文可以执行完整的系统重启。例如amp让我们考虑以下一组代表性场景。

  • 单一上下文 SMP 工作负载,允许请求整个系统重启
  • 在这种情况下,上下文被允许冷重启特权。
  • 双重背景 AMP 工作负载,其中上下文 A 被允许请求完全系统重启(影响所有上下文),而上下文 B 仅允许自行重启
  • 在这个场景中,允许上下文 A 具有冷重启特权,而允许上下文 B 具有热重启特权。
  • 双重背景 AMP 工作负载,其中上下文 A 和 B 只允许自行重新启动(并且不会影响其他上下文)
  • 在这种情况下,两种环境都只允许热重启权限。
  • 双重背景 AMP 工作负载,其中环境 A 和 B 均被允许请求完全系统重启
  • 在此场景中,两种环境均允许冷重启权限。
  • 此外,HSS 在构建时有可能始终允许冷重启特权,也有可能永远不允许冷重启特权。

相关 HSS Kconfig 选项
Kconfig 是一个软件构建配置系统。它通常用于选择构建时选项以及启用或禁用功能。它起源于 Linux 内核,但现在已在 Linux 内核以外的其他项目中得到使用,包括 U-Boot、Zephyr 和 PIC64GX HSS。

HSS 包含两个 Kconfig 选项,从 HSS 角度控制重启功能:

  • CONFIG_ALLOW_冷重启
    如果启用此选项,则全局允许上下文发出冷重启 ecall。如果禁用,则只允许热重启。除了启用此选项外,还必须通过有效负载生成器 YAML 向上下文授予发出冷重启的权限 file 或以下 Kconfig 选项。
  • CONFIG_ALLOW_COLD REBOOT_ALWAYS
    • 如果启用,此功能将全局允许所有上下文发出冷重启 ECAA,而不管 payload.bin 标志的权利。
    • 此外,payload.bin 本身可以包含每个上下文标志,表明特定上下文有权发出冷重启:
      • 为了允许一个上下文热重启另一个上下文,我们可以在 YAML 描述中添加选项 allow-reboot: warm file 用于创建payload.bin
      • 为了允许上下文对整个系统进行冷重启,我们可以添加选项 allow-reboot: cold。默认情况下,如果不指定 allow-reboot,则仅允许上下文本身进行热重启。无论此标志的设置如何,如果 HSS 中未启用 CONFIG_ALLOW_COLDREBOOT,HSS 会将所有冷重启请求重新处理为热(每个上下文)重启。

重启细节
本节详细描述了重启的工作原理——从 OpenSBI 层(最低的 M 模式层)开始,然后讨论如何从 RTOS 应用程序或 Linux 等丰富的操作系统触发此 OpenSBI 层功能。

OpenSBI 重启 ecall

  • RISC-V 监控二进制接口 (SBI) 规范描述了用于平台初始化和固件运行时服务的标准化硬件抽象层。SBI 的主要目的是实现不同 RISC-V 实现之间的可移植性和兼容性。
  • OpenSBI(开源监控二进制接口)是一个开源项目,提供 SBI 规范的参考实现。OpenSBI 还提供运行时服务,包括中断处理、计时器管理和控制台 I/O,可供更高级别的软件层使用。
  • OpenSBI 是 HSS 的一部分,在机器模式级别运行。当操作系统或应用程序引发陷阱时,它将被传递给 OpenSBI 来处理。OpenSBI 通过一种称为 ecall 的特定陷阱机制向软件的上层公开某种系统调用类型的功能。
  • 系统重置 (EID 0x53525354) 提供全面的系统调用功能,允许上层软件请求系统级重启或关闭。一旦 U54 调用此 ecall,它就会被该 U54 上以机器模式运行的 HSS 软件捕获,并向 E51 发送相应的重启请求,以重启上下文或整个系统,具体取决于上下文的权限。

有关详细信息,请参阅 RISC-V 监控器二进制接口规范 特别 系统重置扩展(EID #0x53525354“SRST”).

Linux 重启

作为具体的例子amp例如,在 Linux 中,shutdown 命令用于停止或重启系统。该命令通常有许多别名,即 halt、power off 和 reboot。这些别名指定是否在关机时停止机器、是否在关机时关闭机器电源或是否在关机时重启机器。

  • 这些用户空间命令向 Linux 发出重启系统调用,该调用被内核捕获并与 SBI ecall 交互。
  • 重启有多种级别——REBOOT_WARM、REBOOT_COLD、REBOOT_HARD——这些可以作为命令行参数传递给内核(例如ample,reboot=w[arm] 表示 REBOOT_WARM)。有关 Linux 内核源代码的更多信息,请参阅 文档/管理指南/内核参数.txt.
  • 或者,如果启用了 /sys/kernel/reboot,则可以读取下面的处理程序以获取当前系统重启配置,并写入以更改它。有关 Linux 内核源代码的更多信息,请参阅 文档/ABI/测试/sysfs-kernel-reboot.

监察者

  • 与系统启动和系统重启相关的另一个概念是看门狗定时器触发后系统恢复。看门狗定时器广泛用于嵌入式系统,用于自动从瞬时硬件故障中恢复,并防止错误或恶意软件破坏系统运行。
  • PIC64GX 包含硬件看门狗支持,用于在系统运行时监控各个 HART。如果 HART 由于不可恢复的软件错误而无法响应,看门狗可确保 HART 能够重新启动。
  • PIC64GX 包括五个用于检测系统锁定的看门狗定时器硬件块实例 - 每个 hart 一个。为了促进混合非对称多处理(AMP) 工作负载,HSS 支持监控和对看门狗触发做出反应。

PIC64GX 看门狗

  • HSS 负责在开机时启动应用程序,并在任何时间重新启动它们(单独或集体)。tage,如果需要或期望的话。因此,对 PIC64GX 上的看门狗事件的反应由 HSS 处理。
  • “虚拟看门狗”监视器作为 HSS 状态机服务实现,其职责是监视每个 U54 单独看门狗硬件监视器的状态。当其中一个 U54 看门狗跳闸时,HSS 会检测到此情况并根据需要重新启动 U54。如果 U54 是 SMP 上下文的一部分,则考虑重新启动整个上下文,前提是该上下文具有热重启权限。如果上下文具有冷重启权限,则将重新启动整个系统。

相关的 Kconfig 选项

  • 已发布的 HSS 版本默认包含 Watchdog 支持。如果您希望构建自定义 HSS,本节将介绍配置机制以确保启用 Watchdog 支持。
  • HSS 使用 Kconfig 配置系统进行配置。顶层 .config file 需要选择将哪些服务编译进或编译出 HSS 构建。
  • 首先,需要启用顶层 CONFIG_SERVICE_WDOG 选项(通过 make config 启用“虚拟看门狗支持”)。

然后,这将暴露以下依赖于 Watchdog 支持的子选项:

  • 配置_服务_WD OG_DEBUG
    启用对虚拟看门狗服务的信息/调试消息的支持。
  • CONFIG_SERVICE_WD OG_DEBUG_TIMEOUT_SECS
    确定 HSS 输出看门狗调试消息的周期(以秒为单位)。
  • 配置_服务_WD OG_启用_E51
    除 U51 之外,还启用 E54 的看门狗监测心脏,保护 HSS 本身的运行。

当 E51 看门狗启用时,HSS 将定期写入看门狗以刷新它并防止其触发。如果出于某种原因,E51 核心锁定或崩溃并且 E51 看门狗启用,这将始终重置整个系统。

看门狗操作
看门狗硬件实现了减计数器。可以通过配置看门狗允许刷新的最大值 (MVRP) 来创建禁止刷新窗口。

  • 当看门狗定时器的当前值大于 MVRP 值时,禁止刷新看门狗。在禁止窗口内尝试刷新看门狗定时器将发出超时中断。
  • 在 MVRP 值和触发值 (TRIG) 之间刷新看门狗将成功刷新计数器并防止看门狗触发。
  • 一旦看门狗定时器的值低于 TRIG 值,看门狗就会触发。

看门狗状态机

  • 看门狗状态机非常简单 - 首先配置 E51 的看门狗(如果已启用),然后从空闲状态进入监控状态。每次超级循环都会调用此监控状态,检查每个 U54 看门狗的状态。
  • 如果看门狗状态机检测到 Hart 未能及时刷新其看门狗,则看门狗状态机将与启动状态机交互以重新启动 Hart(以及其启动集中的任何其他 Hart)。

锁定模式

通常情况下(尤其是 AMP 应用程序),预计 HSS 将驻留在 U54 上的 M 模式下,以允许每个上下文重启(即仅重启一个上下文,而无需全芯片重启),并允许 HSS 监控健康状况(ECC、锁定状态位、总线错误、SBI 错误、PMP 违规等)。

MICROCHIP-PIC64GX-64 位 RISC-V 四核微处理器-图- (8)

  • 为了提供重新启动功能,AMP 基于上下文(无需重新启动整个系统),E51 通常具有对系统整个内存空间的特权内存访问权限。但是,在某些情况下,这可能并不理想,客户可能希望在系统成功启动后限制 E51 HSS 固件的操作。在这种情况下,一旦 U54 应用程序 Harts 启动,就可以将 HSS 置于锁定模式。
  • 可以使用 HSS Kconfig 选项 CONFIG_SERVICE_LOCKDOWN 来启用此功能。
  • 锁定服务旨在允许在启动 U54 应用程序 Harts 后限制 HSS 的活动。

图 4.2. HSS 锁定模式

MICROCHIP-PIC64GX-64 位 RISC-V 四核微处理器-图- (9)

一旦启动 Lockdown 模式,它将停止所有其他 HSS 服务状态机的运行。它会调用两个弱绑定函数:

  • e51_pmp_lockdown(),以及
  • e51_锁定()

这些函数旨在由特定于板的代码覆盖。第一个是可配置的触发函数,允许 BSP 自定义在此时将 E51 与应用程序有效负载锁定。此函数的弱绑定默认实现为空。第二个是从此时开始运行的功能。弱绑定默认实现在 E51 中的此时为看门狗提供服务,如果 U54 看门狗触发,它将重新启动。有关更多信息,请参阅 services/lockdown/lockdown_service.c 中的 HSS 源代码 file.

附录

HSS payload.bin 格式

  • 本节介绍payload.bin file 格式和HSS用于引导PIC64GX SMP的图像和 AMP 应用程序。
  • payload.bin 是一个格式化的二进制文件(图 A.10),由一个头部、各种描述符表和各种块组成,这些块包含应用程序工作负载各部分的代码和数据部分。块可以被视为任意大小的连续内存块。

图 A.10. payload.bin 格式

MICROCHIP-PIC64GX-64 位 RISC-V 四核微处理器-图- (10)

标头部分(如图 A.11 所示)包含用于识别 payload.bin 的魔法值和一些内部信息,以及打算在每个上运行的图像的详细信息。
U54 应用程序代码。它描述了如何启动每个单独的 U54 硬件,以及整个可启动映像集。在其内部管理信息中,它有指向各种描述符表的指针,以允许标头大小增长。

图 A.11. payload.bin 标头

MICROCHIP-PIC64GX-64 位 RISC-V 四核微处理器-图- (11)

  • 代码和初始化的常量数据被视为只读的并存储在只读部分中,由头描述符指向该部分。
  • 非零初始化数据变量是读写数据,但它们的初始化值在启动时从只读块复制而来。这些也存储在只读部分中。
  • 只读有效载荷数据部分由代码和数据块描述符表描述。此表中的每个块描述符包含一个“hart 所有者”(目标上下文中的主 hart
    at)、加载偏移量(payload.bin 内的偏移量)和执行地址(PIC64GX 存储器中的目标地址),以及大小和校验和。如图 A.12 所示。

图 A.12. 只读块描述符和有效负载块数据

MICROCHIP-PIC64GX-64 位 RISC-V 四核微处理器-图- (12)

除了上述块之外,还有一些内存块对应于初始化为零的数据变量。这些块不作为数据存储在 payload.bin 中,而是一组特殊的零初始化块描述符,它们指定在启动期间设置为零的 RAM 地址和长度。如图 A.13 所示。

图 A.13. ZI 块

MICROCHIP-PIC64GX-64 位 RISC-V 四核微处理器-图- (13)

hss-有效载荷生成器
HSS Payload Generator 工具为 Hart Software Service 零创建格式化的有效载荷映像tagPIC64GX 上的引导加载程序,给定一个配置 file 和一组 ELF file和/或二进制文件。配置 file 用于将 ELF 二进制文件或二进制 blob 映射到单个应用程序 harts (U54)。

图 B.14. hss-payload-generator 流程

MICROCHIP-PIC64GX-64 位 RISC-V 四核微处理器-图- (14)

该工具确实对配置结构执行了基本的健全性检查 file 本身和 ELF 映像。ELF 映像必须是 RISC-V 可执行文件。

Examp乐跑

  • 要使用 s 运行 hss-payload-generator 工具amp文件配置 file 和 ELF files:
    $ ./hss-payload-generator -c test/config.yaml 输出.bin
  • 要打印有关预先存在的图像的诊断信息,请使用:
    $./hss-payload-generator-d 输出.bin
  • 要启用安全启动身份验证(通过图像签名),请使用 -p 指定椭圆曲线 P-509(SECP384r384)的 X.1 私钥的位置:
    $./hss-payload-generator-c test/config.yaml payload.bin-p/path/to/private.pem

有关更多信息,请参阅安全启动身份验证文档。

配置 File Example

  • 首先,我们可以选择为图像设置一个名称,否则将动态创建一个名称:
    设置名称:'PIC64-HSS::TestImage'
  • 接下来,我们将定义每个心形的入口点地址,如下所示:
    hart-entry-points: {u54_1: ‘0x80200000’, u54_2: ‘0x80200000’, u54_3: ‘0xB0000000′, u54_4:’0x80200000’}

ELF 源图像可以指定入口点,但我们希望能够在需要时支持 harts 的辅助入口点,例如amp例如,如果多个 HART 旨在启动同一个映像,它们可能具有单独的入口点。为了支持这一点,我们在配置中指定实际的入口点地址 file 本身。

现在我们可以定义一些有效载荷(源 ELF files,即二进制 blob,将放置在内存中的特定区域。有效载荷部分由关键字 payloads 定义,然后是一些单独的有效载荷描述符。每个有效载荷都有一个名称(指向其 file)、一个主人雄鹿,以及可选的 1 至 3 个次要雄鹿。

此外,有效载荷具有特权模式,它将在该特权模式下开始执行。有效的特权模式为 PRV_M、PRV_S 和 PRV_U,其定义如下:

  • PRV_M机器模式
  • PRV_S 主管模式
  • PRV_U 用户模式

在以下示例中amp乐:

  • test/zephyr.elf 被认为是在 U54_3 中运行的 Zephyr 应用程序,并且期望在 PRV_M 特权模式下启动。
  • test/u-boot-dtb.bin 是 Das U-Boot 引导加载程序应用程序,它在 U54_1、U54_2 和 U54_4 上运行。它预计在 PRV_S 特权模式下启动。

重要的:
U-Boot 的输出创建一个 ELF file,但通常不会添加 .elf 扩展名。在这种情况下,将使用 CONFIG_OF_SEPARATE 创建的二进制文件,它将设备树 blob 附加到 U-Boot 二进制文件。

这是前任ample Payloads 配置 file:

  • 测试/zephyr.elf:
    {exec-addr:'0xB0000000',owner-hart:u54_3,priv-mode:prv_m,skip-opensbi:true}
  • 测试/u-boot-dtb.bin:
    {exec-addr:'0x80200000',owner-hart:u54_1,secondary-hart:u54_2,secondary-hart:u54_4,priv-mode:prv_s}

重要的:
大小写只对 file 路径名,而不是关键字。因此,例如,u54_1 被视为与 U54_1 相同,而 exec-addr 被视为与 EXEC-ADDR 相同。如果存在 .elf 或 .bin 扩展名,则需要将其包含在配置中 file.

  • 对于不想关注 OpenSBI 的裸机应用程序,如果选项 skip-opens 为真,则会导致使用简单的 mret 而不是
    而不是 OpenSBI sbi_init() 调用。这意味着心脏将开始运行裸机代码,而不考虑任何 OpenSBI HSM 考虑因素。请注意,这也意味着心脏无法使用
    ecalls 调用 OpenSBI 功能。skip-opens 选项是可选的,默认为 false。
  • 要允许一个上下文对另一个上下文进行热重启,我们可以添加选项 allow reboot: warm。要允许一个上下文对整个系统进行冷重启,我们可以添加选项 allow-reboot: cold。默认情况下,如果不指定 allow-reboot,则只允许上下文对自身进行热重启。
  • 还可以将辅助数据与每个有效载荷关联起来,例如ample,一个 DeviceTree Blob (DTB) file,通过指定辅助数据 file名称如下:
    测试/u-boot.bin:{exec-addr:'0x80200000',所有者-hart:u54_1,次要-hart:u54_2,次要-hart:u54_3,次要-hart:u54_4,特权模式:prv_s,辅助数据:测试/pic64gx.dtb}
  • 这些辅助数据将包含在有效载荷中(放置在主载荷之后 file 在可执行文件中
    空间),其地址将在 next_arg1 字段中传递给 OpenSBI(在启动时通过 $a1 寄存器传递给映像)。
  • 为了防止 HSS 自动启动上下文(例如,如果我们想使用 remoteProc 将其控制权委托给上下文),请使用 skip-autoboot 标志:
    test/zephyr.elf:{exec-addr:'0xB0000000',owner-hart:u54_3,priv-mode:prv_m,skip-opensbi:true,skip-autoboot:true}
  • 最后,我们可以使用 payload-name 选项选择性地覆盖单个 payload 的名称。例如amp乐:
    test/u-boot.bin:{exec-addr:'0x80200000',owner-hart:u54_1,secondary-hart:u54_2,secondary-hart:u54_3,secondary-hart:u54_4,priv-mode:prv_s,ancilliary-data:test/pic64gx.dtb,payload-name:'u-boot'}

请注意,Yocto 和 Buildroot Linux 构建者将构建、配置和运行 hss-payload-
生成器可根据需要生成应用程序图像。此外,pic64gx-curiosity-kit-amp Yocto 中的 machine target 将使用 hss-payload-generator 工具生成一个应用程序映像,该映像演示 AMP,其中 Linux 在 3 个 hart 上运行,而 Zephyr 在 1 个 hart 上运行。

修订历史
修订历史描述了文档中实施的更改。更改按修订列出,从最新发布开始。

修订

日期

描述

A 07/2024 初始修订

微芯信息

微芯片 Web地点
Microchip 通过以下方式提供在线支持 web网站 www.microchip.com/。 这 web网站用于制作 files 和信息易于客户获取。可用的内容包括:

  • 产品支持 – 数据表和勘误表、应用笔记和 samp文件程序、设计资源、用户指南和硬件支持文档、最新软件版本和存档软件
  • 一般技术支持 – 常见问题 (FAQ)、技术支持请求、在线讨论组、Microchip 设计合作伙伴计划成员列表
  • 微芯片业务 – 产品选择器和订购指南、最新的 Microchip 新闻稿、研讨会和活动列表、Microchip 销售办事处、分销商和工厂代表列表

产品变更通知服务

  • Microchip 的产品变更通知服务有助于让客户了解 Microchip 产品的最新信息。 每当有与特定产品系列或感兴趣的开发工具相关的更改、更新、修订或勘误表时,订阅者都会收到电子邮件通知。
  • 如需注册,请访问 www.microchip.com/pcn 并按照注册说明进行操作。

客户支持
Microchip 产品的用户可以通过多种渠道获得帮助:

  • 经销商或代表
  • 当地销售办事处
  • 嵌入式解决方案工程师 (ESE)
  • 技术支援

客户应联系其经销商、代表或 ESE 寻求支持。 当地的销售办事处也可以帮助客户。 本文档中包含销售办事处和地点的列表。
技术支持可通过 web网站位于: www.microchip.com/support.

Microchip 设备代码保护功能
请注意 Microchip 产品的代码保护功能的以下详细信息:

  • Microchip 产品符合其特定 Microchip 数据手册中所包含的规格。
  • Microchip 相信,其产品系列在按照预期方式、符合操作规范和在正常条件下使用时是安全的。
  • Microchip 重视并积极保护其知识产权。严禁试图破坏 Microchip 产品的代码保护功能,否则可能违反《数字千年版权法》。
  • Microchip 或任何其他半导体制造商都无法保证其代码的安全性。代码保护并不意味着我们保证产品“牢不可破”。代码保护在不断发展。Microchip 致力于不断改进我们产品的代码保护功能。

法律声明
本出版物和此处的信息只能用于 Microchip 产品,包括设计、测试 Microchip 产品并将其与您的应用程序集成。 以任何其他方式使用此信息均违反这些条款。 有关设备应用程序的信息仅为方便您而提供,可能会被更新所取代。 您有责任确保您的应用程序符合您的规范。 请联系您当地的 Microchip 销售办事处以获取更多支持,或访问以下网址获取更多支持 www.microchip.com/en-us/support/design-help/client-support-services.

本信息由 MICROCHIP “按原样”提供。MICROCHIP 不作任何明示或暗示、书面或口头、法定或其他形式的陈述或保证,包括但不限于任何不侵权、适销性和适用于特定用途的默示保证,或与其状况、质量或性能相关的保证。

在任何情况下,MICROCHIP 均不对与本信息或其使用相关的任何类型的间接、特殊、惩罚性、附带或后果性损失、损坏、成本或费用承担责任,无论其原因如何,即使 MICROCHIP 已被告知可能性或损害是可以预见的。在法律允许的最大范围内,MICROCHIP 对与该信息或其使用相关的任何方式的所有索赔的全部责任不会超过您就该信息直接向 MICROCHIP 支付的费用(如有)。

在生命支持和/或安全应用中使用 Microchip 设备的风险完全由买方承担,买方同意为 Microchip 辩护、赔偿并使 Microchip 免受因此类使用而造成的所有损害、索赔、诉讼或费用。除非另有说明,否则任何 Microchip 知识产权均不会以暗示或其他方式授予任何许可。

商标
Microchip 名称和徽标、Microchip 徽标、Adaptec、AVR、AVR 徽标、AVR Freaks、BesTime、BitCloud、CryptoMemory、CryptoRF、dsPIC、flexPWR、HELDO、IGLOO、JukeBlox、KeeLoq、Kleer、LANCheck、LinkMD、maXStylus、maXTouch、 MediaLB、megaAVR、Microsemi、Microsemi 标志、MOST、MOST 标志、MPLAB、OptoLyzer、PIC、picoPower、PICSTART、PIC32 标志、PolarFire、Prochip Designer、QTouch、SAM-BA、SenGenuity、SpyNIC、SST、SST 标志、SuperFlash、Symmetricom 、SyncServer、Tachyon、TimeSource、tinyAVR、UNI/O、Vectron 和 XMEGA 是 Microchip Technology Incorporated 在美国和其他国家/地区的注册商标。

AgileSwitch、ClockWorks、嵌入式控制解决方案公司、EtherSynch、Flashtec、Hyper Speed Control、HyperLight Load、Libero、电机工作台、mTouch、Powermite 3、Precision Edge、ProASIC、ProASIC Plus、ProASIC Plus 徽标、Quiet-Wire、SmartFusion、SyncWorld 、TimeCesium、TimeHub、TimePictra、TimeProvider 和 ZL 是 Microchip Technology Incorporated 在美国的注册商标

相邻键抑制、AKS、数字时代的模拟、任意电容器、AnyIn、AnyOut、增强开关、BlueSky、BodyCom、Clockstudio、CodeGuard、CryptoAuthentication、CryptoAutomotive、CryptoCompanion、CryptoController、dsPICDEM、dsPICDEM.net、动态平均匹配、DAM、ECAN、Espresso T1S、EtherGREEN、EyeOpen、GridTime、IdealBridge、
IGaT、在线串行编程、ICSP、INICnet、智能并行、IntelliMOS、芯片间连接、JitterBlocker、显示旋钮、MarginLink、maxCrypto、maxView、memBrain、Mindi、MiWi、MPASM、MPF、MPLAB 认证徽标、MPLIB、MPLINK、mSiC、MultiTRAK、NetDetach、Omniscient 代码生成、PICDEM、PICDEM.net、PICkit、PICtail、Power MOS IV、Power MOS 7、PowerSmart、PureSilicon、QMatrix、REAL ICE、Ripple Blocker、RTAX、RTG4、SAM-ICE、串行四路 I/O、简单映射、SimpliPHY、SmartBuffer、SmartHLS、SMART-IS、storClad、SQI、SuperSwitcher、SuperSwitcher II、Switchtec、SynchroPHY、Total Endurance、Trusted Time、TSHARC、Turing、USBCheck、VariSense、VectorBlox、VeriPHY、 ViewSpan、WiperLock、XpressConnect 和 ZENA 是 Microchip Technology Incorporated 在美国和其他国家/地区的商标。

  • SQTP 是美国 Microchip Technology Incorporated 的服务标志
  • Adaptec 徽标、Frequency on Demand、Silicon Storage Technology 和 Symmcom 是 Microchip Technology Inc. 在其他国家/地区的注册商标。
  • GestIC 是 Microchip Technology Inc. 的子公司 Microchip Technology Germany II GmbH & Co. KG 在其他国家的注册商标。

本文提及的所有其他商标均属于其各自公司的财产。© 2024,Microchip Technology Incorporated 及其子公司。保留所有权利。

  • 国际标准书号: 978-1-6683-4890-1

质量管理体系
有关 Microchip 质量管理体系的信息,请访问 www.microchip.com/quality.

全球销售和服务

美洲

亚太 亚太

欧洲

公司的 办公室

西钱德勒大道 2355 号。 亚利桑那州钱德勒 85224-6199

电话: 480-792-7200

传真: 480-792-7277

技术支援: www.microchip.com/support

Web 地址: www.microchip.com

亚特兰大

乔治亚州德卢斯

电话: 678-957-9614

传真: 678-957-1455

德克萨斯州奥斯汀

电话: 512-257-3370

波士顿

马萨诸塞州韦斯特伯勒电话: 774-760-0087

传真: 774-760-0088

芝加哥

伊利诺伊州伊塔斯卡

电话: 630-285-0071

传真: 630-285-0075

达拉斯

德克萨斯州艾迪生

电话: 972-818-7423

传真: 972-818-2924

底特律

密歇根州诺维

电话: 248-848-4000

休斯顿, TX

电话: 281-894-5983

印第安纳波利斯

印第安纳州诺布尔斯维尔电话: 317-773-8323

传真: 317-773-5453

电话: 317-536-2380

洛杉矶

加利福尼亚州米逊维耶霍电话: 949-462-9523

传真: 949-462-9608

电话: 951-273-7800

罗利, NC

电话: 919-844-7510

纽约州纽约市

电话: 631-435-6000

何塞, CA

电话: 408-735-9110

电话: 408-436-4270

加拿大 多伦多

电话: 905-695-1980

传真: 905-695-2078

澳大利亚 – 悉尼

电话:61-2-9868-6733

中国 – 北京

电话:86-10-8569-7000

中国 – 成都

电话:86-28-8665-5511

中国 – 重庆

电话:86-23-8980-9588

中国 – 东莞

电话:86-769-8702-9880

中国 – 广州

电话:86-20-8755-8029

中国 – 杭州

电话:86-571-8792-8115

中国 香港 特区

电话:852-2943-5100

中国 – 南京

电话:86-25-8473-2460

中国 – 青岛

电话:86-532-8502-7355

中国 – 上海

电话:86-21-3326-8000

中国 – 沉阳

电话:86-24-2334-2829

中国 – 深圳

电话:86-755-8864-2200

中国 – 苏州

电话:86-186-6233-1526

中国 – 武汉

电话:86-27-5980-5300

中国 – 西安

电话:86-29-8833-7252

中国 – 厦门

电话:86-592-2388138

中国 – 珠海

电话:86-756-3210040

印度 班加罗尔

电话:91-80-3090-4444

印度 - 新德里

电话:91-11-4160-8631

印度 浦那

电话:91-20-4121-0141

日本 大阪

电话:81-6-6152-7160

日本 东京

电话:81-3-6880-3770

韩国——大邱

电话:82-53-744-4301

韩国 – 首尔

电话:82-2-554-7200

马来西亚 – 瓜拉 吉隆坡

电话:60-3-7651-7906

马来西亚 – 槟城

电话:60-4-227-8870

菲律宾 马尼拉

电话:63-2-634-9065

新加坡

电话:65-6334-8870

台湾 – 朱心

电话:886-3-577-8366

台湾 – 高雄

电话:886-7-213-7830

台湾 – 台北

电话:886-2-2508-8600

泰国 – 曼谷

电话:66-2-694-1351

越南——胡志明

电话:84-28-5448-2100

奥地利 韦尔斯

电话:43-7242-2244-39

传真:43-7242-2244-393

丹麦 哥本哈根

电话:45-4485-5910

传真:45-4485-2829

芬兰 埃斯波

电话:358-9-4520-820

法国 巴黎

Tel: 33-1-69-53-63-20

Fax: 33-1-69-30-90-79

德国 加兴

电话:49-8931-9700

德国 哈恩

电话:49-2129-3766400

德国 海尔布隆

电话:49-7131-72400

德国 卡尔斯鲁厄

电话:49-721-625370

德国 慕尼黑

Tel: 49-89-627-144-0

Fax: 49-89-627-144-44

德国 罗森海姆

电话:49-8031-354-560

以色列 – 霍德哈沙隆

电话:972-9-775-5100

意大利——米兰

电话:39-0331-742611

传真:39-0331-466781

意大利——帕多瓦

电话:39-049-7625286

荷兰 – Drunen

电话:31-416-690399

传真:31-416-690340

挪威 特隆赫姆

电话:47-72884388

波兰 – 华沙

电话:48-22-3325737

罗马尼亚 布加勒斯特

Tel: 40-21-407-87-50

西班牙 – 马德里

Tel: 34-91-708-08-90

Fax: 34-91-708-08-91

瑞典——哥德堡

Tel: 46-31-704-60-40

瑞典——斯德哥尔摩

电话:46-8-5090-4654

英国 – 沃金厄姆

电话:44-118-921-5800

传真:44-118-921-5820

© 2024 Microchip Technology Inc. 及其子公司。

文件/资源

MICROCHIP PIC64GX 64 位 RISC-V 四核微处理器 [pdf] 用户指南
PIC64GX、PIC64GX 64 位 RISC-V 四核微处理器、64 位 RISC-V 四核微处理器、RISC-V 四核微处理器、四核微处理器、微处理器

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *