Documente Academic
Documente Profesional
Documente Cultură
Four master boot methods ARM® CoreSight™ Multi-core & Trace Debug
– SD (Up to 32GB)
® ®
AMBA
AMBA Switches
Switches
One slave boot method (non-secure)
– JTAG for debug and development
NON-SECURE BOOT
STAGE 0
CPU starts executing code from internal Processing System
boot ROM ROM CPU
1) Initializes the Cortex-A9 CPU 0
2) Checks CRC on ROM code On-Chip
RAM
3) Reads the boot mode pins to determine the stage (256KB)
feature
Programmable Logic
1) Arrow shows the direction of the master
NON-SECURE BOOT
STAGE 1 (FIRST STAGE BOOT LOADER)
CPU starts executing FSBL from OCM Processing System
1) Code execution can also be ROM CPU
performed directly from QSPI or NOR
if the Execute In Place (XIP) feature On-Chip
RAM
is used (256KB)
initialized SD
IOP
3) PS application and/or second stage AXI
enabled
Programmable Logic
SECURE BOOT
STAGE 0
• CPU starts executing code from internal Processing System
boot ROM ROM CPU
Device
AES-256 HMAC
Key
Programmable Logic
1) Decryption key is stored in eFUSE or BRAM
2) Separate 256-bit key for the AES and HMAC
3) Keys are programmed using iMPACT via JTAG port
4) SHA – Secure Hash Algorithm
STAGE 2 BOOT
• QSPI USB
SD Device Configuration
• GigE IOP Unit
• SD PCAP
chain QSPI
10ms to 50ms 50us to 500us PS Image Size (KB) PL Image Size (KB)
PLL Lock ms ms
Power Ramp Boot Device Speed (MB/s) Boot Device Speed (MB/s)
Given the high internal configuration bandwidth (100MB/s for secure and
400MB/s for non-secure)
– Image load time is typically limited by the non-volatile memory bus
bandwidth (100MHz QSPI Flash device throughput of up to 50MB/s)
– An example of a PS boot time is given below using a 100MHz QSPI
device
Page 15
3RD PARTY DEBUG TOOLS - ARM
Page 16
3RD PARTY DEBUG TOOLS - LAUTERBACH
Page 17
CONNECTING HW AND SW
DDR Memory ARM Cortex-A9 PL Peripheral 1
MPCore
PL Peripheral 2
Hardware Designer Perspective PL Peripheral 3
Peripheral blocks can be standard core Fixed I/O
offerings or custom logic cores Peripherals
Programmable
Logic controls exposed to Processor 256KB OCM
Logic
System via register interface
Component Description
ps7_init.c(.h)
Source files containing PS configuration setup
ps7_init.tcl
XPS SDK
Import
Generate Hardware HW Spec Generate Software
Platform (XML), Board Support Package
PS7_INIT and
Bitstream
Create Software Libraries and
Application Project Drivers
Build
No
Works?
Yes
BOARD SUPPORT PACKAGE (BSP)
SPI
Ethernet UART Timer Intc
EEPROM
xscutimer.h
xemacps.h
XScuTimer_Start ( … );
XEmacPs_PhyWrite ( … ); XScuTimer_Stop ( … );
XEmacPs_GetOperatingSpeed ( … ); ... XIntc_mEnableIntr ( … );
... xuartps.h ...
XUartPs_Send( … );
xqspips.h
XUartPs_Recv( … );
XQspiPs_Transfer ( … ); ...
XQspiPs_LqspiRead ( … );
...
SDK WORKBENCH VIEWS
C/C++ PERSPECTIVE Active Perspective
indicated here
C/C++ project outline
displays the elements of a
project with file decorators
(icons) for easy
identification
Problems, Console,
Properties views list output
information associated with
the software development
flow
BUILDING THE SOFTWARE APPLICATION
• Hardware Platform
DEBUG CAPABILITIES
C Code
Instruction
Memory Location
Assembly
Instruction Equivalent
XILINX C PROJECT WIZARD
• Target applications
to a Linux Software
Platform
26
REMOTE SYSTEM EXPLORER (LINUX APPLICATION DBG)