mirror of
https://github.com/micropython/micropython.git
synced 2025-09-05 01:10:36 +02:00
This allows UART RX to function while flash erase/writes operations are under way, preventing lost serial data so long as it fits in the UART RX buffer. This enables (among other things) mpremote to successfully copy files to boards that use a UART REPL. Enable via the following option placed in `mpconfigboard.mk`: MICROPY_HW_ENABLE_ISR_UART_FLASH_FUNCS_IN_RAM = 1 Signed-off-by: Andrew Leech <andrew.leech@planetinnovation.com.au>
31 lines
1.2 KiB
Plaintext
31 lines
1.2 KiB
Plaintext
/*
|
|
GNU linker script for STM32H7B3
|
|
*/
|
|
|
|
/* Specify the memory areas */
|
|
MEMORY
|
|
{
|
|
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 2048K
|
|
FLASH_START (rx): ORIGIN = 0x08000000, LENGTH = 128K /* sector 0, 128K */
|
|
FLASH_FS (r) : ORIGIN = 0x08020000, LENGTH = 128K /* sector 1, 128K */
|
|
FLASH_TEXT (rx) : ORIGIN = 0x08040000, LENGTH = 1792K /* sectors 6*128 + 8*128 */
|
|
DTCM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K /* Used for storage cache */
|
|
RAM (xrw) : ORIGIN = 0x24000000, LENGTH = 512K /* AXI SRAM */
|
|
RAM_D2 (xrw) : ORIGIN = 0x30000000, LENGTH = 288K
|
|
}
|
|
|
|
/* produce a link error if there is not this amount of RAM for these sections */
|
|
_minimum_stack_size = 2K;
|
|
_minimum_heap_size = 16K;
|
|
|
|
/* Define the stack. The stack is full descending so begins just above last byte
|
|
of RAM. Note that EABI requires the stack to be 8-byte aligned for a call. */
|
|
_estack = ORIGIN(RAM) + LENGTH(RAM) - _estack_reserve;
|
|
_sstack = _estack - 16K; /* tunable */
|
|
|
|
/* RAM extents for the garbage collector */
|
|
_ram_start = ORIGIN(RAM);
|
|
_ram_end = ORIGIN(RAM) + LENGTH(RAM);
|
|
_heap_start = _ebss; /* heap starts just after statically allocated memory */
|
|
_heap_end = _sstack;
|