-
Notifications
You must be signed in to change notification settings - Fork 0
Reconfigurable Motion and Robotics Demo Build
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.
$ ~/intelFPGA_lite/18.1/embedded/embedded_command_shell.sh
You may receive a warning that SoC EDS may not function correctly without a DS-5 install. This warning is ok and can be ignored.
-
navigate to the directory where the project will be stored
$ git clone https://github.com/CriticalLink/ArrowCMR.git
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
-
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
$ cd ~/ArrowCMR/sw/ARM/bare-metal/
$ source environment_setup.sh
- Enter /home/soceds/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.
Note: Opening a new shell is very important.
-
Open a new shell in the VM player (Ctrl+Alt+T)
-
Launch an Embedded Command Shell
$ ~/intelFPGA_lite/18.1/embedded/embedded_command_shell.sh
$ 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.
Return to Build the Example Design
Return to Reconfigurable Industrial Robotics Platform User Guide