AMD 自適應 SoC 嵌入式軟體生態系統
透過軟體實現快速創新和連線能力
AMD 的嵌入式軟體生態系統能為開發人員提供更多助力,從構思到做好上市準備,全面加速嵌入式系統的開發歷程。這個專門針對 AMD 嵌入式器件產品組合所打造的生態系統,擁有一套全方位的工具、執行階段軟體和環境,就是要讓開發人員能夠順暢發揮器件的強大威力,包括 AMD Zynq™ 7000 SoC、Zynq UltraScale+™ MPSoC、Versal™ 自適應 SoC、MicroBlaze™ 處理器以及 MicroBlaze V 處理器核心。我們提供的軟體,是建立在先進功能的基礎之上,包含領先業界的安全性和虛擬化軟體驅動程式,且這些功能均與 Zynq 和 Versal 器件的結構緊密結合。其所帶來的協同效應能讓開發人員的潛力發揮到極致,構建出別出心裁、相互連通且與眾不同的系統,進而滿足現代嵌入式應用的需求。
建構與開發工具
Linux
Linux® 是 AMD 產品中最常用的作業系統。AMD 提供 EDF Linux OS 與嵌入式開發架構 (Embedded Development Framework, EDF),這是一個以 Yocto Project™ 為基礎的環境,也是一個 Linux 發行版,其中包含來自我們 GIT 儲存庫的原始碼與 Yocto 配方檔,能讓開發人員透過內部建置系統或第三方工具為 AMD 晶片導入 Linux 支援。EDF Linux OS 是客製化的 Linux 開發專案,非供一般市面販售,設計目的在於滿足 AMD Versal™ 自適應 SoC、Zynq™ UltraScale™ MPSoC、Zynq 7000 SoC 和 MicroBlaze™ 處理器上的開發需求。
AMD EDF 歷版的 Linux 核心支援是按 LTS Kernel 版本的推出循序更新。
建構工具
AMD 目前提供兩種建構和部署嵌入式 Linux 解決方案的工具。第一個是 AMD EDF,以開放原始碼 Yocto Project™ 為基礎的建構環境;第二個是 PetaLinux,它正被 AMD EDF 所取代。這兩款工具皆能快速建構嵌入式 Linux 映像檔,而 EDF 另外還支援更進階的使用案例。
預先建構與開放原始碼映像
模擬模型與驅動程式
開發工具
AMD Vitis™ 統一軟體平台、軟體開發套件 (SDK) 和生態系統合作夥伴工具,提供了選擇多樣的開發環境,可支援在 Zynq 和 Versal 平台上進行類似 SoC 的 C/C++ 程式設計。
AMD 軟體環境
- Vitis 統一軟體平台 - 適用於 Zynq UltraScale+ MPSoC 和 RFSoC 以及 Versal 自適應 SoC 器件的嵌入式軟體開發。
- 軟體開發套件 (SDK) - 適用於 Zynq 7000 SoC、Zynq UltraScale+ MPSoC 和 MicroBlaze 處理器的設計和除錯工作。
生態系統軟體開發與工具
- 由 DTS INSIGHT CORPORATION 提供的 AdviceLUNAⅡ
- 由 TOPIC 提供的 DYPLO Dynamic Process Loader
- 由 IAR Systems 提供的 C/C++ 編譯器「IAR Embedded Workbench for Arm」功能安全版
RTOS 與程式庫合作夥伴
RTOS、管理程式和裸機
Zephyr Project RTOS
Zephyr Project 是一款高擴充性的即時作業系統 (RTOS),以安全性為出發點,支援多種硬體架構,並針對資源受限的裝置進行了最佳化。
Zephyr OS 所採用的極簡內核,是專為資源有限的系統而設計:從簡易的嵌入式環境感測器與 LED 穿戴式裝置,到高階的智慧手錶與物聯網無線閘道器皆可使用。
有關 Zephyr Project 的更多資訊,請造訪: https://www.zephyrproject.org/
AMD 的 Zephyr Project 存放庫位於: https://github.com/Xilinx/zephyr-amd
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 | 是 | 否 | 否 | 是 | 是 | 是 | 是 |
| AMD | Zephyr6 | 否 | 是4 | 是4 | 是4 | 是4 | ||||
| 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 都針對不同的安全標準提供一定程度的認證。請諮詢作業系統廠商,確定作業系統是否滿足您的特定需求。
- 無 SMP 支援
- Micrium 現在是「純維護」狀態。Weston Embedded 目前是以 Cesium 為後繼品牌,延續著此作業系統的發展。
- 架構支援套件
- 開發中
- 僅限舊版,請聯絡 Weston Embedded 以取得支援
- 適用於 AMD Arm 型嵌入式硬體平台的 Zephyr OS 概覽
更多資訊和支援資源可在此 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 | 否 | 是 | 否 |
- 需要服務合約
更多資訊和支援資源可在此 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 便一直在其 FPGA 和自適應 SoC 器件上為 Linux 提供支援。除了 PetaLinux 和 Yocto 外,AMD 還為多家第三方廠商(包含由 Canonical Ltd. 提供的經認證 Ubuntu®)以 AMD 器件為目標的建構環境提供商業支援。
AMD 嵌入式開發架構 (EDF) 與 Yocto Project™
正如 Yocto Project 所述:「Yocto Project 是一個開放原始碼協作專案,不論硬體架構為何,都可協助開發人員為嵌入式產品建立以 Linux 為基礎的客製系統。本專案提供了一組靈活的工具和一個平台空間,全球嵌入式開發人員皆可在此共享技術、軟體堆疊、配置和最佳實務,並可運用這些技術為嵌入式器件量身打造 Linux 映像。」AMD 嵌入式開發架構便是基於 Yocto Project。進一步瞭解 AMD EDF。
AMD EDF 與 PetaLinux
兩種流程都提供您在 AMD 處理系統上客製化、建立和評估嵌入式 Linux 解決方案所需要的一切。這套解決方案是專為加速設計生產力而量身打造,與 AMD 硬體設計工具搭配得宜,能簡化針對 Versal 自適應 SoC、Zynq UltraScale+ MPSoC、Zynq 7000 SoC,以及 MicroBlaze 處理器所進行的 Linux 系統開發。但是,PetaLinux 工具現在已被 AMD EDF 所取代。請參閱 AMD PetaLinux 工具頁面以了解更多資訊:
Linux
| 供應商 | 產品 | 發佈 | Versal 自適應 SoC | Zynq UltraScale+ MPSoC | Zynq 7000 SoC | MicroBlaze |
|---|---|---|---|---|---|---|
| AMD | AMD EDF | Yocto | 是 | 是 | 是 | 是* *限 MicroBlaze V |
| 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 | 不適用 | 否 | 否 | 是 | 否 |
- 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 取得。