singlefert.blogg.se

Linux u boot
Linux u boot








linux u boot
  1. #LINUX U BOOT HOW TO#
  2. #LINUX U BOOT CODE#

Then there is the code that configures the processor according to the data table: 2: str r0, įinally there is the code that loads the XILINX_EP107 machine type and continues to the zImage entry point: ldr r1, machine_type word SLCR_LOCK_MAGIC,XPSS_SYS_CTRL_BASEADDR + 0x4 //slcr_lockĪfter the data table is the machine type: machine_type: word 0xC, XPSS_SYS_CTRL_BASEADDR + 0圆00 //ddr_urgent word 0x0, XPSS_SYS_CTRL_BASEADDR + 0圆1c //ddr_urgent_sel word 0xFFFFFFFF, XPSS_SYS_CTRL_BASEADDR + 0x430 //trust_zone * TZ_DDR_RAM, Set DDR trust zone non-secure */ word 0x0, XPSS_SYS_CTRL_BASEADDR + 0x240 //fpga_rst_ctrl * FPGA_RST_CTRL, clear resets on AXI fabric ports */ word 0x1F, XPSS_SYS_CTRL_BASEADDR + 0x910 //ocm_cfg * OCM_CFG, Mask out the ROM, map ram into upper addresses */ word 0xFFFFFFFF, XPSS_DEV_CFG_APB_BASEADDR + 0x28 //rom_shadow word 0x757BDF0D, XPSS_DEV_CFG_APB_BASEADDR + 0x34 //unlock word 0, XPSS_SCU_BASEADDR + 0x40 //filter_start word SLCR_UNLOCK_MAGIC, XPSS_SYS_CTRL_BASEADDR+0x8//slcr_unlock These registers could be configured by the Xilinx FSBL or by the Linux kernel, making this step easier. Each entry is two 32-bit words: a configuration value to write and an address at which to write it. It starts with some code to jump past a data table. This file is compiled and linked with zImage so that this code is the entry point. If we take a look at the contents of Zynq-Boot, one of the files of interest is clearreg.S. Over time, perhaps this configuration wil be moved to the kernel to simplify this process. So all we need to do is the last 2.Įxcept the Xilinx kernel seems to require some other configuration registers to be initialized.

  • Load the zImage and any initial ramdisk image into DRAM īy packing the zImage and initial ramdisk image into a boot.bin file, Xilinx's fsbl takes care of the first two of these.
  • #LINUX U BOOT HOW TO#

    In this Instructable, we show how to boot Linux on a Zedboard directly from the Xilinx FSBL.įirst, let's download the code for zynq-boot, which contains what we need to set up a Zedboard to boot Android git clone git:///cambridgehackers/zynq-boot What a boot loader needs to do to boot LinuxĪ boot loader needs to do just a few things before it can boot ARM Linux. We only include the first two in the boot.bin file and load the third from the filesystem after Linux boots. In our configurations, we have only three chip/board specific files: If you do not need either of those capabilities, then booting Linux directly from FSBL saves some time during boot and reduces the number of chip/board specific files that need to be maintained. (1) It reads files used at boot time from the SD Card instead of requiring them to be included in the boot.bin, and (2) it has a command line, in case you want to modify boot parameters at boot time. U-Boot adds two capabilities to the boot process that the Xilinx FSBL does not have. zImage decompresses the kernel Image and then jumps to the Image's start address.

    linux u boot

    U-Boot sets the architecture register (r2) and then jumps to zImage.

    linux u boot

  • Which then passes control to the U-Boot boot loader, which may read additional files from the boot media.
  • It passes control to the FSBL in the boot.bin file.
  • The First Stage Boot Loader (FSBL) in the Zynq ROM reads the boot.bin file from the boot media, such as the SD Card.
  • Usually, the startup sequence for Linux on a Zedboard is:










    Linux u boot