kopia lustrzana https://github.com/micropython/micropython
ports/stm32/boards: Add WEACT_STM32H743 board.
Signed-off-by: Matt Trentini <matt.trentini@gmail.com>pull/12540/head
rodzic
72ef2e6291
commit
479df8c6fe
|
@ -0,0 +1,45 @@
|
||||||
|
/*
|
||||||
|
* This file is part of the MicroPython project, http://micropython.org/
|
||||||
|
*
|
||||||
|
* The MIT License (MIT)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2023 Matt Trenitni
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "storage.h"
|
||||||
|
#include "qspi.h"
|
||||||
|
|
||||||
|
#if MICROPY_HW_SPIFLASH_ENABLE_CACHE
|
||||||
|
// Shared cache for first and second SPI block devices
|
||||||
|
STATIC mp_spiflash_cache_t spi_bdev_cache;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// First external SPI flash uses hardware QSPI interface
|
||||||
|
const mp_spiflash_config_t spiflash_config = {
|
||||||
|
.bus_kind = MP_SPIFLASH_BUS_QSPI,
|
||||||
|
.bus.u_qspi.data = NULL,
|
||||||
|
.bus.u_qspi.proto = &qspi_proto,
|
||||||
|
#if MICROPY_HW_SPIFLASH_ENABLE_CACHE
|
||||||
|
.cache = &spi_bdev_cache,
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
spi_bdev_t spi_bdev;
|
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"deploy": [
|
||||||
|
"deploy.md"
|
||||||
|
],
|
||||||
|
"features": ["External Flash", "DAC", "Display","microSD", "USB", "USB-C"],
|
||||||
|
"images": [
|
||||||
|
"weact_stm32h743.jpg"
|
||||||
|
],
|
||||||
|
"mcu": "STM32H743VIT6",
|
||||||
|
"product": "WeAct Studio STM32H743",
|
||||||
|
"url": "https://github.com/WeActStudio/MiniSTM32H7xx",
|
||||||
|
"vendor": "WeAct Studio"
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
### WeAct Studio STM32H7xx
|
||||||
|
|
||||||
|
WeAct Studio make a number of STM32H7xx-based boards, they can all be updated
|
||||||
|
using
|
||||||
|
[DFU](https://en.wikipedia.org/wiki/USB?useskin=vector#Device_Firmware_Upgrade_mechanism).
|
||||||
|
|
||||||
|
### DFU update
|
||||||
|
|
||||||
|
Hold the Boot button - the middle of the cluster of three buttons - while the
|
||||||
|
board is reset (either by connecting USB or by pressing reset). Release the Boot
|
||||||
|
button shortly after the board has reset. The board ought to now be in DFU mode
|
||||||
|
and detectable as such from a connected computer.
|
||||||
|
|
||||||
|
Use a tool like [`dfu-util`](https://dfu-util.sourceforge.net/) to update the
|
||||||
|
firmware:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
dfu-util --alt 0 -D firmware.dfu
|
||||||
|
```
|
|
@ -0,0 +1,4 @@
|
||||||
|
include("$(PORT_DIR)/boards/manifest.py")
|
||||||
|
|
||||||
|
# Currently this file is a placeholder.
|
||||||
|
# It would be good to extend to add an LCD driver.
|
|
@ -0,0 +1,135 @@
|
||||||
|
/*
|
||||||
|
* The MIT License (MIT)
|
||||||
|
* Copyright (c) 2023 Matt Trentini
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define MICROPY_HW_BOARD_NAME "WEACT_STM32H743"
|
||||||
|
#define MICROPY_HW_MCU_NAME "STM32H743VIT6"
|
||||||
|
#define MICROPY_HW_FLASH_FS_LABEL "WEACT_STM32H743"
|
||||||
|
|
||||||
|
#define MICROPY_FATFS_EXFAT (1)
|
||||||
|
#define MICROPY_HW_ENABLE_RTC (1)
|
||||||
|
#define MICROPY_HW_ENABLE_RNG (1)
|
||||||
|
#define MICROPY_HW_ENABLE_ADC (1)
|
||||||
|
#define MICROPY_HW_ENABLE_DAC (1)
|
||||||
|
#define MICROPY_HW_ENABLE_USB (1)
|
||||||
|
#define MICROPY_HW_HAS_SWITCH (1)
|
||||||
|
#define MICROPY_HW_HAS_FLASH (1)
|
||||||
|
#define MICROPY_HW_ENABLE_SERVO (1)
|
||||||
|
#define MICROPY_HW_ENABLE_TIMER (1)
|
||||||
|
#define MICROPY_HW_ENABLE_SDCARD (1)
|
||||||
|
#define MICROPY_HW_ENABLE_MMCARD (0)
|
||||||
|
|
||||||
|
// Flash storage config
|
||||||
|
#define MICROPY_HW_SPIFLASH_ENABLE_CACHE (1)
|
||||||
|
#define MICROPY_HW_ENABLE_INTERNAL_FLASH_STORAGE (0)
|
||||||
|
|
||||||
|
// Clock config
|
||||||
|
#define MICROPY_HW_CLK_PLLM (5)
|
||||||
|
#define MICROPY_HW_CLK_PLLN (160)
|
||||||
|
#define MICROPY_HW_CLK_PLLP (2)
|
||||||
|
#define MICROPY_HW_CLK_PLLQ (4)
|
||||||
|
#define MICROPY_HW_CLK_PLLR (2)
|
||||||
|
#define MICROPY_HW_CLK_PLLVCI (RCC_PLL1VCIRANGE_1)
|
||||||
|
#define MICROPY_HW_CLK_PLLVCO (RCC_PLL1VCOWIDE)
|
||||||
|
#define MICROPY_HW_CLK_PLLFRAC (0)
|
||||||
|
|
||||||
|
#define MICROPY_HW_CLK_PLL3M (25)
|
||||||
|
#define MICROPY_HW_CLK_PLL3N (240)
|
||||||
|
#define MICROPY_HW_CLK_PLL3P (2)
|
||||||
|
#define MICROPY_HW_CLK_PLL3Q (5)
|
||||||
|
#define MICROPY_HW_CLK_PLL3R (2)
|
||||||
|
#define MICROPY_HW_CLK_PLL3VCI (RCC_PLL3VCIRANGE_1)
|
||||||
|
#define MICROPY_HW_CLK_PLL3VCO (RCC_PLL3VCOWIDE)
|
||||||
|
#define MICROPY_HW_CLK_PLL3FRAC (0)
|
||||||
|
|
||||||
|
// 32kHz crystal for RTC
|
||||||
|
#define MICROPY_HW_RTC_USE_LSE (1)
|
||||||
|
#define MICROPY_HW_RTC_USE_US (0)
|
||||||
|
|
||||||
|
#if (MICROPY_HW_ENABLE_INTERNAL_FLASH_STORAGE == 0)
|
||||||
|
// W25Q64 for storage
|
||||||
|
#define MICROPY_HW_QSPI_PRESCALER (2) // 100 MHz
|
||||||
|
#define MICROPY_HW_QSPIFLASH_SIZE_BITS_LOG2 (26)
|
||||||
|
#define MICROPY_HW_SPIFLASH_SIZE_BITS (64 * 1024 * 1024)
|
||||||
|
#define MICROPY_HW_QSPIFLASH_CS (pin_B6)
|
||||||
|
#define MICROPY_HW_QSPIFLASH_SCK (pin_B2)
|
||||||
|
#define MICROPY_HW_QSPIFLASH_IO0 (pin_D11)
|
||||||
|
#define MICROPY_HW_QSPIFLASH_IO1 (pin_D12)
|
||||||
|
#define MICROPY_HW_QSPIFLASH_IO2 (pin_E2)
|
||||||
|
#define MICROPY_HW_QSPIFLASH_IO3 (pin_D13)
|
||||||
|
|
||||||
|
// SPI flash, block device config
|
||||||
|
extern const struct _mp_spiflash_config_t spiflash_config;
|
||||||
|
extern struct _spi_bdev_t spi_bdev;
|
||||||
|
#define MICROPY_HW_BDEV_IOCTL(op, arg) ( \
|
||||||
|
(op) == BDEV_IOCTL_NUM_BLOCKS ? (MICROPY_HW_SPIFLASH_SIZE_BITS / 8 / FLASH_BLOCK_SIZE) : \
|
||||||
|
(op) == BDEV_IOCTL_INIT ? spi_bdev_ioctl(&spi_bdev, (op), (uint32_t)&spiflash_config) : \
|
||||||
|
spi_bdev_ioctl(&spi_bdev, (op), (arg)) \
|
||||||
|
)
|
||||||
|
#define MICROPY_HW_BDEV_READBLOCKS(dest, bl, n) spi_bdev_readblocks(&spi_bdev, (dest), (bl), (n))
|
||||||
|
#define MICROPY_HW_BDEV_WRITEBLOCKS(src, bl, n) spi_bdev_writeblocks(&spi_bdev, (src), (bl), (n))
|
||||||
|
#define MICROPY_HW_BDEV_SPIFLASH_EXTENDED (&spi_bdev)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// 4 wait states
|
||||||
|
#define MICROPY_HW_FLASH_LATENCY FLASH_LATENCY_2
|
||||||
|
|
||||||
|
// UART
|
||||||
|
#define MICROPY_HW_UART1_TX (pin_A9)
|
||||||
|
#define MICROPY_HW_UART1_RX (pin_A10)
|
||||||
|
|
||||||
|
#define MICROPY_HW_UART2_TX (pin_A2)
|
||||||
|
#define MICROPY_HW_UART2_RX (pin_A3)
|
||||||
|
|
||||||
|
// I2C buses
|
||||||
|
#define MICROPY_HW_I2C1_SCL (pin_B8)
|
||||||
|
#define MICROPY_HW_I2C1_SDA (pin_B9)
|
||||||
|
|
||||||
|
#define MICROPY_HW_I2C2_SCL (pin_B10)
|
||||||
|
#define MICROPY_HW_I2C2_SDA (pin_B11)
|
||||||
|
|
||||||
|
// SPI buses
|
||||||
|
// NOTE: SPI3 is used for the QSPI flash.
|
||||||
|
#define MICROPY_HW_SPI1_NSS (pin_A4)
|
||||||
|
#define MICROPY_HW_SPI1_SCK (pin_A5)
|
||||||
|
#define MICROPY_HW_SPI1_MISO (pin_A6)
|
||||||
|
#define MICROPY_HW_SPI1_MOSI (pin_A7)
|
||||||
|
|
||||||
|
#define MICROPY_HW_SPI2_NSS (pin_B12)
|
||||||
|
#define MICROPY_HW_SPI2_SCK (pin_B13)
|
||||||
|
#define MICROPY_HW_SPI2_MISO (pin_B14)
|
||||||
|
#define MICROPY_HW_SPI2_MOSI (pin_B15)
|
||||||
|
|
||||||
|
#define MICROPY_HW_SPI4_NSS (pin_E11)
|
||||||
|
#define MICROPY_HW_SPI4_SCK (pin_E12)
|
||||||
|
#define MICROPY_HW_SPI4_MOSI (pin_E14)
|
||||||
|
#define MICROPY_HW_SPI4_MISO (pin_E13)
|
||||||
|
// https://community.st.com/t5/embedded-software-mcus/issue-with-bootloader-on-stm32h743-using-boot0-and-inline/td-p/73183
|
||||||
|
|
||||||
|
// CAN buses
|
||||||
|
#define MICROPY_HW_CAN1_TX (pin_B9)
|
||||||
|
#define MICROPY_HW_CAN1_RX (pin_B8)
|
||||||
|
|
||||||
|
// USRSW
|
||||||
|
#define MICROPY_HW_USRSW_PIN (pin_C13) // K1 on the board.
|
||||||
|
#define MICROPY_HW_USRSW_PULL (GPIO_NOPULL)
|
||||||
|
#define MICROPY_HW_USRSW_EXTI_MODE (GPIO_MODE_IT_FALLING)
|
||||||
|
#define MICROPY_HW_USRSW_PRESSED (0)
|
||||||
|
|
||||||
|
// LEDs
|
||||||
|
#define MICROPY_HW_LED1 (pin_E3) // the only controllable LED on the board.
|
||||||
|
#define MICROPY_HW_LED_ON(pin) (mp_hal_pin_low(pin))
|
||||||
|
#define MICROPY_HW_LED_OFF(pin) (mp_hal_pin_high(pin))
|
||||||
|
|
||||||
|
// SD Card SDMMC
|
||||||
|
#define MICROPY_HW_SDCARD_SDMMC (1)
|
||||||
|
#define MICROPY_HW_SDCARD_CK (pin_C12)
|
||||||
|
#define MICROPY_HW_SDCARD_CMD (pin_D2)
|
||||||
|
#define MICROPY_HW_SDCARD_D0 (pin_C8)
|
||||||
|
#define MICROPY_HW_SDCARD_D1 (pin_C9)
|
||||||
|
#define MICROPY_HW_SDCARD_D2 (pin_C10)
|
||||||
|
#define MICROPY_HW_SDCARD_D3 (pin_C11)
|
||||||
|
|
||||||
|
// USB config
|
||||||
|
#define MICROPY_HW_USB_FS (1)
|
|
@ -0,0 +1,14 @@
|
||||||
|
# MCU settings
|
||||||
|
MCU_SERIES = h7
|
||||||
|
CMSIS_MCU = STM32H743xx
|
||||||
|
MICROPY_FLOAT_IMPL = double
|
||||||
|
AF_FILE = boards/stm32h743_af.csv
|
||||||
|
LD_FILES = boards/WEACT_STM32H743/weact_stm32h743.ld boards/common_basic.ld
|
||||||
|
TEXT0_ADDR = 0x08000000
|
||||||
|
|
||||||
|
# MicroPython settings
|
||||||
|
MICROPY_PY_SSL = 1
|
||||||
|
MICROPY_SSL_MBEDTLS = 1
|
||||||
|
MICROPY_PY_LWIP = 1
|
||||||
|
MICROPY_PY_USSL = 1
|
||||||
|
MICROPY_VFS_LFS2 = 1
|
|
@ -0,0 +1,115 @@
|
||||||
|
PA0,PA0
|
||||||
|
PA1,PA1
|
||||||
|
PA2,PA2
|
||||||
|
PA3,PA3
|
||||||
|
PA4,PA4
|
||||||
|
PA5,PA5
|
||||||
|
PA6,PA6
|
||||||
|
PA7,PA7
|
||||||
|
PA8,PA8
|
||||||
|
PA9,PA9
|
||||||
|
PA10,PA10
|
||||||
|
PA11,PA11
|
||||||
|
PA12,PA12
|
||||||
|
PA13,PA13
|
||||||
|
PA14,PA14
|
||||||
|
PA15,PA15
|
||||||
|
PB0,PB0
|
||||||
|
PB1,PB1
|
||||||
|
PB2,PB2
|
||||||
|
PB3,PB3
|
||||||
|
PB4,PB4
|
||||||
|
PB5,PB5
|
||||||
|
PB6,PB6
|
||||||
|
PB7,PB7
|
||||||
|
PB8,PB8
|
||||||
|
PB9,PB9
|
||||||
|
PB10,PB10
|
||||||
|
PB11,PB11
|
||||||
|
PB12,PB12
|
||||||
|
PB13,PB13
|
||||||
|
PB14,PB14
|
||||||
|
PB15,PB15
|
||||||
|
PC0,PC0
|
||||||
|
PC1,PC1
|
||||||
|
PC2,PC2
|
||||||
|
PC3,PC3
|
||||||
|
PC4,PC4
|
||||||
|
PC5,PC5
|
||||||
|
PC6,PC6
|
||||||
|
PC7,PC7
|
||||||
|
PC8,PC8
|
||||||
|
PC9,PC9
|
||||||
|
PC10,PC10
|
||||||
|
PC11,PC11
|
||||||
|
PC12,PC12
|
||||||
|
PC13,PC13
|
||||||
|
PC14,PC14
|
||||||
|
PC15,PC15
|
||||||
|
PD0,PD0
|
||||||
|
PD1,PD1
|
||||||
|
PD2,PD2
|
||||||
|
PD3,PD3
|
||||||
|
PD4,PD4
|
||||||
|
PD5,PD5
|
||||||
|
PD6,PD6
|
||||||
|
PD7,PD7
|
||||||
|
PD8,PD8
|
||||||
|
PD9,PD9
|
||||||
|
PD10,PD10
|
||||||
|
PD11,PD11
|
||||||
|
PD12,PD12
|
||||||
|
PD13,PD13
|
||||||
|
PD14,PD14
|
||||||
|
PD15,PD15
|
||||||
|
PE0,PE0
|
||||||
|
PE1,PE1
|
||||||
|
PE2,PE2
|
||||||
|
PE3,PE3
|
||||||
|
PE4,PE4
|
||||||
|
PE5,PE5
|
||||||
|
PE6,PE6
|
||||||
|
PE7,PE7
|
||||||
|
PE8,PE8
|
||||||
|
PE9,PE9
|
||||||
|
PE10,PE10
|
||||||
|
PE11,PE11
|
||||||
|
PE12,PE12
|
||||||
|
PE13,PE13
|
||||||
|
PE14,PE14
|
||||||
|
PE15,PE15
|
||||||
|
LED_BLUE,PE3
|
||||||
|
KEY_1,PC13
|
||||||
|
QSPI_CS,PB6
|
||||||
|
QSPI_CLK,PB2
|
||||||
|
QSPI_D0,PD11
|
||||||
|
QSPI_D1,PD12
|
||||||
|
QSPI_D2,PE2
|
||||||
|
QSPI_D3,PD13
|
||||||
|
USB_DM,PA11
|
||||||
|
USB_DP,PA12
|
||||||
|
DCMI_SDA,PB11
|
||||||
|
DCMI_SCL,PB10
|
||||||
|
DCMI_RESET,PC4
|
||||||
|
DCMI_CH1,PA4
|
||||||
|
DCMI_PWDN,PA7
|
||||||
|
DCMI_HREF,PA4
|
||||||
|
DCMI_VSYNC,PB7
|
||||||
|
DCMI_D0,PC6
|
||||||
|
DCMI_D1,PC7
|
||||||
|
DCMI_D2,PE0
|
||||||
|
DCMI_D3,PE1
|
||||||
|
DCMI_D4,PE4
|
||||||
|
DCMI_D5,PD3
|
||||||
|
DCMI_D6,PE5
|
||||||
|
DCMI_D7,PE6
|
||||||
|
DCMI_PCLK,PA6
|
||||||
|
DCMI_XCLK,PA8
|
||||||
|
OSC32_IN,PC14
|
||||||
|
OSC32_OUT,PC15
|
||||||
|
SDIO_CK,PC12
|
||||||
|
SDIO_CMD,PD2
|
||||||
|
SDIO_D0,PC8
|
||||||
|
SDIO_D1,PC9
|
||||||
|
SDIO_D2,PC10
|
||||||
|
SDIO_D3,PC11
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
/* This file is part of the MicroPython project, http://micropython.org/
|
||||||
|
* The MIT License (MIT)
|
||||||
|
* Copyright (c) 2019 Damien P. George
|
||||||
|
*/
|
||||||
|
#ifndef MICROPY_INCLUDED_STM32H7XX_HAL_CONF_H
|
||||||
|
#define MICROPY_INCLUDED_STM32H7XX_HAL_CONF_H
|
||||||
|
|
||||||
|
#include "boards/stm32h7xx_hal_conf_base.h"
|
||||||
|
|
||||||
|
// Oscillator values in Hz
|
||||||
|
#define HSE_VALUE (25000000)
|
||||||
|
#define LSE_VALUE (32768)
|
||||||
|
#define EXTERNAL_CLOCK_VALUE (12288000)
|
||||||
|
|
||||||
|
// Oscillator timeouts in ms
|
||||||
|
#define HSE_STARTUP_TIMEOUT (5000)
|
||||||
|
#define LSE_STARTUP_TIMEOUT (5000)
|
||||||
|
|
||||||
|
#endif // MICROPY_INCLUDED_STM32H7XX_HAL_CONF_H
|
|
@ -0,0 +1,47 @@
|
||||||
|
/*
|
||||||
|
GNU linker script for WeAct Studio STM32H743
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Specify the memory areas */
|
||||||
|
MEMORY
|
||||||
|
{
|
||||||
|
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1536K /* sectors (0-7) + (0-3) */
|
||||||
|
FLASH_APP (rx) : ORIGIN = 0x08020000, LENGTH = 1408K /* sectors (1-7) + (0-3) */
|
||||||
|
FLASH_FS (r) : ORIGIN = 0x08180000, LENGTH = 512K /* sectors (4-7) */
|
||||||
|
FLASH_EXT (rx) : ORIGIN = 0x90000000, LENGTH = 8192K /* external QSPI */
|
||||||
|
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;
|
||||||
|
|
||||||
|
/* Location of filesystem RAM cache */
|
||||||
|
_micropy_hw_internal_flash_storage_ram_cache_start = ORIGIN(DTCM);
|
||||||
|
_micropy_hw_internal_flash_storage_ram_cache_end = ORIGIN(DTCM) + LENGTH(DTCM);
|
||||||
|
|
||||||
|
/* Location of filesystem flash storage */
|
||||||
|
_micropy_hw_internal_flash_storage_start = ORIGIN(FLASH_FS);
|
||||||
|
_micropy_hw_internal_flash_storage_end = ORIGIN(FLASH_FS) + LENGTH(FLASH_FS);
|
||||||
|
|
||||||
|
/* Define output sections */
|
||||||
|
SECTIONS
|
||||||
|
{
|
||||||
|
.eth_buffers (NOLOAD) : {
|
||||||
|
. = ABSOLUTE(0x30040000);
|
||||||
|
*eth.o*(.bss.eth_dma)
|
||||||
|
} >RAM_D2
|
||||||
|
}
|
Ładowanie…
Reference in New Issue