Software Boot and PL Configuration

Similar documents
2/80 2

EK-STM32F

1.ai

Designing a Custom AXI Peripheral

RAID RAID 0 RAID 1 RAID 5 RAID * ( -1)* ( /2)* No Yes Yes Yes A. B. BIOS SATA C. RAID BIOS RAID ( ) D. SATA RAID/AHCI ( ) SATA M.2 SSD ( )

untitled

ICD ICD ICD ICD ICD

Windows XP

ebook140-9

AL-M200 Series

untitled

NEXT SDT2.51 C:\ARM251 SDT2.51 ARM SDT 2.51 ARM PROJECT MANAGER SDT 2

<4D F736F F F696E74202D20C8EDBCFEBCDCB9B9CAA6D1D0D0DEBDB2D7F92E707074>

目 录

Microsoft PowerPoint - ch6 [相容模式]

K7VT2_QIG_v3

ARM JTAG实时仿真器安装使用指南

ebook140-8

P4V88+_BIOS_CN.p65

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

IP505SM_manual_cn.doc

A Preliminary Implementation of Linux Kernel Virus and Process Hiding

P4VM800_BIOS_CN.p65

Abstract arm linux tool-chain root NET-Start! 2

Debugging the Zynq All Programmable SoC

Guide to Install SATA Hard Disks

Microsoft Word - template.doc

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

Oracle 4

Preface This guide is intended to standardize the use of the WeChat brand and ensure the brand's integrity and consistency. The guide applies to all d

Chapter 2

USB解决方案.ppt

Windows 2000 Server for T100

IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I

Ác Åé å Serial ATA ( Sil3132) S A T A (1) SATA (2) BIOS SATA (3)* RAID BIOS RAID (4) SATA (5) SATA (a) S A T A ( S A T A R A I D ) (b) (c) Windows XP

untitled

Cadence SPB 15.2 VOICE Cadence SPB 15.2 PC Cadence 3 (1) CD1 1of 2 (2) CD2 2of 2 (3) CD3 Concept HDL 1of 1

Microsoft PowerPoint - STU_EC_Ch08.ppt


Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

Logitech Wireless Combo MK45 English

OSI OSI 15% 20% OSI OSI ISO International Standard Organization 1984 OSI Open-data System Interface Reference Model OSI OSI OSI OSI ISO Prototype Prot

epub83-1

<4D F736F F D C4EAC0EDB9A4C0E04142BCB6D4C4B6C1C5D0B6CFC0FDCCE2BEABD1A15F325F2E646F63>

Microsoft PowerPoint - ARC110_栾跃.ppt

Epson

入學考試網上報名指南

14 建筑环境设计模拟分析软件DeST--辅助商业建筑设计应用实例.doc

CH01.indd

ARM Cortex-M3 (STM32F) STMicroelectronics ( ST) STM32F103 Core: ARM 32-bit Cortex -M3 CPU 72 MHz, 90 DMIPS with 1.25 DMIPS/MHz Single-cycle multiplica

SST SPAC SST SoftICE SST89C5x/SST89x554RC /564RD /SST89x516/5xRD / SoftICE SoftICE MCU SoftICE SS

Microsoft PowerPoint - Aqua-Sim.pptx

RAID RAID 0 RAID 1 RAID 5 RAID * (-1)* (/ 2)* No Yes Yes Yes SATA A. B. BIOS SATA C. RAID BIOS RAID ( ) D. RAID/AHCI ( ) S ATA S S D ( ) (

K301Q-D VRT中英文说明书141009

Some experiences in working with Madagascar: installa7on & development Tengfei Wang, Peng Zou Tongji university

PowerPoint Presentation

Microsoft Word - HSK使用手册.doc

audiogram3 Owners Manual

untitled

目次 

5in1_eDVR_Manual_Chinese.cdr

Windows 2000 Server for T100

Microsoft Word - 正文.doc

els0xu_zh_nf_v8.book Page Wednesday, June, 009 9:5 AM ELS-0/0C.8

ch08.PDF

TX-NR3030_BAS_Cs_ indd

ebook 185-6

声 明 本 人 郑 重 声 明 : 此 处 所 提 交 的 硕 士 学 位 论 文 基 于 等 级 工 鉴 定 的 远 程 考 试 系 统 客 户 端 开 发 与 实 现, 是 本 人 在 中 国 科 学 技 术 大 学 攻 读 硕 士 学 位 期 间, 在 导 师 指 导 下 进 行 的 研 究

j_xilinx-training-courses_2012.pdf

ch_code_infoaccess

ansoft_setup21.doc

68369 (ppp quickstart guide)

1505.indd

Learning Java

mvc


A dissertation for Master s degree Metro Indoor Coverage Systems Analysis And Design Author s Name: Sheng Hailiang speciality: Supervisor:Prof.Li Hui,

國 立 政 治 大 學 教 育 學 系 2016 新 生 入 學 手 冊 目 錄 表 11 國 立 政 治 大 學 教 育 學 系 博 士 班 資 格 考 試 抵 免 申 請 表 論 文 題 目 申 報 暨 指 導 教 授 表 12 國 立 政 治 大 學 碩 博 士 班 論

2005 5,,,,,,,,,,,,,,,,, , , 2174, 7014 %, % 4, 1961, ,30, 30,, 4,1976,627,,,,, 3 (1993,12 ),, 2

untitled

Microsoft PowerPoint - ATF2015.ppt [相容模式]

穨control.PDF

AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING

Microsoft PowerPoint - Sens-Tech WCNDT [兼容模式]

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

Microsoft PowerPoint ARIS_Platform_en.ppt

Microsoft Word - Final Exam Review Packet.docx

Edge-Triggered Rising Edge-Triggered ( Falling Edge-Triggered ( Unit 11 Latches and Flip-Flops 3 Timing for D Flip-Flop (Falling-Edge Trigger) Unit 11

Bus Hound 5

HCD0174_2008



1 CPU

Microsoft PowerPoint - AWOL - Acrobat Windows Outlook.ppt [Compatibility Mode]

rz_Newsletter2016_en_ indd

简 介 本 白 皮 书 高 度 概 述 了 支 持 移 动 互 联 网 设 备 (Mobile Internet Device) 的 Intel C++ Software Development Tool Suite for Linux* OS, 目 标 读 者 主 要 是 技 术 决 策 制 订

Microsoft Word 記錄附件

LH_Series_Rev2014.pdf

SPHE8202R Design Guide Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provi

Transcription:

1 2014 Xilinx All Programmable 客户技术培训 1Software Boot and PL Configuration 2014.1

2 40363**slide Objectives After completing this module, you will be able to: Differentiate between program storage and execution memory options and when to use them State various mechanisms for system initialization and application loading Describe the Zynq All Programmable SoC programmable logic (PL) configuration process from an FSBL software application Describe the flash writer utility and its requirements Analyze flash writing and different boot loading usage scenarios Software Boot and PL Configuration - 2 Copyright 2014 Xilinx 40362

3 18484**slide Overview Overview Boot Loader Zynq All Programmable SoC PS Boot and PL Configuration Flash Programmer Utility Summary Software Boot and PL Configuration - 3 Copyright 2014 Xilinx 40362

4 18485**slide Introduction Embedded applications can range in size from a few kilobytes to a few megabytes Two types of external memory may be required Non-volatile memory for storing program and initialized data Memory for running the program If the application size and initialized data are small enough, they can then be downloaded into internal block RAM or OCM RAM A small application is needed to load the program from non-volatile memory into operational RAM Runs on power-on reset and soft resets Known as a boot loader Several mechanisms are available for loading large programs and data stored in non-volatile memory Software Boot and PL Configuration - 4 Copyright 2014 Xilinx 40362

5 Standard Zynq All Programmable SoC Boot Model PS is Boot Master Multi-stage boot process Stage 0: Runs from ROM; loads from non-volatile memory to OCM Provided by Xilinx; unmodifiable Stage 1: Runs from OCM; loads from non-volatile memory to DDRx memory User developed; Xilinx offers example code SDK project Initiates PS boot and PL configuration Stage 2: Optional; runs from DDR User developed; Xilinx offers example code Uboot Sourced from flash memory or through common peripherals, programmable logic I/O, etc. Programmable logic configuration can be performed in Stage 1 or 2 Software Boot and PL Configuration - 5 Copyright 2014 Xilinx 40362

6 18486**slide Zynq All Programmable SoC Program Loading and Initialization Mechanisms Debug mode: Configure PL with bitstream then run the application from XMD Boot mode: FSBL or SSBL configure PL with bitstream Size of application impacts where program can run from Very small applications can run from OCM (no DDR requirement) Small applications can run from BRAM (no DDR requirement) Applications can run from non-volatile or DDR memory Loading the application with a boot loader Use nonvolatile memory to store the application, initialize the processor memory from it, and execute it May execute application directly from flash or other non-volatile memory Software Boot and PL Configuration - 6 Copyright 2014 Xilinx 40362

7 Cortex-A9 Processor Memory Space in the Zynq-7000 AP SoC Processing system and programmable logic look the same from the processor's viewpoint Zynq -7000 All Programmable SoC PS-based peripherals have a fixed address map AMBA, AXI interfaces, memory-mapped I/O, register access Custom Peripheral Code Snippet Programmer s View of Custom Accelerators and Peripherals Software Boot and PL Configuration - 7 Copyright 2014 Xilinx 40362

8 18487**slide Configuring the PL through SDK Download the bitstream and then the application Select Xilinx Tools > Program FPGA Locate and select hardware bit file No BMM file as the ELF runs in PS DDR memory Click Program The programmable logic configures and starts executing the application in DDR memory When launched (later), the XMD debugger will halt the processor and load the actual application for debugging Software Boot and PL Configuration - 8 Copyright 2014 Xilinx 40362

9 Software Program Loading in the Zynq All Programmable SoC (1) Run configurations through SDK Select software application in the project explorer pane Select Run > Run Configurations Double-click Xilinx C/C++ ELF(GDB) to create a run configuration for application Click Run to download executables (.elf) and run application Software Boot and PL Configuration - 9 Copyright 2014 Xilinx 40362

10 51500**slide Software Program Loading in the Zynq All Programmable SoC (2) Debug using XMD If PL is used, select Xilinx Tools > Program FPGA Choose the.bit file and click Program; programmable logic configures Launch XMD and select Xilinx Tools > XMD Console Command console opens Connect to ARM hardware dow FSBL.elf to initialize PS dow <executable>.elf downloads executable Software Boot and PL Configuration - 10 Copyright 2014 Xilinx 40362

11 51284**slide Program Loading and Initialization Mechanisms (MicroBlaze Processor) Initializing bitstreams with the application Application is small enough to be contained within the programmable logic Downloading an application by using XMD Application resides in external memory, use XMD to download the application after the programmable logic has been configured with the bitstream Bitstreams must be initialized with the BootLoop program in order to place the processor in a proper state between bitstream downloading and application downloading through XMD Loading the application with a boot loader Use nonvolatile memory to store the application, initialize the processor memory from it, and execute it May be executing application from flash or other non-volatile memory Software Boot and PL Configuration - 11 Copyright 2014 Xilinx 40362

12 51285**slide Bitstream Initialization in SDK (MicroBlaze Processor) Initialize bitstreams with the application Select Xilinx Tools > Program FPGA Locate and select hardware bit and block RAM location bmm files Specify an ELF to download and click Program Initialize bitstreams with BootLoop BootLoop is a software application that keeps the processor in a defined state until the actual application is downloaded in a controlled manner by the debugger Select Xilinx Tools > Program FPGA, select BootLoop, and click Program The programmable logic configures and starts executing the BootLoop program in block RAM When launched (later), the XMD debugger will halt the processor and load the actual application for debugging Software Boot and PL Configuration - 12 Copyright 2014 Xilinx 40362

13 51286**slide Software Program Loading with XMD (MicroBlaze Processor) Processor hardware debug unit must already be instantiated (JTAG) For MicroBlaze-processor systems, the processor must be connected to a Microprocessor Debug Module (MDM) Select Xilinx Tools > Program FPGA, select BootLoop, and click Program; programmable logic configures in an infinite loop Select Xilinx Tools > Program FPGA to download and execute the selected BootLoop Select Xilinx Tools > XMD Console to launch XMD Command console opens dow <executable>.elf downloads executable Software Boot and PL Configuration - 13 Copyright 2014 Xilinx 40362

14 18493**slide Boot Loader Overview Boot Loader Zynq All Programmable SoC PS Boot and PL Configuration Flash Programmer Utility Summary Software Boot and PL Configuration - 14 Copyright 2014 Xilinx 40362

15 18494**slide Boot Loader What is a boot loader? First program run Runs on power up or reset Copies program from non-volatile memory to DDR/OCM/block RAM Could load application directly, an OS loader, or the OS itself When done transfers control to selected program Why? Final software system... Might not fit into ROM Might require some kind of run-time set up before it is launched Might be determined dynamically Boot loaders tend to range from simple to quite complex systems May include communication drivers to download application from remote location May include decompression/decryption engine for compressed/encrypted images Software Boot and PL Configuration - 15 Copyright 2014 Xilinx 40362

16 18495**slide Boot Load Scenarios Commonly used boot load scenarios Booting from flash devices Booting from PROMs Booting from a serial line Booting from Ethernet with BootP and TFTP Booting from PCIe or other communications interface Command line-based interactive boot load Each method has its advantages, disadvantages, and applicability Software Boot and PL Configuration - 16 Copyright 2014 Xilinx 40362

17 18496**slide Image Formats Boot loader must understand both Image format of the file (application, bitstream, or data) Organization of the images in the NV storage medium Formats Common: ELF, Intel MCS-86 file (.mcs),.bin, Motorola SREC, Intel I-hex, binary, gzip/bzipped images Less common: Custom formats are common as well Image formats have different processing complexities and sizes ELF, SREC/iHex, binary, compressed Decreasing order of size requirements Compressed, ELF, SREC/iHex, binary Decreasing order of processing complexity Software Boot and PL Configuration - 17 Copyright 2014 Xilinx 40362

18 Stage 0: ROM Based (Zynq All Programmable SoC) Processor boots from boot ROM (128KB) Xilinx provided Not viewable Copies First Stage Boot Loader (FSBL) from memory device to OCM static RAM (256KB) Maximum size is 192KB (rest can be used as stack, BSS, or non-initialized memory) Xilinx provided Starts executing FSBL from OCM RAM Software Boot and PL Configuration - 18 Copyright 2014 Xilinx 40362

19 Stage 1: First Stage Boot Loader (FSBL) (Zynq All Programmable SoC) Example FSBL provided by Xilinx as an SDK example project Otherwise user developed Copies next stage of code into DDRx or static memory (OCM) And/or enables an external device for Stage 2 Further initialization of PS components and peripherals Optionally configures programmable logic Upon completion, launches application or Second Stage Boot Load Software Boot and PL Configuration - 19 Copyright 2014 Xilinx 40362

20 Stage 2: Second Stage Boot Loader (SSBL) (Optional) (Zynq All Programmable SoC) Example U-Boot provided by Xilinx Otherwise user developed Loaded from user-selected external device Flexibility in boot sources Static memory Dynamic memory PS peripherals such as USB, Ethernet, or SD Programmable logic I/Os Initializes rest of PS Optionally configures PL Software Boot and PL Configuration - 20 Copyright 2014 Xilinx 40362

21 18497**slide Boot Loader Flow in SDK (MicroBlaze Processor) Build the target software application as an ELF executable file Use the Flash Writer utility to Convert the application ELF to a Motorola S-Record format, an industry-standard format mostly used for flash programming Generate boot loader application Explained in the next section Select Xilinx Tools > Program FPGA, specify the boot loader application to be used, and click Program The programmable logic configures with the launch of the boot loader application On system start up, the boot loader fetches image from the boot load target Copies/unpacks the image to external memory Performs other initialization, if needed Transfers control to the entry point of the final application Software Boot and PL Configuration - 21 Copyright 2014 Xilinx 40362

22 Processor Boot Sequence (MicroBlaze Processor) Software Boot and PL Configuration - 22 Copyright 2014 Xilinx 40362

23 40365**slide Zynq All Programmable SoC PS Boot and PL Configuration Overview Boot Loader Zynq All Programmable SoC PS Boot and PL Configuration Flash Programmer Utility Summary Software Boot and PL Configuration - 23 Copyright 2014 Xilinx 40362

24 Zynq-7000 All Programmable SoC Boot and Configuration Zynq-7000 All Programmable SoC devices can be booted and/or configured in Secure mode via static memories only (JTAG excluded) Ability to have secure software and protects bitstream and IP Non-secure mode via JTAG or static memories (debug and development environment) Standard boot model Three master boot devices QSPI: serial memory, linear addressing NAND: complex parallel memory NOR: parallel memory, linear addressing SD: Flash memory card JTAG: download cable Secondary boot devices USB, Ethernet, and most other peripherals Software Boot and PL Configuration - 24 Copyright 2014 Xilinx 40362

25 Non-Secure OS Boot Example Software Boot and PL Configuration - 25 Copyright 2014 Xilinx 40362

26 Secure Boot Example Software Boot and PL Configuration - 26 Copyright 2014 Xilinx 40362

27 Secure Linux Boot Example Software Boot and PL Configuration - 27 Copyright 2014 Xilinx 40362

28 Processing System (PS) Boot Configuration Handoff The Zynq All Programmable SoC is a processor first, programmable logic second Most options, features, and configurations are controlled by software setup Clock generation MIO usage Processor cache and memory configuration The Vivado Design Suite Export to SDK utility generates the PS configuration code Used by FSBL Various *.c and *.h files Software Boot and PL Configuration - 28 Copyright 2014 Xilinx 40362

29 37187**slide Software Drivers Xilinx provides drivers for all primary boot interfaces Linux driver Standalone driver Example FSBL provided Example SSBL provided Software Boot and PL Configuration - 29 Copyright 2014 Xilinx 40362

30 41377**slide PL Device Configuration Services Used by FSBL Set of Standalone library services The device configuration interface has three main functionalities AXI-PCAP Security policy System monitor Currently not implemented Supports the downloading of the programmable logic bitstream and readback of the decrypted image Services are detailed in the Software Developers Guide (UG821) Software Boot and PL Configuration - 30 Copyright 2014 Xilinx 40362

31 41332**slide SDK FSBL Support SDK software project Complete FSBL boot application Software application load PL configuration from bit file Support for golden image Requires *.bif file for image generation All source code is included Can be modified for other boot sources Ethernet USB Serial Software Boot and PL Configuration - 31 Copyright 2014 Xilinx 40362

32 41333**slide Building the FSBL Software Application Project Created with an SDK software project template Automatically loads program and bit file images from flash Requires a special FSBL partition image in flash BootGen tool builds flash image binary Software Boot and PL Configuration - 32 Copyright 2014 Xilinx 40362

33 50619**slide Programming the PL from SDK Configure PL from SDK Select Xilinx Tools > Program FPGA Specify hardware BIT file Files typically located in the Vivado Design Suite project No BMM file as the ELF file runs in DDR memory Once PS is configured, use RUN command to download new ELF file Software Boot and PL Configuration - 33 Copyright 2014 Xilinx 40362

34 50639**slide Creating a Single Boot Image File Creating a Zynq All Programmable SoC boot image file using SDK Right-click the software application project and select Create Boot Image Add the FSBL ELF file Add the PL bitstream file (if PL design available) Add the software application ELF file Select the output file name Click Create Image to create the image file Output files (based on extension.bin or.mcs) Creates Intel MCS-86 file (.mcs) for programming flash Creates.BIN image for booting the application from the SD card Software Boot and PL Configuration - 34 Copyright 2014 Xilinx 40362

35 PS Boot and PL Configuration Example 1 Enclosed System 1. PS runs Stage 0 boot from OCM-ROM, which loads the First Stage Boot Loader from Flash into OCM-RAM 2. PL bitstream may be loaded into the PL under FSBL control at this time or may be deferred until later 3. FSBL loads Second Stage Boot Loader or Application into DDRx memory and runs SSBL / Application When SSBL is complete, the OS begins execution out of DDRx memory Optionally, PL may be configured from SSBL now or even later under user software control Software Boot and PL Configuration - 35 Copyright 2014 Xilinx 40362

36 PS Boot and PL Configuration Example 2 Using Flash Memory and an SD Card 1. PS runs Stage 0 boot from OCM-ROM, which loads the First Stage Boot Loader from Flash into OCM-RAM 2. PL bitstream may come from SD card or Flash and is loaded into the PL under FSBL control at this time or may be deferred until later 3. FSBL loads Second Stage Boot Loader or Application from the SD card into DDRx memory and runs SSBL / Application When SSBL is complete, the OS begins execution out of DDRx memory Optionally, PL may be configured from SSBL now or even later under user software control Software Boot and PL Configuration - 36 Copyright 2014 Xilinx 40362

37 PS Boot and PL Configuration Example 3 Networked System 1. PS runs Stage 0 boot from OCM-ROM, which loads the First Stage Boot Loader from Flash into OCM-RAM 2. FSBL may configure the PL at this time or defer configuration 3. FSBL configures Ethernet MAC and loads Second Stage Boot Loader or Application from the remote server into DDRx memory and runs SSBL / Application When SSBL is complete, the OS begins execution out of DDRx memory Optionally, PL may be configured during FSBL or SSBL or even later under user software control Software Boot and PL Configuration - 37 Copyright 2014 Xilinx 40362

38 39323**slide Configuring and Re-Configuring the PL The PL is configured via the device configuration interface module Accessed via a software application using an AXI port in the PS Supported by Xilinx-provided APIs in SDK Recommended methodology Separate DMA port into the Central interconnect for simultaneous PL configuration with software download Accessed from the PL via a GPx master AXI port Not recommended Software Boot and PL Configuration - 38 Copyright 2014 Xilinx 40362

39 18501**slide Flash Programmer Utility Overview Boot Loader Zynq All Programmable SoC PS Boot and PL Configuration Flash Programmer Utility Summary Software Boot and PL Configuration - 39 Copyright 2014 Xilinx 40362

40 Flash Image Generation Flow (Zynq All Programmable SoC) Software Boot and PL Configuration - 40 Copyright 2014 Xilinx 40362

41 Flash Programming Support (Zynq All Programmable SoC) Use of the Vivado hardware manager to program flash Assign flash image to flash memory attached to the Zynq device Connect to the JTAG chain containing the ARM DAP of the Zynq device Download the flash programming application into the PS of the Zynq device using the hardware manager Procedure Erase: the hardware manager tells the Zynq device application to erase flash memory Program: the hardware manager loads the flash image into the PS buffer of the Zynq device; Zynq device application writes the image to flash memory Verify: Zynq device reads the flash contents and writes into buffer; reads the buffer and compares against the original flash image Use of SDK to program flash Creates a flash Image using a flash image generator The flash writer uses the same programming engine as hardware manager Software Boot and PL Configuration - 41 Copyright 2014 Xilinx 40362

42 Creating a First Stage Bootload Software Application (Zynq All Programmable SoC) SDK supports an example FSBL software application project Target application must be in Zynq device FSBL format in flash RAM must exist at location targeted by flash image format Selection of target hardware processor(s) FSBL May configure the programmable logic with hardware bitstream May load OS image or standalone image or SSBL image from the non-volatile memory to RAM (DDR) Transfers program control to the newly loaded application/os Xilinx FSBL supports multiple partitions; each partition can be a code image or a bitstream Software Boot and PL Configuration - 42 Copyright 2014 Xilinx 40362

43 50643**slide Flash Programming Utility (Zynq All Programmable SoC) Select Xilinx Tools > Program Flash Select the image file and offset A full flash image offset will always be 0 Click Program to "flash" the image Software Boot and PL Configuration - 43 Copyright 2014 Xilinx 40362

44 18502**slide Parallel Flash Memory Boot (MicroBlaze Processor) SDK provides a Program Flash Memory dialog box for programming flash devices Supports flash devices that support Intel command sets Supports most all physical flash arrangements Supports flash bootloader software application creation Supports an executable file as an input format and provides the option of converting it into SREC format Flash devices must interface through the EMC peripheral Requires XMD to execute a Tcl file to perform programming and verification functions Software Boot and PL Configuration - 44 Copyright 2014 Xilinx 40362

45 Creating a Boot Load Software Application (MicroBlaze Processor) SDK supports an example boot load software application project Target application must be in SREC format in flash (as provided by the flash programming utility) RAM must exist at location targeted by SREC format All source is provided and can be modified Address of flash memory must be specified in blconfig.h Boot messages sent to STDout if VERBOSE symbol defined Software Boot and PL Configuration - 45 Copyright 2014 Xilinx 40362

46 18504**slide Flash Writer Utility (MicroBlaze Processor) Object file to be programmed Object in ELF or SREC format Hardware instance of flash memory Base address, size, and data width automatically determined from hardware platform specification Storage offset from beginning of flash memory Programming scratchpad RAM is required Software Boot and PL Configuration - 46 Copyright 2014 Xilinx 40362

47 18505**slide Summary Overview Boot Loader Zynq All Programmable SoC PS Boot and PL Configuration Flash Programmer Utility Summary Software Boot and PL Configuration - 47 Copyright 2014 Xilinx 40362

48 Apply Your Knowledge 1. Where are the different places in which a user application can reside and when will you use them? 2. What is the Flash Programmer utility? What are some of the requirements? Software Boot and PL Configuration - 48 Copyright 2014 Xilinx 40362

49 18508**slide Summary SDK supports various mechanisms for initializing an application. The choice depends on the size of the application, how it will be stored, and the memory technology environment in which it will execute FSBL application provided in SDK features PS boot PL configuration SDK provides a Flash Programmer utility that you can use to program flash devices SDK provides a sample bootloader software application project Software Boot and PL Configuration - 49 Copyright 2014 Xilinx 40362

50 51636**slide Lab 6: Boot Loading from Flash Memory (Zynq All Programmable SoC) Introduction The lab illustrates the steps involved in booting an application from QSPI flash Objectives Open the Vivado Design Suite project and re-configure to Zynq All Programmable SoC PS settings Export to SDK and launch the software project Create a Zynq All Programmable SoC boot image file using the ELF and BIT files Program the flash by copying the MCS file to flash Boot the system by loading the actual application stored in flash Software Boot and PL Configuration - 50 Copyright 2014 Xilinx 40362