Download Print this page
Dave Embedded Systems BORA Ultra Line ARM Cortex-A9 Quick Start Manual

Dave Embedded Systems BORA Ultra Line ARM Cortex-A9 Quick Start Manual

Bora embedded linux kit (belk)
Hide thumbs Also See for BORA Ultra Line ARM Cortex-A9:

Advertisement

Quick Links

ARM Cortex-A9 + FPGA CPU Module
Ultra Line
Bora Embedded Linux Kit (BELK)
Quick Start Guide
DAVE Embedded Systems
www.dave.eu
info@dave.eu

Advertisement

loading
Need help?

Need help?

Do you have a question about the BORA Ultra Line ARM Cortex-A9 and is the answer not in the manual?

Questions and answers

Summary of Contents for Dave Embedded Systems BORA Ultra Line ARM Cortex-A9

  • Page 1 ARM Cortex-A9 + FPGA CPU Module Ultra Line Bora Embedded Linux Kit (BELK) Quick Start Guide DAVE Embedded Systems www.dave.eu info@dave.eu...
  • Page 2 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 <Page intentionally left blank> March, 2016 2/66...
  • Page 3 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 Table of Contents 1 Preface...........................6 1.1 About this manual......................6 1.2 Copyrights/Trademarks....................6 1.3 Standards........................6 1.4 Disclaimers........................6 1.5 Warranty..........................7 1.6 Technical Support......................7 1.7 Related documents......................8...
  • Page 4 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 3.3.2 Setting up the Zynq development server environment.........29 3.3.2.1How BORA/BORAX project files are managed..........31 3.3.3 Setting up the Linux development server environment.........32 3.3.3.1TFTP Server......................32 3.3.3.2NFS Server......................32...
  • Page 5 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 4.9 Q: I've just installed the tools on Linux and when I launch the "vivado" command, the build procesess fails.
  • Page 6 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 March, 2016 6/66...
  • Page 7 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 March, 2016 7/66...
  • Page 8 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 March, 2016 8/66...
  • Page 9 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 March, 2016 9/66...
  • Page 10 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 March, 2016 10/66...
  • Page 11: Revision History

    B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 Revision History March, 2016 11/66...
  • Page 12 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 March, 2016 12/66...
  • Page 13 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 March, 2016 13/66...
  • Page 14 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 ● ● ● ● ● ● ● ● An exhaustive description of this topic is beyond the scope of this document. We recommend reading specific documents, eg Building Embedded Linux Systems By Karim Yaghmour.
  • Page 15 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 March, 2016 15/66...
  • Page 16 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 ● ● ● ● ● March, 2016 16/66...
  • Page 17 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 The Software Development Kit (SDK) is the Xilinx Integrated Design Environment for creating embedded applications on Zynq™-7000 All Programmable SoCs.
  • Page 18 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 Nevertheless, FPGA developers will find all the traditional tools that allow complete control of FPGA fabric. March, 2016 18/66...
  • Page 19 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 March, 2016 19/66...
  • Page 20 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 March, 2016 20/66...
  • Page 21 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 μ March, 2016 21/66...
  • Page 22 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 March, 2016 22/66...
  • Page 23 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 Vivado Design Suite FSBL Xilinx SDK Compiler, debugger, libraries, linker Network Services Boot Loader TFTP (2nd stage) DHCP...
  • Page 24 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 March, 2016 24/66...
  • Page 25 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 March, 2016 25/66...
  • Page 26 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 Hardware configuration HW Specification Vivado Design Suite PS configuration PL configuration (bitstream) Git Repositories Export to SDK (source trees) GNU Compiler...
  • Page 27 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 ● ● ● March, 2016 27/66...
  • Page 28 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 setenv saveenv printenv March, 2016 28/66...
  • Page 29 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 ● ● ● March, 2016 29/66...
  • Page 30 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 ● ● ● ● March, 2016 30/66...
  • Page 31 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 ● ● Git Push DAVE DAVE Bora Bora public Development Git repository Team Internet 1) Git Clone 2) Git Fetch/Pull Vivado Design Suite...
  • Page 32 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 March, 2016 32/66...
  • Page 33 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 /opt/Xilinx/SDK/<Vivado_version>/gnu/arm/lin/bin env.sh export PATH=<path_to_toolchain>:$PATH export ARCH=arm export CROSS_COMPILE=<toolchain_prefix> export PATH=/opt/Xilinx/SDK/2014.4/gnu/arm/lin/bin: $PATH export ARCH=arm export CROSS_COMPILE=arm-xilinx-linux-gnueabi- source env.sh March, 2016 33/66...
  • Page 34 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 /sbin/init ● ● ● ● git clone <git_remote_repository> ● March, 2016 34/66...
  • Page 35 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 git fetch origin merge git pull ● ● .ssh ● cd ~/.ssh/ ● ssh-keygen -t rsa -C "username@myhost.com" ●...
  • Page 36 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 bora/linux-xlnx.git git checkout <bora current branch> git checkout bora : git checkout bora March, 2016 36/66...
  • Page 37 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 git fetch origin git checkout -b <new_branch_name> origin/bora ● ● March, 2016 37/66...
  • Page 38 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 ● ● ● ● ● ● git clone git@git.dave.eu:dave/bora/bora.git March, 2016 38/66...
  • Page 39 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 ● <bora_repo>/boards/board_parts/zynq/BORA <bora_repo>/boards/board_parts/zynq/BORAX <vivado_2014.4_install_dir>/data/boards/board_ parts/zynq/ cd <bora_repo> sudo cp -r boards/board_parts/zynq/BORA /opt/Xilinx/Vivado/2014.4/data/boards/board_pa rts/zynq/ sudo cp -r boards/board_parts/zynq/BORAX /opt/Xilinx/Vivado/2014.4/data/boards/board_pa rts/zynq/ ●...
  • Page 40 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9     <bora_repo>/patch/belk-sd-boot.patch   main.c   ●  <bora_repo>/patch/AR65145_ps7_init_c.patch ps7_init.c bora_wrapper_hw_platform_0 <bora_repo>/patch/AR65145_ps7_init_tcl.patch ...
  • Page 41 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 arm-xilinx-eabi-objcopy -v -O binary ${ProjName}.elf ${ProjName}.bin ●   ● ●    ●...
  • Page 42 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 ● ● git clone git@git.dave.eu:dave/bora/bora.git ● <bora_repo>/boards/board_parts/zynq/BORA <bora_repo>/boards/board_parts/zynq/BORAX <vivado_2014.4_install_dir>/data/boards/board_ parts/zynq/ cd <bora_repo> sudo cp -r boards/board_parts/zynq/BORA /opt/Xilinx/Vivado/2014.4/data/boards/board_pa rts/zynq/ sudo cp -r boards/board_parts/zynq/BORAX...
  • Page 43 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 borax ● ●   ● ● ● ● ● ● bora.bd borax.bd ● bora_wrapper.v ●...
  • Page 44 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 constr ● ● ● ● ● generate_binary_bitstream.tcl ● ● ● ●    ...
  • Page 45 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9  ●  <bora_repo>/patch/AR65145_ps7_init_c.patch ps7_init.c bora_wrapper_hw_platform_0 <bora_repo>/patch/AR65145_ps7_init_tcl.patch  ps7_init.tcl bora_wrapper_hw_platform_0 ● ●  arm-xilinx-eabi-objcopy -v -O binary $PROJ_DIR/bora.sdk/SDK/SDK_Export/bora_FSBL/Debug/b ora_FSBL.elf $PROJ_DIR/bora.sdk/SDK/SDK_Export/bora_FSBL/Debug/b...
  • Page 46 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9   ● ● ● git clone git@git.dave.eu:dave/bora/u-boot-xlnx.git -b bora ● ● make bora_qspi make bora_mmc make bora_noflash March, 2016...
  • Page 47 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 make ● /srv/tftp/belk/ cp u-boot.bin /srv/tftp/belk/ ● ● git clone git@git.dave.eu:dave/bora/linux-xlnx.git -b bora ● ●...
  • Page 48 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 uImage menuconfig xconfig gconfig uImage arch/arm/boot/uImage /srv/tftp/belk/ cp arch/arm/boot/uImage /srv/tftp/belk/ cp arch/arm/boot/dts/bora.dtb /srv/tftp/belk/ ● ●...
  • Page 49 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 ● ● ● ● ● ● ● ● ● ● ● ● March, 2016 49/66...
  • Page 50 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 ● sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev xterm :~$ sudo dpkg-reconfigure dash :~$ mkdir belk &&...
  • Page 51 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 build/tmp/deploy/images/bora :~$ cd ~/belk :~/belk$ source bora-bsp-init-env.sh build :~/belk/build$ bitbake memtester build/tmp/deploy/ipk ● ● ●...
  • Page 52 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 ● ● ● ● ● March, 2016 52/66...
  • Page 53 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 ●  ●  ●  U-Boot 2014.07 (Jul 24 2015 - 14:30:55) [belk-2.2.0] Board: BORA I2C:...
  • Page 54 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 CB ConfigID#: 00000001 CB UniqueID#: a600000f:24188b2d Net: Gem.e000b000 zynq-uboot> zynq-uboot> print loadfdt configid_fixupfdt loadfdt=tftpboot ${fdtaddr} ${fdtfile} configid_fixupfdt=if configid checkfdt ${fdtaddr} som_configid ${som_configid#};...
  • Page 55 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 -n "$f: "; cat $f; echo; done /proc/device-tree/cb_configid: 00000001 /proc/device-tree/cb_uniqueid: a600000f:24188b2d /proc/device-tree/som_configid: 00000002 /proc/device-tree/som_uniqueid: fffffefc:fffffefc df646299:0b0579d4 root@axel-lite:~# ●...
  • Page 56 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 *((u32 *)0xF8000830) = 0x003F003F; *((u32 *)0xF8000834) = 0x003F003F; /* If Performance measurement is required * then read the Global Timer value , Please note that the ----CUT----...
  • Page 57 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 ● ● ● ●   March, 2016 57/66...
  • Page 58 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9  ● ● ● March, 2016 58/66...
  • Page 59 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 March, 2016 59/66...
  • Page 60 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 ● ● ● ● March, 2016 60/66...
  • Page 61 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 ● ● ● March, 2016 61/66...
  • Page 62 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 INFO: [Common 17-78] Attempting to get a license: Synthesis WARNING: [Common 17-301] Failed to get a license: Synthesis ..
  • Page 63 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 [Fri Nov 15 11:41:15 2013] bora_run_impl finished wait_on_run: Time (s): cpu = 00:00:00.43 ; elapsed = 00:00:08 .
  • Page 64 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 setenv saveenv run net_nfs March, 2016 64/66...
  • Page 65 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 print addcons=setenv bootargs ${bootargs} console=${console},115200n8 debug earlyprintk addip=setenv bootargs ${bootargs} ip=${ipaddr}:${serverip}:${gateway}:${netmask}:$ {hostname}:${ethdev} addmisc=setenv bootargs ${bootargs} maxcpus=${nr_cpus} cma=16M baudrate=115200 bootaddr=0x101100 bootcmd=run ${modeboot}...
  • Page 66 B E L K Q u i c k S t a r t G u i d e v . 1 . 0 . 9 ${loadaddr} ${bootfile} && fatload mmc 0 ${fdtaddr} ${devicetree_image} && run mmcargs addcons && run configid_fixupfdt && bootm ${loadaddr} - ${fdtaddr} serverip=192.168.0.13 stderr=serial stdin=serial...
  • Page 67 Mouser Electronics Authorized Distributor Click to View Pricing, Inventory, Delivery & Lifecycle Information: DAVE Embedded Systems BELK-L-S BXELK-H-S...