forked from Xilinx/embeddedsw
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.txt
149 lines (133 loc) · 4.63 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
embeddedsw.git - repo for standalone software
All software is version less and divided into three directories
- lib
contains bsp, zynq fsbl and software services like xilisf
- license.txt
contains information about the various licenses and copyrights
- XilinxProcessorIPLib
contains all drivers
- ThirdParty
software from third party like light weight IP stack
- mcap
software for using MCAP interface on Ultra Scale boards to
program 2nd level bitstream
Every driver/lib/apps/services has these sub-directories
1. data - contains tcl, mdd, testapp tcl or header files used in SDK
2. doc - documentation of source code in form of pdf or html
3. examples - illustrating different use cases of driver
4. src - driver interface code implementing functionality of IP
<repo>
|-XilinxProcessorIPLib
| |- drivers
| |- uartps
| |- data
| |- src
| |- doc
| |- examples
|
|-lib
| |- bsp
| |- standalone
| |- data
| |- src
| |- arm
| |- common
| |- cortexa9
| |- cortexa53
| |- cortexr5
| |- microblaze
| |- common
| |- profile
| |- doc
| |- xilkernel
| |- data
| |- doc
| |- src
| |- sw_apps
| |- zynq_fsbl [described below]
|- zynqmp_fsbl [described below]
|- zynqmp_pmufw [described below]
| |- sw_services
| |- xilffs
| |- xilskey
| |- xilmfs
| |- xilrsa
| |- xilflash
| |- xilisf
| |- xilsecure
|
| Note - All these are libraries and utilize drivers
|
|-ThirdParty
| |- sw_services
| |- lwip140
|
|-mcap
| |-linux
Building FSBL from git:
FSBL(zynq_fsbl/zynqmp_fsbl) has 3 directories.
1. data - It contains files for SDK
2. src - It contains the FSBL source files
3. misc - It contains miscellaneous files required to
compile FSBL.
For zynq (zynq_fsbl), builds for zc702, zc706, zed and
microzed boards are supported.
For zynqmp (zynqmp_fsbl), builds for zcu102,zcu102-es2 board are
supported.
It also contains the ps7_init_gpl.[c/h] with gpl
header in respective board directories.
How to compile FSBL:
Zynq
1.Go to the Fsbl src directory "lib/sw_apps/zynq_fsbl/src/"
2. make "BOARD=<>" "CC=<>"
a. Values for BOARD are zc702, zc706, zed, microzed
b. Value for CC is arm-xilinx-eabi-gcc. Default value is also same.
3.Give "make" to compile the fsbl with BSP. By default it is
built for zc702 board with arm-xilinx-eabi-gcc compiler
4.Below are the examples for compiling for different options
a. To generate Fsbl for zc706 board
i.make "BOARD=zc706"
b.To generate Fsbl for zc702 board with debug enable
and RSA support
i.make "BOARD=zc702" "CFLAGS=-DFSBL_DEBUG_INFO -DRSA_SUPPORT"
c.To generate Fsbl for zc706 board and compile with arm-xilinx-eabi-gcc
with MMC support
i.make "BOARD=zc706" "CC=arm-xilinx-eabi-gcc" "CFLAGS=-DMMC_SUPPORT"
ZynqMP
1.Go to the Fsbl src directory "lib/sw_apps/zynqmp_fsbl/src/"
2.If executables and other artifacts from previous FSBL build with other
configuration (different processor/state) are present, run
make clean to delete them.
2.Give build command in the following manner.
a. make "BOARD=<>" "PROC=<>" "A53_STATE=<>"
a. Value for BOARD can be zcu102 or zcu102-es2. (Default is zcu102)
b. Value for PROC can be a53 or r5. (Default is a53)
c. Value for A53_STATE can be 64 or 32. (Default: 64)
A53_STATE is only to be given when processor is a53.
3.Give "make" to compile the fsbl with BSP. By default it is
built for zcu102 board.
4.Below are the examples for compiling for different options
a. To generate A53 64 bit Fsbl for zcu102 board
i.make "BOARD=zcu102" "PROC=a53" "A53_STATE=64"
b.To generate R5 Fsbl for zcu102 board with debug enable
i.make "BOARD=zcu102" "PROC=r5" "CFLAGS+=-DFSBL_DEBUG_INFO"
c.To generate A53 32 bit Fsbl for zcu102 board.
i.make "BOARD=zcu102" "PROC=a53" "A53_STATE=32"
d. To generate A53 64 bit Fsbl for zcu102-es2 board
i.make "BOARD=zcu102-es2" "PROC=a53" "A53_STATE=64"
e.To generate R5 Fsbl for zcu102-es2 board with debug enable
i.make "BOARD=zcu102-es2" "PROC=r5" "CFLAGS+=-DFSBL_DEBUG_INFO"
f.To generate A53 32 bit Fsbl for zcu102-es2 board.
i.make "BOARD=zcu102-es2" "PROC=a53" "A53_STATE=32"
Building PMUFW from git:
PMUFW(zynqmp_pmufw) has 3 directories.
1. data - It contains files for SDK
2. src - It contains the PMUFW source files
3. misc - It contains miscellaneous files required to
compile PMUFW.
How to compile PMUFW:
ZynqMP
1.Go to the PMUFW src directory "lib/sw_apps/zynqmp_pmufw/src/"
2.If executables and other artifacts from previous PMUFW build are present, run
make clean to delete them.
3.Give "make" to compile the PMUFW with BSP.