AMD 적응형 SoC 임베디드 소프트웨어 생태계
소프트웨어를 통한 혁신 가속화 및 연결 지원
AMD Embedded 소프트웨어 생태계는 개발자가 아이디어부터 시장 지원 임베디드 시스템으로의 여정을 가속화할 수 있도록 지원합니다. 포괄적인 도구, 런타임, 환경을 갖춘 이 생태계는 AMD Zynq™ 7000 SoC, Zynq UltraScale+™ MPSoC, Versal™ Adaptive SoC, MicroBlaze™ 프로세서, MicroBlaze V 프로세서 코어를 비롯한 AMD 임베디드 제품 디바이스 포트폴리오의 기능을 원활하게 활용할 수 있도록 맞춤화되어 있습니다. 당사의 제품은 Zynq 및 Versal 디바이스의 패브릭에 복잡하게 결합된 선구적인 보안 및 가상화 소프트웨어 드라이버를 비롯한 고급 기능을 기반으로 구축되었습니다. 이러한 시너지 효과는 현대적 임베디드 애플리케이션의 요구를 충족하는 독창적이고 상호 연결된 개별 시스템을 만들 수 있는 가능성을 열어줍니다.
구축 및 개발 도구
Linux
Linux®는 AMD 제품이 가장 널리 사용하는 운영 체제입니다. AMD는 Yocto Project™ 기반 환경 및 Linux 배포판인 EDF Linux OS 및 임베디드 개발 프레임워크(EDF)를 제공합니다. 이 프레임워크에는 GIT 리포지토리의 소스 코드와 Yocto 레시피 파일이 포함되어 있어 사내 빌드 시스템 또는 타사 도구를 통해 AMD 실리콘에 대한 Linux 지원을 가능하게 해줍니다. EDF Linux OS는 AMD Versal™ Adaptive SoC, Zynq™ UltraScale™ MPSoC, Zynq 7000 SoC, MicroBlaze™ 프로세서 기반의 개발을 위해 설계된 맞춤형 비상업용 Linux 개발 프로젝트입니다.
AMD EDF 릴리스의 리눅스 커널 지원은 LTS 커널을 추적합니다.
구축 도구
AMD는 현재 임베디드 Linux 솔루션을 구축하고 배포할 수 있는 두 가지 도구를 제공하고 있습니다. 첫 번째는 오픈 소스 Yocto Project™에 구축된 AMD EDF이고, 두 번째는 AMD EDF로 대체되고 있는 PetaLinux입니다. 두 도구 모두 임베디드 Linux 이미지를 빠르게 빌드할 수 있는 방법을 제공하며 EDF는 고급 사용 사례도 추가로 지원합니다.
사전 구축 및 오픈 소스 이미지
에뮬레이션 모델 및 드라이버
개발 도구
AMD Vitis™ 통합 소프트웨어 플랫폼, SDK(Software Development Kit) 및 생태계 파트너 도구는 Zynq 및 Versal 플랫폼의 SoC 유사 C/C++ 프로그래밍을 지원하는 다양한 개발 환경을 제공합니다.
AMD 소프트웨어 환경
- Vitis 통합 소프트웨어 플랫폼 - Zynq UltraScale+ MPSoC 및 RFSoC와 Versal Adaptive SoC 디바이스용 임베디드 소프트웨어 개발.
- SDK(Software Development Kit) - Zynq 7000 SoC, Zynq UltraScale+ MPSoC 및 MicroBlaze 프로세서용 설계 및 디버그.
생태계 소프트웨어 개발 및 도구
RTOS 및 라이브러리 파트너
RTOS, 하이퍼바이저 및 베어 메탈
Zephyr 프로젝트 RTOS
Zephyr Project는 리소스 제약이 있는 디바이스에 최적화되고 보안을 염두에 두고 구축된 여러 하드웨어 아키텍처를 지원하는 확장형 실시간 운영 체제(RTOS)입니다.
Zephyr OS는 단순한 임베디드 환경 센서 및 LED 웨어러블부터 정교한 스마트 워치 및 IoT 무선 게이트웨이까지 리소스 제약이 있는 시스템에서 사용하도록 설계된 경량 커널을 기반으로 합니다.
Zephyr Project에 대한 자세한 내용은 다음 사이트를 참조하세요. https://www.zephyrproject.org/
AMD의 Zephyr Project 리포지토리는 다음 사이트를 참조하세요. https://github.com/Xilinx/zephyr-amd
FreeRTOS
FreeRTOS는 35개 이상의 아키텍처를 지원하는 Amazon Web Services의 시장 선도적인 RTOS이며 2017년 동안 3분마다 한 번씩 다운로드되었습니다. FreeRTOS는 전문적으로 개발되고 품질이 엄격하게 관리되며 견고하고 지원이 제공되며 독자적인 소스 코드를 노출할 필요 없이 상용 제품에 무료로 임베딩됩니다(참조: 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(Application Processing Unit) 및 32비트 Cortex-R5 RPU(Real-Time Processing Unit) | Versal Adaptive SoC |
| 64비트 Arm Cortex-A53 APU(Application Processing Unit) 및 32비트 Cortex-R5 RPU(Real-Time Processing Unit) | Zynq UltraScale+ MPSoC 및 Kria™ SOM |
| 32비트 ARM Cortex-A9 APU(Application Processing Unit) | Zynq 7000 SoC 디바이스 |
| 32비트 MicroBlaze 프로세서 | 모든 AMD 디바이스 제품군 |
AMD 및 생태계 파트너의 RTOS 지원
| 제공업체 | 제품 | Zynq 7000 SoC | Zynq UltraScale+ MPSoC | Versal Adaptive SoC | MicroBlaze | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| Cortex-A9 | Cortex-A53 | Cortex-R5 | VCU | Mali-400 | Cortex-A72 | Cortex-R5F | AIE | |||
| AMD | 베어 메탈 | Y | Y1 | Y | Y | Y | Y | Y | Y | Y |
| AMD | FreeRTOS | Y | Y1 | Y | N | N | Y | Y | Y | Y |
| AMD | Zephyr6 | N | Y4 | Y4 | Y4 | Y4 | ||||
| BlackBerry | QNX Neutrino | Y | Y | N | Y | Y | Y | N | N | N |
| QNX OS for Safety | Y | Y | N | Y | Y | Y | N | N | N | |
| Wind River | VxWorks | Y | Y | Y | N | Y | Y | Y | N | N |
| Green Hills | INTEGRITY-178 | N | Y | N | N | N | Y | N | N | N |
| INTEGRITY | Y | Y | N | N | N | Y | N | N | N | |
| u-velOsity | N | N | Y | N | N | N | Y3 | N | N | |
| Siemens | Nucleus | Y | Y | Y | N | N | N | Y4 | N | N |
| PX5 | PX5 RTOS | N | Y | Y | N | N | N | N | N | Y |
| Microsoft | Azure RTOS | Y | Y | Y | N | N | N | N | N | Y |
| ETAS | ETAS RTA-OS | Y | Y | Y | N | N | N | N | N | N |
| Sysgo | PikeOS | Y | Y | N | N | N | N | N | N | N |
| PikeOS for MPU | N | N | Y | N | N | N | N | N | N | |
| Lynx | LynxOS-178 | N | Y | N | N | N | N | N | N | N |
| Weston Embedded | Cesium Cs/OS2, OS3 | Y | Y | Y | N | N | N | N | N | N |
| DDC-I | Deos | Y | Y | N |
N | N | N | N | N | N |
| RTEMS | RTEMS | Y | Y | Y | N | N | Y | Y | N | Y |
| eForce | uC3 | Y1 | Y1 | N |
N | N | N | N | N | N |
| ENEA | OSE | Y | Y | N |
N | N | N | N | N | N |
| eSOL | eT-kernel | Y | Y | N | N | N | N | N | N | N |
| Silicon Labs | Micrium uc/OS-II / OS-III5 | Y | Y1 | Y | N | N | N | N | N | N |
| Sciopta | Sciopta RTOS | Y1 | Y1 | Y | N | N | N | N | N | N |
| Wittenstein | SafeRTOS | Y1 | N | N | N | N | N | N | N | N |
| Segger | emBOS | Y1 | N | N | N | N | N | N | N | N |
대부분의 RTOS는 다양한 안전 표준에 대해 일정 수준의 인증을 제공합니다. OS 공급업체에 문의하여 특정 요구 사항이 필요한지 확인하세요.
- SMP 지원 없음
- Micrium은 유지 관리 전용 모드입니다. Weston Embedded는 Cesium 브랜드로 OS를 전달하고 있습니다.
- 아키텍처 지원 패키지
- 개발 중
- 레거시 전용, Weston Embedded에 지원 문의
- AMD Arm 기반 임베디드 하드웨어 플랫폼용 Zephyr OS 개요
자세한 정보 및 지원 리소스는 다음 AMD Wiki 페이지에서 확인할 수 있습니다. 임베디드 소프트웨어 생태계
가상화 및 하이퍼바이저
AMD는 고객과 파트너에게 핵심 기술, 문서 및 지원을 제공하여 자사 제품에 고급 다중 OS 시스템 설계를 구현합니다. 당사 생태계에서 제공하는 제품은 다음과 같습니다.
| 공급업체 | 제품 | Versal Adaptive SoC | Zynq UltraScale+ MPSoC | Zynq 7000 SoC |
|---|---|---|---|---|
| AMD | Xen Hypervisor | Y | Y | N |
| BlackBerry | QNX Hypervisor | Y | Y | N |
| Wind River | Helix Virtualization Platform | Y | Y | N |
| Sysgo | PikeOS Hypervisor | N | Y | Y |
| Green Hills | Integrity Multivisor | Y1 | Y1 | N |
| Lynx | LynxSecure Separation Kernel Hypervisor | Y | Y | N |
| Dornerworks | SEL4 | Y | Y | N |
| Siemens | Nucleus Hypervisor | N | Y | Y |
| General Dynamics Mission Systems | OKL4 Microvisor | N | Y | N |
- 서비스 계약 필요
자세한 정보 및 지원 리소스는 다음 AMD Wiki 페이지에서 확인할 수 있습니다. 임베디드 소프트웨어 생태계
베어 메탈 및 라이브러리
AMD는 추가 라이브러리 및 베어 메탈 드라이버를 제공합니다. 이러한 라이브러리는 AMD 디바이스를 위해 특별히 개발됩니다.
베어 메탈 드라이버 및 라이브러리에 대한 자세한 정보 및 지원 리소스는 다음 AMD Wiki 페이지에서 확인할 수 있습니다. 베어 메탈 및 라이브러리
라이브러리
- Iwip: 네트워크 TCP/IP 스택
- xilisf: 플래시
- 독립형 BSP: 보드 지원 패키지
- xilffs: FAT 파일 시스템
- xilfpga: PL/FPGA 관리(비트스트림 로딩)
- xilskey: 보안 xilsecu
- xilsecure: 보안
- xilrsa: 보안
임베디드 Linux
오픈 소스 Linux는 임베디드 하드웨어에서 실행되는 가장 널리 사용되는 운영 체제이며, AMD는 2001년 AMD Virtex™ II Pro FPGA 출시 이후부터 FPGA 및 적응형 SoC 디바이스에서 Linux를 지원했습니다. AMD는 PetaLinux 및 Yocto 구축 환경뿐 아니라 Canonical Ltd.의 Certified Ubuntu®를 비롯한 여러 타사 공급업체의 대상 AMD 디바이스에 대한 상업적 지원을 제공합니다.
AMD 임베디드 개발 프레임워크(EDF) 및 Yocto Project™
Yocto 프로젝트는 다음과 같이 밝혔습니다. “Yocto 프로젝트는 개발자가 하드웨어 아키텍처에 관계없이 임베디드 제품을 위한 맞춤형 Linux 기반 시스템을 만들 수 있도록 지원하는 오픈 소스 협업 프로젝트입니다. 이 프로젝트는 전 세계 임베디드 개발자들이 기술, 소프트웨어 스택, 구성, 모범 사례를 공유할 수 있는 유연한 도구 세트와 공간을 제공하며, 이를 이용해 임베디드 디바이스를 위한 맞춤형 Linux 이미지를 만들 수 있습니다.” AMD 임베디드 개발 프레임워크는 Yocto Project를 기반으로 합니다. AMD EDF에 대해 자세히 알아보세요.
AMD EDF 및 PetaLinux
두 흐름 모두 AMD 프로세싱 시스템에서 임베디드 Linux 솔루션을 맞춤화, 구축, 평가하는 데 필요한 모든 것을 제공합니다. 설계 생산성 가속화를 위해 맞춤화된 이 솔루션은 AMD 하드웨어 설계 도구와 작동하여 Versal Adaptive SoC, Zynq UltraScale+ MPSoC, Zynq 7000 SoC 및 MicroBlaze 프로세서용 Linux 시스템의 개발을 용이하게 합니다. 하지만 이제 PetaLinux 도구는 AMD EDF로 대체되었습니다. 자세한 내용은 AMD PetaLinux 도구 페이지를 참조하세요.
Linux
| 제공업체 | 제품 | 배포 | Versal Adaptive SoC | Zynq UltraScale+ MPSoC | Zynq 7000 SoC | MicroBlaze |
|---|---|---|---|---|---|---|
| AMD | AMD EDF | Yocto | Y | Y | Y | Y* *MicroBlaze V만 해당 |
| PetaLinux | Yocto | Y | Y | Y | Y | |
| Yocto | Yocto | Y | Y | Y | Y | |
| Canonical | Ubuntu | Debian | Y1 | Y | N | N |
| Wind River | Wind River Linux | Yocto | Y | Y | Y | N |
| Foundies.io | FoundriesFactory | Yocto | Y | Y | N | N |
| Siemens | Sokol Flex OS | Yocto | N | Y | Y | N |
| Sokol Omni OS | Debian | N | Y | N | N | |
| TimeSys | Linux Services | Yocto | Y | Y | Y | N |
| MontaVista | CGX/CGE | Yocto | N | Y | Y | N |
| ArchLinuxARM | ArchLinuxARM | 해당 없음 | N | N | Y | N |
- VCK190 베타 릴리스
자세한 정보 및 지원 리소스는 다음 AMD Wiki 페이지에서 확인할 수 있습니다. 임베디드 소프트웨어 생태계
오픈 소스 프로젝트
QEMU
QEMU(Quick EMUlator)는 오픈 소스 교차 플랫폼 시스템 에뮬레이터입니다. 이 에뮬레이터는 x86 Linux 운영 체제에서 실행 가능한 실행 파일입니다. QEMU는 AMD ZCU102 또는 VCK190 보드와 같은 전체 시스템(일반적으로 게스트라고 함)을 에뮬레이션할 수 있습니다.
에뮬레이션에는 개발 보드의 프로세서, 주변기기 및 기타 하드웨어가 포함되어 있어 가상화된 하드웨어에서 운영 체제 또는 기타 애플리케이션을 실행할 수 있습니다.
또한 QEMU는 CAN, 이더넷, USB 등의 인터페이스를 통해 호스트 시스템과 상호 작용할 수 있으므로 호스트의 실제 데이터를 게스트 시스템에서 실시간으로 사용할 수 있습니다.
Xen Hypervisor
Xen은 Xen Project에서 정의하고 유지 관리하며 오픈 소스 커뮤니티에 제공하는 타입 1 하이퍼바이저입니다. Xen을 사용하면 AMD Zynq UltraScale+ MPSoC에서 운영 체제 또는 베어 메탈 애플리케이션의 여러 인스턴스를 실행할 수 있습니다. Xen 하이퍼바이저에 대한 자세한 내용은 Xen Project 시작하기 페이지에서 확인할 수 있습니다.
U-Boot
U-Boot는 Linux 커뮤니티에서 자주 사용되는 오픈 소스 범용 부트 로더입니다. AMD는 https://github.com/Xilinx/u-boot-xlnx에 있는 GIT 트리를 제공하며, 여기에는 AMD 보드에서 실행할 수 있는 U-Boot가 포함되어 있습니다.
Arm Trusted Firmware
Arm Trusted Firmware는 ARMv8-A 아키텍처를 위한 보안 소프트웨어에 대한 레퍼런스는 물론, 일반 소프트웨어와의 인터페이싱을 위한 PSCI(Power State Coordination Interface) 및 보안 모니터 코드와 같은 다양한 인터페이스 표준의 구현을 제공합니다. AMD Arm Trusted Firmware 포트는 https://github.com/Xilinx/arm-trusted-firmware에서 릴리스하고 제공합니다.