Some checks failed
ci / Check build (push) Has been cancelled
ci / Check formatting (push) Has been cancelled
ci / Check Documentation Build (push) Has been cancelled
ci / Clippy (push) Has been cancelled
ci / Check build (pull_request) Has been cancelled
ci / Check formatting (pull_request) Has been cancelled
ci / Check Documentation Build (pull_request) Has been cancelled
ci / Clippy (pull_request) Has been cancelled
This PR introduces some major features while also changing the project structure to be more flexible for multiple platforms (e.g. host tooling). Added features: 1. Pure Rust FSBL for the Zedboard. This first variant is simplistic. It is currently only capable of QSPI boot. It searches for a bitstream and ELF file inside the boot binary, flashes them and jumps to them. 2. DDR, QSPI, private CPU timer modules 3. Tooling to auto-generate board specific DDR and DDRIOB config parameters from the vendor provided ps7init.tcl file Changed project structure: 1. All target specific project are inside a dedicated workspace inside the `zynq` folder now. 2. All tool intended to be run on a host are inside a `tools` workspace 3. All other common projects are at the project root
25 lines
721 B
Plaintext
25 lines
721 B
Plaintext
MEMORY
|
|
{
|
|
/* The Zynq7000 has 192 kB of OCM memory which can be used for the FSBL */
|
|
CODE(rx) : ORIGIN = 0x00000000, LENGTH = 192K
|
|
OCM_UPPER(rx): ORIGIN = 0xFFFF0000, LENGTH = 64K
|
|
/* Leave 1 MB of memory which will be configured as uncached device memory by the MMU. This can
|
|
be used for something like DMA descriptors, but the DDR needs to be set up first in addition
|
|
to configuring the page at address 0x400_0000 accordingly */
|
|
UNCACHED(rx): ORIGIN = 0x4000000, LENGTH = 1M
|
|
}
|
|
|
|
REGION_ALIAS("DATA", CODE);
|
|
|
|
SECTIONS
|
|
{
|
|
/* Uncached memory */
|
|
.uncached (NOLOAD) : ALIGN(4) {
|
|
. = ALIGN(4);
|
|
_sbss_uncached = .;
|
|
*(.uncached .uncached.*);
|
|
. = ALIGN(4);
|
|
_ebss_uncached = .;
|
|
} > UNCACHED
|
|
}
|