Apollo Island OpenCL Machine Vision
Cyclone V GT with Intel Atom processor board

02 Mar 2018 - 02:09 | Version 5 | |

State: running
Members: JohnTio

This is a Intel board which uses Cyclone V GT FPGA with Intel processor for Machine Vision. It is connected through PCIe Gen 2 by 4 lane. The board uses Onsemi Phyton 5000 CMOS sensor which is connected to Cyclone V GT FPGA directly through LVDS interface.

For the board setup to run with OpenCL, below is the requirement.
1. Download Intel FPGA OpenCL SDK v16.1
2. Download opencv3.2.0 - https://github.com/opencv/opencv/archive/3.2.0.zip
3. Yocto BSP with Kernel library included ($bitbake core-image-sato-sdk)

FPGA bitstream Compilation. I would suggest you to compile the Cyclone V FPGA design using normal PC as Apollo Island board does not have the require specification to performed the compilation.
1. Unzip the ApolloIsland.zip file in the attachment into "intelFPGA/16.1/hld/board/" folder
2. Download the io_channel_sobel.cl code into your PC
3. Performed OpenCL compilation with the Apollo Island BSP.

Below is the setup step. Please connect the board to the internet through ethernet port.
1. Install Intel FPGA OpenCL SDK v16.1
2. unzip opencv-3.2.0.zip into root folder
3. Go to opencv-3.2.0 folder
4. Make new dir name "build"
5. Go to "build" folder
6. Performed the instruction "cmake -D WITH_IPP=ON -D WITH_TBB=ON -D BUILD_TBB=ON -D WITH_OPENCL=ON .."
7. Performed the instruction "make"
8. Performed the instructioin "make install"
9. Unzip the ApolloIsland.zip file in the attachment into "/home/root/intelFPGA/16.1/hld/board/" folder
10. Unzip the apps.zip file in the attachment into the root folder
11. Download aocl.sh and cmos_sensor_init.c into root folder.
12. Merge the core and periph rbf file generated by the OpenCL SDK using the merging tools provided with the system.
13. copy the merge rbf name fpga.rbf into the "/boot/" folder of the Apollo Island system.
14. Go to "/usr/src/kernel" folder
15. Performed the instruction "make -j 4"
16. Power down the board before running the demo.

Running the demo.
1. Performed the instruction "source ./aocl.sh" and "source apps/io-channel_sobelx/library_path.sh"
2. Performed the instruction "aocl install"
3. Performed the instruction "aocl diagnose acl0" to confirm OpenCL is loaded and able to run without any issue.
4. Compile "cmos_sensor_init.c" using gcc by using this example instruction "gcc cmos_sensor_init.c -o cmos_init"
5. Run cmos_init by using the instruction "./cmos_init -cal" for CMOS Sensor setting and calibration.
6. Run cmos_init by using the instruction "./cmos_init -s" to enable the sequencer/
7. Go to "apps/io-channel_sobelx/" folder
8. Performed instruction "make"
8. Run the host code by running instruction "bin/host"

Attachment file.
ApolloIsland.zip - OpenCL BSP for Apollo Island.
apps.zip - Application host code
aocl.sh - OpenCL Environment setting script.
cmos_sensor_init.c - CMOS Sensor Setting script
io_channel_sobel.cl - Sobel Kernel demo code for OpenCL compilation

Give us your feedback

© 1999-2018 RocketBoards.org by the contributing authors. All material on this collaboration platform is the property of the contributing authors. Privacy.