summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRbb666 <[email protected]>2021-09-10 10:22:59 +0800
committerRbb666 <[email protected]>2021-09-10 10:23:22 +0800
commitefbac1c2833490486d6176b4a4284c08c6f361a4 (patch)
treed25f254f22d72afda500179f180af991a0e9ee4f
parent7fa1c819ee852937705d948a58f0218c422ea6b1 (diff)
已完成ART-PI在rtthread主分支的bsp模板,同时已经验证通过RTC外设。
-rw-r--r--bsp/stm32/stm32h750-artpi-h750/applications/main.c9
-rw-r--r--bsp/stm32/stm32h750-artpi-h750/board/Kconfig274
-rw-r--r--bsp/stm32/stm32h750-artpi-h750/board/board.c140
-rw-r--r--bsp/stm32/stm32h750-artpi-h750/board/board.h80
-rw-r--r--bsp/stm32/stm32h750-artpi-h750/board/linker_scripts/link.sct10
5 files changed, 440 insertions, 73 deletions
diff --git a/bsp/stm32/stm32h750-artpi-h750/applications/main.c b/bsp/stm32/stm32h750-artpi-h750/applications/main.c
index d4b0bb98a6..2b79bfaa38 100644
--- a/bsp/stm32/stm32h750-artpi-h750/applications/main.c
+++ b/bsp/stm32/stm32h750-artpi-h750/applications/main.c
@@ -28,3 +28,12 @@ int main(void)
rt_thread_mdelay(500);
}
}
+
+#include "stm32h7xx.h"
+static int vtor_config(void)
+{
+ /* Vector Table Relocation in Internal QSPI_FLASH */
+ SCB->VTOR = QSPI_BASE;
+ return 0;
+}
+INIT_BOARD_EXPORT(vtor_config);
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/Kconfig b/bsp/stm32/stm32h750-artpi-h750/board/Kconfig
index 2d07f8c8e3..e496d3f2db 100644
--- a/bsp/stm32/stm32h750-artpi-h750/board/Kconfig
+++ b/bsp/stm32/stm32h750-artpi-h750/board/Kconfig
@@ -9,12 +9,72 @@ config SOC_STM32H750XB
menu "Onboard Peripheral Drivers"
+ config BSP_USING_USB_TO_USART
+ bool "Enable Debuger USART (uart4)"
+ select BSP_USING_UART
+ select BSP_USING_UART4
+ default n
+
+ config BSP_USING_SPI_FLASH
+ bool "Enable SPI FLASH (spi1)"
+ select BSP_USING_SPI
+ select BSP_USING_SPI1
+ select PKG_USING_FAL
+ select FAL_USING_SFUD_PORT
+ select RT_USING_SFUD
+ default n
+
config BSP_USING_QSPI_FLASH
- bool "Enable QSPI FLASH (W25Q64)"
+ bool "Enable QSPI FLASH (w25q64 qspi)"
select BSP_USING_QSPI
+ select FAL_USING_SFUD_PORT
select RT_USING_SFUD
select RT_SFUD_USING_QSPI
default n
+
+ config BSP_USING_WIFI
+ bool "Enable wifi (AP6212)"
+ select ART_PI_USING_WIFI_6212_LIB
+ select ART_PI_USING_OTA_LIB
+ select BSP_USING_SPI_FLASH
+ select RT_USING_WIFI
+ select RT_USING_SAL
+ default n
+
+ config BSP_USING_OV2640
+ bool "Enable camera (ov2640)"
+ select BSP_USING_DCMI
+ select BSP_USING_I2C
+ select BSP_USING_I2C2
+ default n
+
+ config BSP_USING_GC0328C
+ bool "Enable camera (gc0328)"
+ select BSP_USING_DCMI
+ select BSP_USING_I2C
+ select BSP_USING_I2C2
+ default n
+
+ menuconfig BSP_USING_FS
+ bool "Enable filesystem"
+ select RT_USING_DFS
+ select RT_USING_DFS_ROMFS
+ default n
+ if BSP_USING_FS
+ config BSP_USING_SDCARD_FS
+ bool "Enable SDCARD filesystem"
+ select BSP_USING_SDIO
+ select BSP_USING_SDIO1
+ select RT_USING_DFS_ELMFAT
+ default n
+ config BSP_USING_SPI_FLASH_FS
+ bool "Enable SPI FLASH filesystem"
+ select BSP_USING_SPI_FLASH
+ select RT_USING_MTD_NOR
+ select PKG_USING_LITTLEFS
+ default n
+ endif
+
endmenu
menu "On-chip Peripheral Drivers"
@@ -26,26 +86,224 @@ menu "On-chip Peripheral Drivers"
menuconfig BSP_USING_UART
bool "Enable UART"
- default y
+ default n
select RT_USING_SERIAL
+ select RT_SERIAL_USING_DMA
if BSP_USING_UART
+ config BSP_USING_UART1
+ bool "Enable UART1"
+ default n
+
+ config BSP_UART1_RX_USING_DMA
+ bool "Enable UART1 RX DMA"
+ depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_UART1_TX_USING_DMA
+ bool "Enable UART1 TX DMA"
+ depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
+ default n
+
config BSP_USING_UART3
bool "Enable UART3"
- default y
-
+ default n
+
config BSP_USING_UART4
bool "Enable UART4"
- default y
+ default n
+
+ config BSP_USING_UART6
+ bool "Enable UART6"
+ default n
endif
+ menuconfig BSP_USING_SPI
+ bool "Enable SPI"
+ default n
+ select RT_USING_SPI
+ if BSP_USING_SPI
+ config BSP_USING_SPI1
+ bool "Enable SPI1"
+ default n
+ config BSP_USING_SPI2
+ bool "Enable SPI2"
+ default n
+ config BSP_USING_SPI4
+ bool "Enable SPI4"
+ default n
+ endif
+
+ config BSP_USING_QSPI
+ bool "Enable QSPI BUS"
+ select RT_USING_QSPI
+ select RT_USING_SPI
+ default n
-
- config BSP_USING_SDIO
+ menuconfig BSP_USING_I2C
+ bool "Enable I2C BUS (software simulation)"
+ select RT_USING_I2C
+ select RT_USING_I2C_BITOPS
+ select RT_USING_PIN
+ default n
+ if BSP_USING_I2C
+ menuconfig BSP_USING_I2C1
+ bool "Enable I2C1 BUS (software simulation)"
+ default n
+ select RT_USING_I2C
+ select RT_USING_I2C_BITOPS
+ select RT_USING_PIN
+ if BSP_USING_I2C1
+ comment "Notice: PB6 --> 22; PB7 --> 23"
+ config BSP_I2C1_SCL_PIN
+ int "I2C1 scl pin number"
+ range 0 175
+ default 22
+ config BSP_I2C1_SDA_PIN
+ int "I2C1 sda pin number"
+ range 0 175
+ default 23
+ endif
+ menuconfig BSP_USING_I2C2
+ bool "Enable I2C2 BUS (software simulation)"
+ default n
+ if BSP_USING_I2C2
+ comment "Notice: PH13 --> 125; PH15 --> 127"
+ config BSP_I2C2_SCL_PIN
+ int "i2c2 scl pin number"
+ range 1 176
+ default 127
+ config BSP_I2C2_SDA_PIN
+ int "I2C2 sda pin number"
+ range 0 175
+ default 125
+ endif
+ menuconfig BSP_USING_I2C3
+ bool "Enable I2C3 BUS (software simulation)"
+ default n
+ if BSP_USING_I2C3
+ comment "Notice: PH12 --> 124; PH11 --> 123"
+ config BSP_I2C3_SCL_PIN
+ int "i2c3 scl pin number"
+ range 0 175
+ default 123
+ config BSP_I2C3_SDA_PIN
+ int "I2C3 sda pin number"
+ range 0 175
+ default 124
+ endif
+ endif
+
+ menuconfig BSP_USING_SDIO
bool "Enable SDIO"
+ default n
select RT_USING_SDIO
- select RT_USING_DFS
+ if BSP_USING_SDIO
+ config BSP_USING_SDIO1
+ bool "Enable SDIO1"
+ default n
+ config BSP_USING_SDIO2
+ bool "Enable SDIO2"
+ default n
+ endif
+
+ config BSP_USING_SDRAM
+ bool "Enable SDRAM"
+ default n
+
+ menuconfig BSP_USING_ETH
+ bool "Enable Ethernet"
+ default n
+ select RT_USING_LWIP
+ if BSP_USING_ETH
+ config ETH_RESET_PIN
+ string "ETH RESET PIN"
+ default "PA.3"
+ endif
+ if BSP_USING_ETH
+ choice
+ prompt "Choose ETH PHY"
+ default PHY_USING_LAN8720A
+ config PHY_USING_LAN8720A
+ bool "USING LAN8720A"
+ default n
+ endchoice
+ endif
+
+ config BSP_USING_LCD
+ bool "Enable LCD"
+ select BSP_USING_GPIO
+ select BSP_USING_SDRAM
+ select RT_USING_MEMHEAP
+ default n
+
+ config BSP_USING_DCMI
+ bool "Enable DCMI"
+ default n
+
+ menuconfig BSP_USING_FDCAN
+ bool "Enable FDCAN"
+ default n
+ select RT_USING_CAN
+ if BSP_USING_FDCAN
+ config BSP_USING_FDCAN1
+ bool "USING FDCAN1"
+ default n
+ endif
+
+ config BSP_USING_USBD
+ bool "Enable USB Device"
+ select RT_USING_USB_DEVICE
+ default n
+
+ menuconfig BSP_USING_USBH
+ bool "Enable USB Host"
+ select RT_USING_USB_HOST
+ default n
+ if BSP_USING_USBH
+ menuconfig RT_USBH_MSTORAGE
+ bool "Enable Udisk Drivers"
+ select RT_USING_DFS
+ select RT_USING_DFS_ELMFAT
+ default n
+ if RT_USBH_MSTORAGE
+ config UDISK_MOUNTPOINT
+ string "Udisk mount dir"
+ default "/"
+ endif
+ endif
+
+ menuconfig BSP_USING_TIM
+ bool "Enable timer"
+ default n
+ select RT_USING_HWTIMER
+ if BSP_USING_TIM
+ config BSP_USING_TIM13
+ bool "Enable TIM13"
+ default n
+ endif
+
+ menuconfig BSP_USING_PWM
+ bool "Enable PWM"
default n
+ select RT_USING_PWM
+ if BSP_USING_PWM
+ menuconfig BSP_USING_PWM5
+ bool "Enable Timer5 output pwm"
+ default n
+ if BSP_USING_PWM5
+ config BSP_USING_PWM5_CH1
+ bool "Enable PWM5 channel1"
+ default n
+ endif
+ config SAMPLES_USING_PWM
+ bool "SAMPLE PWM5 channel1"
+ default n
+ endif
+ config BSP_USING_ONCHIP_RTC
+ bool "Enable Onchip RTC"
+ select RT_USING_RTC
+ default n
source "../libraries/HAL_Drivers/Kconfig"
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/board.c b/bsp/stm32/stm32h750-artpi-h750/board/board.c
index b00158da68..0d8653aa26 100644
--- a/bsp/stm32/stm32h750-artpi-h750/board/board.c
+++ b/bsp/stm32/stm32h750-artpi-h750/board/board.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -16,59 +16,95 @@
*/
void SystemClock_Config(void)
{
- RCC_OscInitTypeDef RCC_OscInitStruct = {0};
- RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+ RCC_OscInitTypeDef RCC_OscInitStruct = {0};
+ RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
- /** Supply configuration update enable
- */
- HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY);
- /** Configure the main internal regulator output voltage
- */
- __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE0);
+ /** Supply configuration update enable
+ */
+ HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY);
+ /** Configure the main internal regulator output voltage
+ */
+ __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE0);
- while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {}
- /** Initializes the RCC Oscillators according to the specified parameters
- * in the RCC_OscInitTypeDef structure.
- */
- RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
- RCC_OscInitStruct.HSEState = RCC_HSE_ON;
- RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
- RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
- RCC_OscInitStruct.PLL.PLLM = 5;
- RCC_OscInitStruct.PLL.PLLN = 192;
- RCC_OscInitStruct.PLL.PLLP = 2;
- RCC_OscInitStruct.PLL.PLLQ = 2;
- RCC_OscInitStruct.PLL.PLLR = 2;
- RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_2;
- RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE;
- RCC_OscInitStruct.PLL.PLLFRACN = 0;
- if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
- {
- Error_Handler();
- }
- /** Initializes the CPU, AHB and APB buses clocks
- */
- RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
- |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2
- |RCC_CLOCKTYPE_D3PCLK1|RCC_CLOCKTYPE_D1PCLK1;
- RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
- RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1;
- RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV2;
- RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV2;
- RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV2;
- RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV2;
- RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV2;
+ while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {}
+
+ /** Initializes the RCC Oscillators according to the specified parameters
+ * in the RCC_OscInitTypeDef structure.
+ */
+ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
+ RCC_OscInitStruct.HSEState = RCC_HSE_ON;
+ RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
+ RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
+ RCC_OscInitStruct.PLL.PLLM = 5;
+ RCC_OscInitStruct.PLL.PLLN = 192;
+ RCC_OscInitStruct.PLL.PLLP = 2;
+ RCC_OscInitStruct.PLL.PLLQ = 2;
+ RCC_OscInitStruct.PLL.PLLR = 2;
+ RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_2;
+ RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE;
+ RCC_OscInitStruct.PLL.PLLFRACN = 0;
+
+ if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ /** Initializes the CPU, AHB and APB buses clocks
+ */
+ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
+ | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2
+ | RCC_CLOCKTYPE_D3PCLK1 | RCC_CLOCKTYPE_D1PCLK1;
+ RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
+ RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1;
+ RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV2;
+ RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV2;
+ RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV2;
+ RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV2;
+ RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV2;
+
+ if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_4) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_LTDC | RCC_PERIPHCLK_USART3
+ | RCC_PERIPHCLK_UART4 | RCC_PERIPHCLK_SPI4
+ | RCC_PERIPHCLK_SPI1 | RCC_PERIPHCLK_SDMMC
+ | RCC_PERIPHCLK_ADC | RCC_PERIPHCLK_USB
+ | RCC_PERIPHCLK_LPTIM1 | RCC_PERIPHCLK_FMC;
+ PeriphClkInitStruct.PLL2.PLL2M = 2;
+ PeriphClkInitStruct.PLL2.PLL2N = 64;
+ PeriphClkInitStruct.PLL2.PLL2P = 2;
+ PeriphClkInitStruct.PLL2.PLL2Q = 2;
+ PeriphClkInitStruct.PLL2.PLL2R = 4;
+ PeriphClkInitStruct.PLL2.PLL2RGE = RCC_PLL2VCIRANGE_3;
+ PeriphClkInitStruct.PLL2.PLL2VCOSEL = RCC_PLL2VCOWIDE;
+ PeriphClkInitStruct.PLL2.PLL2FRACN = 0;
+ PeriphClkInitStruct.PLL3.PLL3M = 5;
+ PeriphClkInitStruct.PLL3.PLL3N = 160;
+ PeriphClkInitStruct.PLL3.PLL3P = 8;
+ PeriphClkInitStruct.PLL3.PLL3Q = 8;
+ PeriphClkInitStruct.PLL3.PLL3R = 24;
+ PeriphClkInitStruct.PLL3.PLL3RGE = RCC_PLL3VCIRANGE_2;
+ PeriphClkInitStruct.PLL3.PLL3VCOSEL = RCC_PLL3VCOWIDE;
+ PeriphClkInitStruct.PLL3.PLL3FRACN = 0;
+ PeriphClkInitStruct.FmcClockSelection = RCC_FMCCLKSOURCE_PLL2;
+ PeriphClkInitStruct.SdmmcClockSelection = RCC_SDMMCCLKSOURCE_PLL2;
+ PeriphClkInitStruct.Spi123ClockSelection = RCC_SPI123CLKSOURCE_PLL2;
+ PeriphClkInitStruct.Spi45ClockSelection = RCC_SPI45CLKSOURCE_PLL3;
+ PeriphClkInitStruct.Usart234578ClockSelection = RCC_USART234578CLKSOURCE_D2PCLK1;
+ PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_HSI48;
+ PeriphClkInitStruct.Lptim1ClockSelection = RCC_LPTIM1CLKSOURCE_LSI;
+ PeriphClkInitStruct.AdcClockSelection = RCC_ADCCLKSOURCE_PLL2;
+
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
- if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_4) != HAL_OK)
- {
- Error_Handler();
- }
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART3|RCC_PERIPHCLK_UART4;
- PeriphClkInitStruct.Usart234578ClockSelection = RCC_USART234578CLKSOURCE_D2PCLK1;
- if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
- {
- Error_Handler();
- }
+ /** Enable USB Voltage detector
+ */
+ HAL_PWREx_EnableUSBVoltageDetector();
}
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/board.h b/bsp/stm32/stm32h750-artpi-h750/board/board.h
index 5c00854d41..87296c9fb7 100644
--- a/bsp/stm32/stm32h750-artpi-h750/board/board.h
+++ b/bsp/stm32/stm32h750-artpi-h750/board/board.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -20,12 +20,78 @@
extern "C" {
#endif
-#define STM32_FLASH_START_ADRESS ((uint32_t)0x08000000)
-#define STM32_FLASH_SIZE (128 * 1024)
-#define STM32_FLASH_END_ADDRESS ((uint32_t)(STM32_FLASH_START_ADRESS + STM32_FLASH_SIZE))
+/*-------------------------- CHIP CONFIG BEGIN --------------------------*/
-#define STM32_SRAM_SIZE (128)
-#define STM32_SRAM_END (0x20000000 + STM32_SRAM_SIZE * 1024)
+#define CHIP_FAMILY_STM32
+#define CHIP_SERIES_STM32H7
+#define CHIP_NAME_STM32H750XBHX
+
+/*-------------------------- CHIP CONFIG END --------------------------*/
+
+/*-------------------------- ROM/RAM CONFIG BEGIN --------------------------*/
+ #define ROM_START ((uint32_t)0x90000000)
+ #define ROM_SIZE (16384)
+ #define ROM_END ((uint32_t)(ROM_START + ROM_SIZE * 1024))
+
+#define RAM_START (0x24000000)
+#define RAM_SIZE (512)
+#define RAM_END (RAM_START + RAM_SIZE * 1024)
+
+/*-------------------------- ROM/RAM CONFIG END --------------------------*/
+
+/*-------------------------- CLOCK CONFIG BEGIN --------------------------*/
+
+#define BSP_CLOCK_SOURCE ("HSE")
+#define BSP_CLOCK_SOURCE_FREQ_MHZ ((int32_t)0)
+#define BSP_CLOCK_SYSTEM_FREQ_MHZ ((int32_t)480)
+
+/*-------------------------- CLOCK CONFIG END --------------------------*/
+
+/*-------------------------- UART CONFIG BEGIN --------------------------*/
+
+/** After configuring corresponding UART or UART DMA, you can use it.
+ *
+ * STEP 1, define macro define related to the serial port opening based on the serial port number
+ * such as #define BSP_USING_UATR1
+ *
+ * STEP 2, according to the corresponding pin of serial port, define the related serial port information macro
+ * such as #define BSP_UART1_TX_PIN "PA9"
+ * #define BSP_UART1_RX_PIN "PA10"
+ *
+ * STEP 3, if you want using SERIAL DMA, you must open it in the RT-Thread Settings.
+ * RT-Thread Setting -> Components -> Device Drivers -> Serial Device Drivers -> Enable Serial DMA Mode
+ *
+ * STEP 4, according to serial port number to define serial port tx/rx DMA function in the board.h file
+ * such as #define BSP_UART1_RX_USING_DMA
+ *
+ */
+
+#ifdef BSP_USING_UART1
+#define BSP_UART1_TX_PIN "PA9"
+#define BSP_UART1_RX_PIN "PA10"
+#endif
+
+#ifdef BSP_USING_UART4
+#define BSP_UART4_TX_PIN "PA0"
+#define BSP_UART4_RX_PIN "PI9"
+#endif
+
+#ifdef BSP_USING_UART6
+#define BSP_UART6_TX_PIN "PC6"
+#define BSP_UART6_RX_PIN "PC7"
+#endif
+
+#define STM32_FLASH_START_ADRESS ROM_START
+#define STM32_FLASH_SIZE ROM_SIZE
+#define STM32_FLASH_END_ADDRESS ROM_END
+
+#define RAM_START (0x24000000)
+#define RAM_SIZE (512)
+#define RAM_END (RAM_START + RAM_SIZE * 1024)
+
+#define STM32_SRAM1_SIZE RAM_SIZE
+#define STM32_SRAM1_START RAM_START
+#define STM32_SRAM1_END RAM_END
#if defined(__CC_ARM) || defined(__CLANG_ARM)
extern int Image$$RW_IRAM1$$ZI$$Limit;
@@ -38,7 +104,7 @@ extern int __bss_end;
#define HEAP_BEGIN (&__bss_end)
#endif
-#define HEAP_END STM32_SRAM_END
+#define HEAP_END STM32_SRAM1_END
void SystemClock_Config(void);
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/linker_scripts/link.sct b/bsp/stm32/stm32h750-artpi-h750/board/linker_scripts/link.sct
index f13040124c..51eefb972d 100644
--- a/bsp/stm32/stm32h750-artpi-h750/board/linker_scripts/link.sct
+++ b/bsp/stm32/stm32h750-artpi-h750/board/linker_scripts/link.sct
@@ -2,18 +2,16 @@
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
-LR_IROM1 0x08000000 0x00020000 { ; load region size_region
- ER_IROM1 0x08000000 0x00020000 { ; load address = execution address
+LR_IROM1 0x90000000 0x00800000 { ; load region size_region
+ ER_IROM1 0x90000000 0x00800000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+XO)
}
- RW_IRAM1 0x20000000 0x00020000 { ; RW data
- .ANY (+RW +ZI)
- }
- RW_IRAM2 0x24000000 0x00080000 {
+ RW_IRAM1 0x24000000 0x00080000 { ; AXI SRAM 512K
.ANY (+RW +ZI)
}
}
+