Linux SystemACE Driver
Linux SystemACE Driver
WARNING - System Ace is not supported in the Xilinx Ultrascale family and Vivado.
Using System ACE For the Kernel
System ACE, on the Xilinx boards, allows compact flash (CF) to be used for loading the FPGA bitstream and the Linux kernel. This does not require the Linux kernel to know anything about System ACE as that's all hardware.
Use the genace tcl script to create the ace file which contains the FPGA bitstream and the linux kernel (or any elf).
xmd -tcl genace.tcl -jprog -target ppc_hw -hw <path/bit file> -elf <path/elf file> -board ml507 -ace <output file name>
Resolved Issues
The driver had a bug such that if you don't have a CF card inserted in the slot it will lock up the kernel during boot. Putting a CF card in the slot worked around the issue. The bug was fixed in 2.6.31.
Using System ACE For the Root File System
The CF can be used for the Linux kernel root file system independent of if the kernel was loaded from the CF or not.
- Enable the system ace driver in the kernel configuration (not the old driver as there were 2 with one being called "old").
- CONFIG_XILINX_SYSACE=y
- Make sure the system ace is in the device tree file and the hardware build.
- Enable ext3 filesystem in the kernel configuration.
- CONFIG_EXT3_FS=y
- CONFIG_EXT3_FS_XATTR=y
- Alter the boot args in device tree file to have the root=/dev/xsa2 (assuming root file system on 2nd partition) or alter the command line when the kernel boots.
- You should see the system ace driver found in the console output.
xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12 xsysace 83600000.sysace: capacity: 2001888 sectors xsa: xsa1 xsa2
Compact Flash Partitions
The following table shows the partitions of a typical Compact Flash card used for Linux and System ACE. The FAT partition is for the system ace to load the bit stream and possibly (not necessarily) the kernel image also. The Linux partition is for a root file system. Swap space is not required for the kernel.
Device |
Start |
End |
Blocks |
Id |
System |
/dev/sdc1 |
1 |
195 |
98248+ |
6 |
FAT16 |
/dev/sdc2 |
196 |
993 |
402192 |
83 |
Linux |
Related Links
© Copyright 2019 - 2022 Xilinx Inc. Privacy Policy