Visible to Intel only — GUID: mwh1391806417857
Ixiasoft
1.1. Overview of the Cyclone V SoC Development Kit Reference Platform
1.2. Porting the Reference Platform to Your SoC FPGA Board
1.3. Software Support for Shared Memory
1.4. FPGA Reconfiguration
1.5. Building an SD Flash Card Image
1.6. Compiling the Linux Kernel for Cyclone V SoC FPGA
1.7. Known Issues
1.8. Document Revision History
Visible to Intel only — GUID: mwh1391806417857
Ixiasoft
1.6.1. Recompiling the Linux Kernel
To enable the CMA, you must first recompile the Linux kernel.
- Click the GSRD v14.0 - Compiling Linux link on the Resources page of the RocketBoards.org website to access instructions on downloading and rebuilding the Linux kernel source code.
For use with the ™ Intel® FPGA SDK for OpenCL™ , specify socfpga-3.13-rel14.0 as the <test_branch_name>.
-
Note: The building process creates the arch/arm/configs/socfpga_defconfig file. This file specifies the settings for the socfpga default configuration.Add the following lines to the bottom of the arch/arm/configs/socfpga_defconfig file.
CONFIG_MEMORY_ISOLATION=y CONFIG_CMA=y CONFIG_DMA_CMA=y CONFIG_CMA_DEBUG=y CONFIG_CMA_SIZE_MBYTES=512 CONFIG_CMA_SIZE_SEL_MBYTES=y CONFIG_CMA_ALIGNMENT=8 CONFIG_CMA_AREAS=7
The CONFIG_CMA_SIZE_MBYTES configuration value sets the upper limit on the total number of physically contiguous memory available. You may increase this value if you require more memory.Attention: The total amount of physical memory available to the ARM® processor on the SoC FPGA board is 1 GB. Intel® does not recommend that you set the CMA manager close to 1 GB. - Run the make mrproper command to clean the current configuration.
- Run the make ARCH=arm socfpga_deconfig command.
ARCH=arm indicates that you want to configure the ARM architecture. socfpga_defconfig indicates that you want to use the default socfpga configuration.
- Run the export CROSS_COMPILE=arm-linux-gnueabihf- command.
This command sets the CROSS_COMPILE environment variable to specify the prefix of the desired tool chain.
- Run the make ARCH=arm zImage command. The resulting image is available in the arch/arm/boot/zImage file.
- Place the zImage file into the fat32 partition of the flash card image. For detailed instructions, refer to the Cyclone V SoC FPGA-specific GSRD User Manual on Rocketboards.org.
-
Note: To correctly insert the OpenCL Linux kernel driver, first load an SDK-generated .rbf file onto the FPGA.To create the .rbf file, compile an SDK design example with the Cyclone® V SoC Development Kit Reference Platform as the targeted Custom Platform.
- Place the .rbf file into the fat32 partition of the flash card image.
Attention: The fat32 partition must contain both the zImage file and the .rbf file. Without a .rbf file, a fatal error will occur when you insert the driver.
- Insert the programmed micro SD card, which contains the SD card image you modified or created earlier, into the Cyclone V SoC Development Kit and then power up the SoC FPGA board.
- Verify the version of the installed Linux kernel by running the uname -r command.
- To verify that you enable the CMA successfully in the kernel, with the SoC FPGA board powered up, run the grep init_cma /proc/kallsyms command.
CMA is enabled if the output is non-empty.
- To use the recompiled Linux kernel with the SDK, compile and install the Linux kernel driver.
Related Information