Changes

Jump to: navigation, search
Running the demo applications
===Linux Device Tree===
The Flattened Device Tree (FDT) is a data structure for describing the hardware in a system (for further information, please refer to http://elinux.org/Device_Tree). Both Example #1 and Example #2 requires some modifications to the standard Bora device tree (to initialiaze UART0 port and to properly initialize the RPMsg infrastructure, respectively). Please use the kernel branch <code>bora</code>, that already includes the aforementioned patches (for further details, please refer to the <code>arch/arm/boot/dts/bora.dts</code> file and commit descriptions on the Linux git repository). For detailed instructions on how to build the Linux kernel and the Device Tree, please refer to the BELK Quick Start Guide TBD.
===Running the demo applications=======Example #1: HelloWorld application====This section describes how to run freeRTOS HelloWorld example application on BORA using AMP (Linux + FreeRTOS). Plese follow the steps listed below:* Place all the binary files into the host tftp directory:** Kernel (1): uImage** Device Tree: bora.dtb** First stage bootloader: bora_FSBL.bin** FPGA bitstream: bora_design_wrapper.bin** FreeRTOS application: helloworld_freeRTOS.bin* Start the Bora system* From the U-Boot shell, update the FSBL with the following commands:<pre>run load_fsblrun update_fsbl</pre>* Reset the board to reboot with the new FSBL* Add the following U-Boot environment variables (2):<pre>setenv addcons 'setenv bootargs ${bootargs} console=${console},115200n8 cma=16M debug maxcpus=${nr_cpus}'setenv addmem 'setenv bootargs ${bootargs} mem=$(kernel_mem)'setenv kernel_mem 1008Msetenv nr_cpus 1setenv net_nfs 'run program_fpga; run load_freertos; run loadk nfsargs addip addcons addmem; bootm ${loadaddr_kern} - ${loadaddr_ftd}'setenv load_freertos 'tftp ${freertos_addr} ${freertos_file};mw.l 0xFFFFFFF0 ${freertos_addr}'setenv freertos_addr 0x3F000000setenv freertos_file bora/BELK/helloworld_freeRTOS.binsetenv fpga_file BELK/bora_design_wrapper.bin</pre>Boot the system running the following command: <pre>run net_nfs</pre> (1) The kernel must be built with the UIMAGE_LOADADDR 0x8000 option. Please refer to section 3.4.3 of the Belk Quick Start Guide. (2) <pre>program_fpga</pre>: Loads FPGA binary from TFTP and programs the bitstream <pre>load_freertos</pre>: Loads freertos application binary from TFTP and writes application start address for core #2  <pre>mem=${kernel_memory}</pre>: sets maximum kernel memory (1008M = 1024M - 16M) <pre>maxcpus=${nr_cpus}</pre>: sets maximum Linux cores to 1
=== Additional resources ===
* http://www.wiki.xilinx.com/Multi-OS+Support+%28AMP+%26+Hypervisor%29
* http://www.xilinx.com/support/documentation/sw_manuals/petalinux2013_04/ug978-petalinux-zynq-amp.pdf
4,650
edits

Navigation menu