This section lists processor communications and software development environments.
Processor Communications
Software has several hardware mechanisms to communicate between processors.
- Inter-Processor Interrupts with small message buffers
- Set of 32 mutex registers
- General system interrupts from all parts of the device firmware and the GICs in the RPU and APU
- General system interrupts to and from the programmable logic
Software Development
Software can be developed on several platforms.
- Bare-metal software stack with standard C libraries: libc and libm, based on the open source Newlib library
- Middleware libraries that provide networking, file system, and encryption support
- Application examples include test applications
- Linux-based tools and operating system software including:
- PetaLinux to quickly build an embedded OS
- U-Boot and Yocto-based tools
- Real-time operating system (RTOS) support
- FreeRTOS support is built into the AMD Vitis™ development platform for creating projects
System Debugger
The AMD system debugger (XSDB) uses a hardware server (hw_server) as the underlying debug engine. The Vitis development platform translates each user interface action into a sequence of the target communication framework (TCF) commands. The development platform processes the output from the system debugger to display the current state of the programs being debugged. It communicates with the processor using the hw_server. The system debugger includes an Arm CoreSight™ driver to access the debug hardware in the APU, RPU, ASU, and other integrated hardware.