Solo / dual / quad arm cortex-a9 mpcore
cpu module (64 pages)
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...
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...
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