Changes

Jump to: navigation, search

Introduction to development environment (BELK/BXELK)

871 bytes added, 14:13, 19 July 2017
no edit summary
===First-stage bootloader===
Two different first-stage bootloaders are used, depending on the version of the kit.
====U-Boot SPL(BELK 4.0.0 or newer, BXELK 2.0.0 or newer)====TBDThese kits use U-Boot SPL as first-stage bootloader. It is loaded by the internal bootrom during the boot process. U-Boot SPL is run to set up the PS and load the second stage bootloader (U-Boot).  U-Boot SPL is built with the same tool chain used to build the the other software modules, such as the Linux kernel and the applications.  Please note that U-Boot SPL is based on one file (<code>ps7_init.c</code>) that is generated by Vivado. In turn, this file contains some initialization parameters that are set according to Zynq configuration. The U-Boot sources provided by the BELK/BXELK include such file. Unless you need to modify the initial Zynq configuration, you don't need to generate a new <code>ps7_init.c</code> file. Therefore, from the standpoint of the software running on PS, Vivado is genrally not required. 
====FSBL (BELK version up to 3.0.2, BXELK version up to 1.0.1)====
The first stage bootloader is loaded by the internal bootrom during the boot process. FSBL is run to set up the PS and load the second stage bootloader (U-Boot). The FSBL must be created using the Xilinx development tools and must be stored into the boot memory.
Kernels released within BELK derive directly from Xilinx Zynq kernels, with patches added by DAVE Embedded Systems to support the BORA and BORAX hardware platforms.
===Target root file system===
The Linux kernel running on the target needs to mount a root file system. Building a root file system from scratch is definitively a complex task because several well-known directories must be created and populated with a lot of files that must follow some standard rules. Again we will use pre-packaged root file systems that make makes this task much easier. <u>Please note that using a pre-packaged root file system can lead to conflicts with the application binaries obtained using the pre-built cross-toolchain: as a general rule, dynamically linking an application against libraries built with a different toolchain can cause malfunctioning.</u>
4,650
edits

Navigation menu