Some checks failed
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
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
This PR introduces some major features while also changing the project structure to be more flexible for multiple platforms (e.g. host tooling). It also includes a lot of bugfixes, renamings for consistency purposes and dependency updates. 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. QSPI flasher for the Zedboard. 3. DDR, QSPI, DEVC, private CPU timer and PLL configuration 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 Major bugfixes: 1. SPI module: CPOL was not configured properly 2. Logger flush implementation was empty, implemented properly now.
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
|
|
}
|