AMD 自適應 SoC 嵌入式軟體生態系統

透過軟體實現快速創新和連線能力

AMD 的嵌入式軟體生態系統能為開發人員提供更多助力,從構思到做好上市準備,全面加速嵌入式系統的開發歷程。這個專門針對 AMD 嵌入式器件產品組合所打造的生態系統,擁有一套全方位的工具、執行階段軟體和環境,就是要讓開發人員能夠順暢發揮器件的強大威力,包括 AMD Zynq™ 7000 SoC、Zynq UltraScale+™ MPSoC、Versal™ 自適應 SoC、AMD MicroBlaze™ 處理器以及 MicroBlaze V 處理器核心。我們提供的軟體,是建立在先進功能的基礎之上,包含領先業界的安全性和虛擬化軟體驅動程式,且這些功能均與 AMD Zynq 和 Versal 器件的結構緊密結合。其所帶來的協同效應能讓開發人員的潛力發揮到極致,構建出別出心裁、相互連通且與眾不同的系統,進而滿足現代嵌入式應用的需求。

AMD MicroBlaze™ V  Microcontroller Configuration Diagram

建構與開發工具

Linux

AMD Linux 是 AMD 產品中最常用的作業系統。AMD 提供可用來簡化 Linux 開發流程的 PetaLinux 工具,以及放置在 GIT 儲存庫的原始碼和 Yocto 配方檔案 (recipe file),讓企業自家打造的系統或第三方工具也可以為 AMD 矽晶提供 Linux 支援。AMD Linux 專案是客製化的非商業性 Linux 開發專案,目的在於滿足 AMD Versal™ 自適應 SoCZynq™ UltraScale™ MPSoCZynq 7000 SoCMicroBlaze™ 處理器上的開發需求。

AMD 各版軟體支援的 Linux 內核包含下列版本:

  • 2023.x 為 v6.1
  • 2022.x 為 v5.15
  • 2021.x 為 v5.10

建構工具

AMD 提供兩種建構和部署嵌入式 Linux 解決方案的工具來。這兩種工具分別是 AMD 的 PetaLinuxYocto 開放原始碼專案。PetaLinux 為使用者提供可快速建構嵌入式 Linux 映像的圖形使用者介面 (Graphical User Interface, GUI),而經驗更豐富的使用者則可使用 Yocto 為其板卡客製化 Linux。

AMD 產品有一套完善的開放原始碼資源作為後盾,適合在 AMD SoC 或模擬平台上開發、啟動、執行、除錯,以及維護以 Linux 為基礎的應用。我們提供範例應用程式、內核配置、Yocto 配方、多重處理和即時解決方案,以及器件驅動程式。Linux 開放原始碼開發人員會看到熟悉的原始碼、工具和支援論壇,不僅有助於學習、開發,更能與其他具有相同興趣、需求和熱情的人互動交流。

開發工具

Vitis™ 統一軟體平台、AMD 軟體開發套件 (SDK) 和生態系統合作夥伴工具,提供了選擇多樣的開發環境,可支援在 Zynq 和 Versal 平台上進行類似 SoC 的 C/C++ 程式設計。

AMD 軟體環境

  • Vitis 統一軟體平台 - 適用於 Zynq UltraScale+™ MPSoC 和 RFSoC 以及 Versal 自適應 SoC 器件的嵌入式軟體開發。
  • 軟體開發套件 (SDK) - 適用於 Zynq 7000 SoC、Zynq UltraScale+ MPSoC 和 MicroBlaze 處理器的設計和除錯工作。
    (附註:SDK 自 2019.1 起 歸為舊版工具,且不再更新。)

RTOS 與程式庫合作夥伴

RTOS、管理程式和裸機

RTOS

「即時作業系統 (RTOS) 是作業系統 (OS) 的一種,其設計目的在於當資料進入系統時提供即時應用程式處理資料,通常是零緩衝延遲。」(wikipedia.org)

RTOS 的關鍵考量是要保持簡單、輕量。其他如最短的中斷延遲,及上下文交換延遲,亦在考量之列。RTOS 的回應速度和確定性,比所能處理的複雜程度高低更重要。

FreeRTOS

FreeRTOS 是 Amazon Web Services 推出的高市佔率 RTOS,支援超過 35 種架構;在 2017 年期間,每 3 分鐘就被下載一次。它經過專業開發、嚴格的品質控制,既強大實用又有堅實的支援作為後盾,此外還可免費嵌入商業產品中,無須公開您的專有原始碼(參考資料:https://www.freertos.org/RTOS.html)。

更多關於 FreeRTOS 的資訊,可在此處找到:https://www.freertos.org/RTOS.html

FreeRTOS 內核埠可用於下列 AMD 自適應 SoC、FPGA 和 SOM

更多關於在 AMD 產品上使用 FreeRTOS 的資訊和支援資源,可在此處找到:AMD FreeRTOS

處理器 裝置
64 位元 Arm® Cortex®-A72 應用處理單元 (APU) 與 32 位元 Cortex-R5 即時處理單元 (RPU) Versal™ 自適應 SoC 器件  
64 位元 Arm Cortex-A53 應用處理單元 (APU) 與 32 位元 Cortex-R5 即時處理單元 (RPU) Zynq™ UltraScale+™ MPSoC 器件與 Kria™ SOM
32 位元 Arm Cortex-A9 應用處理單元 (APU) Zynq 7000 SoC 器件
32 位元 MicroBlaze™ 處理器 所有 AMD 器件系列

AMD 和生態系統合作夥伴的 RTOS 支援

供應商 產品 Zynq 7000 SoC Zynq UltraScale+ MPSoC Versal 自適應 SoC MicroBlaze
Cortex-A9 Cortex-A53 Cortex-R5 VCU Mali-400 Cortex-A72 Cortex-R5F AIE
AMD 裸機 1
AMD FreeRTOS 1
BlackBerry QNX Neutrino
QNX OS for Safety
Wind River VxWorks
Green Hills INTEGRITY-178
INTEGRITY
u-velOsity 3
Siemens Nucleus 4
PX5 PX5 RTOS
Microsoft Azure RTOS
ETAS ETAS RTA-OS
Sysgo PikeOS
PikeOS for MPU
Lynx LynxOS-178
Weston Embedded Cesium Cs/OS2、OS3
DDC-I Deos

RTEMS RTEMS
eForce uC3 1 1

ENEA OSE

eSOL eT-kernel
Silicon Labs Micrium uc/OS-II / OS-III5 1
Sciopta Sciopta RTOS 1 1
Wittenstein SafeRTOS 1
Segger emBOS 1

大多數 RTOS 都針對不同的安全標準提供一定程度的認證。請諮詢作業系統廠商,確定作業系統是否滿足您的特定需求。
 

1.無 SMP 支援

2.Micrium 現在是「純維護」狀態。Weston Embedded 目前是以 Cesium 為後繼品牌,延續著此作業系統的發展。

3.架構支援套件

4.開發中

5.僅限舊版,請聯絡 Weston Embedded 以取得支援


更多資訊和支援資源可在此 AMD Wiki 頁面上找到:嵌入式軟體生態系統

虛擬化與管理程式

AMD 為其客戶與合作夥伴提供關鍵技術、文件和支援,讓先進、多重作業系統的設計得以實現。我們的生態系統所提供的資源包括:

廠商 產品 Versal 自適應 SoC Zynq UltraScale+ MPSoC Zynq 7000 SoC
AMD Xen 管理程式
BlackBerry QNX 管理程式
Wind River Helix 虛擬化平台
Sysgo PikeOS 管理程式
Green Hills Integrity Multivisor 1 1
Lynx LynxSecure 分離內核管理程式
Dornerworks SEL4
Siemens Nucleus 管理程式
General Dynamics Mission Systems OKL4 Microvisor

1.需要服務合約

更多資訊和支援資源可在此 AMD Wiki 頁面上找到:嵌入式軟體生態系統

裸機與程式庫

AMD 提供其他程式庫和裸機驅動程式。這些程式庫是專為 AMD 器件而開發。

更多關於裸機驅動程式與程式庫的資訊及支援資源,可在此 AMD Wiki 頁面找到:裸機與程式庫

  • 程式庫

    Iwip

    網路 TCP/IP 堆疊

    xilisf

    快閃記憶體

    獨立 BSP

    板卡支援套件

    xilffs

    FAT 檔案系統

    xilfpga

    PL/FPGA 管理(位元流載入)

    xilskey

    安全性 xilsecu

    xilsecure

    安全性

    xilrsa

    安全性

嵌入式 Linux

開放原始碼 Linux 是最常在嵌入式硬體上執行的作業系統,自 2001 年推出 AMD Virtex™-II Pro FPGA 以來,AMD 便一直在其現場可程式化閘陣列 (Field Programmable Gate Array, FPGAs) 和自適應 SoC 器件上為 Linux 提供支援。除了 PetaLinux 和 Yocto 外,AMD 還為多家第三方廠商(包含由 Canonical Ltd. 提供的經認證 Ubuntu)以 AMD 器件為目標的建構環境提供商業支援。

Yocto

正如 Yocto Project 所述:「Yocto Project 是一個開放原始碼協作專案,不論硬體架構為何,都可協助開發人員為嵌入式產品建立以 Linux 為基礎的客製系統。本專案提供了一組靈活的工具和一個平台空間,全球嵌入式開發人員皆可在此共享技術、軟體堆疊、配置和最佳實務,並可運用這些技術為嵌入式器件量身打造 Linux 映像。」

PetaLinux

PetaLinux 工具提供您在 AMD 處理系統上客製化、建立和評估嵌入式 Linux 解決方案所需的一切。這套解決方案是專為加速設計生產力而量身打造,與 AMD 硬體設計工具搭配得宜,能簡化針對 Versal™ 自適應 SoC、Zynq™ UltraScale+™ MPSoC、Zynq 7000 SoC,以及 MicroBlaze™ 處理器所進行的 Linux 系統開發。

Linux

供應商 產品 發佈 Versal 自適應 SoC Zynq UltraScale+ MPSoC Zynq 7000 SoC MicroBlaze
AMD PetaLinux Yocto
Yocto Yocto
Canonical Ubuntu Debian 1
Wind River Wind River Linux Yocto
Foundies.io FoundriesFactory Yocto
Siemens Sokol Flex OS Yocto
Sokol Omni OS Debian
TimeSys Linux Services Yocto
MontaVista CGX/CGE Yocto
ArchLinuxARM ArchLinuxARM N/A

1.VCK190 有 Beta 版本可以使用

更多資訊和支援資源可在此 AMD Wiki 頁面上找到:嵌入式軟體生態系統

開放原始碼專案

QEMU

QEMU (Quick EMUlator) 是一種開放原始碼、跨平台的系統模擬器。它是能夠在 x86 Linux 作業系統上執行的執行檔。QEMU 可以模擬完整的系統(通常稱為客體),例如 AMD ZCU102 或 VCK190 板。

模擬的範圍包含開發板上的處理器、周邊設備和其他硬體,可讓您在虛擬化硬體上啟動作業系統或其他應用程式。

QEMU 還可以透過控制器區域網路 (Controller Area Network, CAN)、乙太網路和 USB 等介面與主機進行互動,使來自主機的實際資料能即時用於客體機器中。

Xen 管理程式

Xen 是由 Xen Project 所定義、維護和提供給開放原始碼社群的第 1 類管理程式。Xen 允許在 AMD Zynq™ UltraScale+™ MPSoC 上執行多個作業系統或裸機應用程式實體。其他關於 Xen 管理程式的資訊,可在「開始使用 Xen Project」頁面上找到。

U-Boot

U-Boot 是 Linux 社群中常用的開放原始碼 Universal Boot Loader。AMD 在 https://github.com/Xilinx/u-boot-xlnx 提供 GIT 樹狀結構,其中包含可在 AMD 板上執行的 U-Boot。

Arm Trusted Firmware

Arm® Trusted Firmware 針對用於 ARMv8-A 架構的安全軟體提供相關參考基準,並為各種介面標準提供實作範例,如 PSCI(電源狀態協調介面)以及用於連接非安全世界軟體的安全監測碼。AMD Arm Trusted Firmware 埠已發佈,可在 https://github.com/Xilinx/arm-trusted-firmware 取得。

支援與資源