Skip to content

Reconfigurable Motion and Robotics Demo Build

sgm6733 edited this page Jul 26, 2021 · 10 revisions

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

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.

3 - Clone the repository

  • navigate to the directory where the project will be stored

      $ git clone  https://github.com/CriticalLink/ArrowCMR.git 
    

4 - Build the 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
    

5 - Build the application

    $ 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.

6 - Execute the build

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.


Next - Update SD Card

Return to Build the Example Design
Return to Reconfigurable Industrial Robotics Platform User Guide

Clone this wiki locally