Servo Drive Demo Build - ArrowElectronics/Reconfigurable-Industrial-Robotics-Platform GitHub Wiki
Introduction
This section describes how to download the HDL and Software design from the github repository. The designs can be built by using make in a shell. The following steps describe how to do this which conclude by calling a makefile with the make command.
This will build the Platform Designer™ (formerly called QSys™) and Quartus® projects, and then generate and compile them. This approach guarantees quality of results for anyone initially working with these designs.
Building A Cloned Project using the Virtual Machine
1 - Open a shell in the VM player (Ctrl+Alt+T)
2 - Launch an Embedded Command Shell
$ ~/intelFPGA_lite/18.1/embedded/embedded_command_shell.sh
3 - Clone the repository
-
navigate to the directory where the project will be stored
$ git clone https://github.com/CriticalLink/ArrowCMR.git
4 - Execute the build
$ cd ArrowCMR/hw/fpga/cmr_motor_demo
$ make rbf
This will take a few minutes to complete.
$ make uboot ubootenv
This will also take a few minutes to complete.
This will actually build 4 components that are required to boot.
| Name | Description |
|---|---|
| output_files/dev_5cs.rbf | FPGA bitstream file |
| software/preloader/preloader-mkpimage.bin | Preloader executable |
| software/preloader/uboot-socfpga/u-boot.img | u-boot executable |
| software/preloader/ubootenv.bin | u-boot environment |
As the preloader is responsible for configuring the FPGA IO pins, you will need to update this image if you change any IO assignments. You will only need to rebuild uboot if you are adding functionality to it. The same is true for the ubootenv target, the default setup will load cmr.bin from the FAT filesystem. If you change the executable name or want to change other boot settings, this target will update the binary uboot environment file, which you can reload onto the sd card.
Building A Cloned Software Project
The u-boot bootloader is used to load and execute user applications on the MitySoM 5CSX platform. As the ARM CPU is integrated with the FPGA on the CycloneV, building the preloader and u-boot is done as part of the FPGA development process.
Building u-Boot and the preloader (note the correct MitySoM variant is 5CSX-H5-4YA) is detailed in the following wiki:
https://support.criticallink.com/redmine/projects/mityarm-5cs/wiki/Building_u-Boot_and_Preloader
Build the demo application
-
Acquire the correct ARM® compiler. This step needs to be done only once.
$ wget https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 $ mkdir ~/opt $ sudo tar -C ~/opt -xf gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
-
Build the application
$ cd ~/ArrowCMR/sw/ARM/bare-metal/ $ source environment_setup.sh - Enter ~/opt/gcc-arm-none-eabi-10-2020-q4-major when asked for gcc toolchain path $ make
This will build cmr.bin, which you can copy to the SD card to load onto the dev board.
Return to Build the Example Design
Return to Reconfigurable Industrial Robotics Platform User Guide