Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
rt-thread
提交
0a4abb8f
R
rt-thread
项目概览
BaiXuePrincess
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
0a4abb8f
编写于
12月 03, 2018
作者:
S
SummerGift
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[bsp][STM32] update linker_scripts for stm32 bsp
上级
633876a6
变更
18
隐藏空白更改
内联
并排
Showing
18 changed file
with
95 addition
and
58 deletion
+95
-58
bsp/stm32/stm32f407-atk-explorer/.config
bsp/stm32/stm32f407-atk-explorer/.config
+20
-8
bsp/stm32/stm32f407-atk-explorer/README.md
bsp/stm32/stm32f407-atk-explorer/README.md
+1
-1
bsp/stm32/stm32f407-atk-explorer/board/board.h
bsp/stm32/stm32f407-atk-explorer/board/board.h
+14
-5
bsp/stm32/stm32f407-atk-explorer/board/linker_scripts/stm32f4xx.icf
...stm32f407-atk-explorer/board/linker_scripts/stm32f4xx.icf
+1
-3
bsp/stm32/stm32f407-atk-explorer/board/linker_scripts/stm32f4xx.ld
.../stm32f407-atk-explorer/board/linker_scripts/stm32f4xx.ld
+3
-3
bsp/stm32/stm32f407-atk-explorer/board/linker_scripts/stm32f4xx.sct
...stm32f407-atk-explorer/board/linker_scripts/stm32f4xx.sct
+1
-1
bsp/stm32/stm32f407-atk-explorer/project.ewd
bsp/stm32/stm32f407-atk-explorer/project.ewd
+7
-7
bsp/stm32/stm32f407-atk-explorer/rtconfig.h
bsp/stm32/stm32f407-atk-explorer/rtconfig.h
+8
-3
bsp/stm32/stm32f429-atk-apollo/README.md
bsp/stm32/stm32f429-atk-apollo/README.md
+1
-1
bsp/stm32/stm32f429-atk-apollo/board/board.h
bsp/stm32/stm32f429-atk-apollo/board/board.h
+14
-5
bsp/stm32/stm32f429-atk-apollo/board/linker_scripts/stm32f4xx.icf
...2/stm32f429-atk-apollo/board/linker_scripts/stm32f4xx.icf
+1
-3
bsp/stm32/stm32f429-atk-apollo/board/linker_scripts/stm32f4xx.ld
...32/stm32f429-atk-apollo/board/linker_scripts/stm32f4xx.ld
+3
-3
bsp/stm32/stm32f429-atk-apollo/board/linker_scripts/stm32f4xx.sct
...2/stm32f429-atk-apollo/board/linker_scripts/stm32f4xx.sct
+1
-1
bsp/stm32/stm32f429-fire-challenger/README.md
bsp/stm32/stm32f429-fire-challenger/README.md
+1
-2
bsp/stm32/stm32f429-fire-challenger/board/board.h
bsp/stm32/stm32f429-fire-challenger/board/board.h
+14
-5
bsp/stm32/stm32f429-fire-challenger/board/linker_scripts/stm32f4xx.icf
...32f429-fire-challenger/board/linker_scripts/stm32f4xx.icf
+1
-3
bsp/stm32/stm32f429-fire-challenger/board/linker_scripts/stm32f4xx.ld
...m32f429-fire-challenger/board/linker_scripts/stm32f4xx.ld
+3
-3
bsp/stm32/stm32f429-fire-challenger/board/linker_scripts/stm32f4xx.sct
...32f429-fire-challenger/board/linker_scripts/stm32f4xx.sct
+1
-1
未找到文件。
bsp/stm32/stm32f407-atk-explorer/.config
浏览文件 @
0a4abb8f
...
@@ -7,6 +7,7 @@
...
@@ -7,6 +7,7 @@
# RT-Thread Kernel
# RT-Thread Kernel
#
#
CONFIG_RT_NAME_MAX
=
8
CONFIG_RT_NAME_MAX
=
8
# CONFIG_RT_USING_SMP is not set
CONFIG_RT_ALIGN_SIZE
=
4
CONFIG_RT_ALIGN_SIZE
=
4
# CONFIG_RT_THREAD_PRIORITY_8 is not set
# CONFIG_RT_THREAD_PRIORITY_8 is not set
CONFIG_RT_THREAD_PRIORITY_32
=
y
CONFIG_RT_THREAD_PRIORITY_32
=
y
...
@@ -15,6 +16,7 @@ CONFIG_RT_THREAD_PRIORITY_MAX=32
...
@@ -15,6 +16,7 @@ CONFIG_RT_THREAD_PRIORITY_MAX=32
CONFIG_RT_TICK_PER_SECOND
=
1000
CONFIG_RT_TICK_PER_SECOND
=
1000
CONFIG_RT_USING_OVERFLOW_CHECK
=
y
CONFIG_RT_USING_OVERFLOW_CHECK
=
y
CONFIG_RT_USING_HOOK
=
y
CONFIG_RT_USING_HOOK
=
y
CONFIG_RT_USING_IDLE_HOOK
=
y
CONFIG_RT_IDEL_HOOK_LIST_SIZE
=
4
CONFIG_RT_IDEL_HOOK_LIST_SIZE
=
4
CONFIG_IDLE_THREAD_STACK_SIZE
=
1024
CONFIG_IDLE_THREAD_STACK_SIZE
=
1024
# CONFIG_RT_USING_TIMER_SOFT is not set
# CONFIG_RT_USING_TIMER_SOFT is not set
...
@@ -63,6 +65,7 @@ CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
...
@@ -63,6 +65,7 @@ CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
CONFIG_ARCH_ARM
=
y
CONFIG_ARCH_ARM
=
y
CONFIG_ARCH_ARM_CORTEX_M
=
y
CONFIG_ARCH_ARM_CORTEX_M
=
y
CONFIG_ARCH_ARM_CORTEX_M4
=
y
CONFIG_ARCH_ARM_CORTEX_M4
=
y
# CONFIG_ARCH_CPU_STACK_GROWS_UPWARD is not set
#
#
# RT-Thread Components
# RT-Thread Components
...
@@ -112,10 +115,12 @@ CONFIG_RT_USING_SERIAL=y
...
@@ -112,10 +115,12 @@ CONFIG_RT_USING_SERIAL=y
# CONFIG_RT_USING_CPUTIME is not set
# CONFIG_RT_USING_CPUTIME is not set
# CONFIG_RT_USING_I2C is not set
# CONFIG_RT_USING_I2C is not set
CONFIG_RT_USING_PIN
=
y
CONFIG_RT_USING_PIN
=
y
# CONFIG_RT_USING_ADC is not set
# CONFIG_RT_USING_PWM is not set
# CONFIG_RT_USING_PWM is not set
# CONFIG_RT_USING_MTD_NOR is not set
# CONFIG_RT_USING_MTD_NOR is not set
# CONFIG_RT_USING_MTD_NAND is not set
# CONFIG_RT_USING_MTD_NAND is not set
# CONFIG_RT_USING_MTD is not set
# CONFIG_RT_USING_MTD is not set
# CONFIG_RT_USING_PM is not set
# CONFIG_RT_USING_RTC is not set
# CONFIG_RT_USING_RTC is not set
# CONFIG_RT_USING_SDIO is not set
# CONFIG_RT_USING_SDIO is not set
# CONFIG_RT_USING_SPI is not set
# CONFIG_RT_USING_SPI is not set
...
@@ -173,6 +178,7 @@ CONFIG_RT_USING_PIN=y
...
@@ -173,6 +178,7 @@ CONFIG_RT_USING_PIN=y
#
#
# CONFIG_RT_USING_LOGTRACE is not set
# CONFIG_RT_USING_LOGTRACE is not set
# CONFIG_RT_USING_RYM is not set
# CONFIG_RT_USING_RYM is not set
# CONFIG_RT_USING_ULOG is not set
#
#
# ARM CMSIS
# ARM CMSIS
...
@@ -245,7 +251,6 @@ CONFIG_RT_USING_PIN=y
...
@@ -245,7 +251,6 @@ CONFIG_RT_USING_PIN=y
#
#
# CONFIG_PKG_USING_OPENMV is not set
# CONFIG_PKG_USING_OPENMV is not set
# CONFIG_PKG_USING_MUPDF is not set
# CONFIG_PKG_USING_MUPDF is not set
# CONFIG_PKG_USING_BEEPPLAYER is not set
#
#
# tools packages
# tools packages
...
@@ -273,6 +278,7 @@ CONFIG_RT_USING_PIN=y
...
@@ -273,6 +278,7 @@ CONFIG_RT_USING_PIN=y
# CONFIG_PKG_USING_LITTLEVGL2RTT is not set
# CONFIG_PKG_USING_LITTLEVGL2RTT is not set
# CONFIG_PKG_USING_CMSIS is not set
# CONFIG_PKG_USING_CMSIS is not set
# CONFIG_PKG_USING_DFS_YAFFS is not set
# CONFIG_PKG_USING_DFS_YAFFS is not set
# CONFIG_PKG_USING_LITTLEFS is not set
#
#
# peripheral libraries and drivers
# peripheral libraries and drivers
...
@@ -329,22 +335,28 @@ CONFIG_SOC_STM32F407ZG=y
...
@@ -329,22 +335,28 @@ CONFIG_SOC_STM32F407ZG=y
#
#
# Onboard Peripheral Drivers
# Onboard Peripheral Drivers
#
#
CONFIG_BSP_USING_USB_TO_USART
=
y
# CONFIG_BSP_USING_SPI_FLASH is not set
# CONFIG_BSP_USING_COM3 is not set
# CONFIG_BSP_USING_EEPROM is not set
# CONFIG_BSP_USING_ETH is not set
# CONFIG_BSP_USING_ETH is not set
# CONFIG_BSP_USING_MPU6050 is not set
# CONFIG_BSP_USING_MPU6050 is not set
#
# Offboard Peripheral Drivers
#
#
#
# On-chip Peripheral Drivers
# On-chip Peripheral Drivers
#
#
CONFIG_BSP_USING_GPIO
=
y
CONFIG_BSP_USING_GPIO
=
y
CONFIG_BSP_USING_UART
=
y
CONFIG_BSP_USING_UART1
=
y
CONFIG_BSP_USING_UART1
=
y
# CONFIG_BSP_USING_UART2 is not set
# CONFIG_BSP_USING_UART2 is not set
# CONFIG_BSP_USING_UART3 is not set
# CONFIG_BSP_USING_UART3 is not set
# CONFIG_BSP_USING_UART6 is not set
# CONFIG_BSP_USING_UART6 is not set
# CONFIG_BSP_UART_USING_DMA_RX is not set
# CONFIG_BSP_UART_USING_DMA_RX is not set
# CONFIG_BSP_USING_SPI is not set
# CONFIG_BSP_USING_SPI1 is not set
# CONFIG_BSP_USING_I2C is not set
# CONFIG_BSP_USING_SPI2 is not set
# CONFIG_BSP_USING_SPI3 is not set
# CONFIG_BSP_SPI_USING_DMA is not set
# CONFIG_BSP_USING_I2C1 is not set
#
# Board extended module Drivers
#
bsp/stm32/stm32f407-atk-explorer/README.md
浏览文件 @
0a4abb8f
...
@@ -116,7 +116,7 @@ msh >
...
@@ -116,7 +116,7 @@ msh >
## 注意事项
## 注意事项
-
STM32F407 有两块 RAM:RAM1(0x20000000,128K) 、RAM2(0x10000000,64K) ,本 BSP 将 RT-Thread HEAP 放到了 RAM1,将 RW 段数据放到了 RAM2(此地址空间不能使用 DMA 传输)。因此,如需使用 DMA 功能需使用
`rt_malloc/rt_calloc`
函数为缓冲区分配 RAM1 的空间。
暂无
## 联系人信息
## 联系人信息
...
...
bsp/stm32/stm32f407-atk-explorer/board/board.h
浏览文件 @
0a4abb8f
...
@@ -22,12 +22,21 @@
...
@@ -22,12 +22,21 @@
#define LED1_PIN GET_PIN(F, 10)
#define LED1_PIN GET_PIN(F, 10)
#endif
#endif
#define STM32_SRAM1_SIZE (128)
#define STM32_SRAM_SIZE (128)
#define STM32_SRAM1_START (0x20000000)
#define STM32_SRAM_END (0x20000000 + STM32_SRAM_SIZE * 1024)
#define STM32_SRAM1_END (STM32_SRAM1_START + STM32_SRAM1_SIZE * 1024)
#ifdef __CC_ARM
extern
int
Image
$$
RW_IRAM1
$$
ZI
$$
Limit
;
#define HEAP_BEGIN ((void *)&Image$$RW_IRAM1$$ZI$$Limit)
#elif __ICCARM__
#pragma section="CSTACK"
#define HEAP_BEGIN (__segment_end("CSTACK"))
#else
extern
int
__bss_end
;
#define HEAP_BEGIN ((void *)&__bss_end)
#endif
#define HEAP_BEGIN STM32_SRAM1_START
#define HEAP_END STM32_SRAM_END
#define HEAP_END STM32_SRAM1_END
void
SystemClock_Config
(
void
);
void
SystemClock_Config
(
void
);
void
MX_GPIO_Init
(
void
);
void
MX_GPIO_Init
(
void
);
...
...
bsp/stm32/stm32f407-atk-explorer/board/linker_scripts/stm32f4xx.icf
浏览文件 @
0a4abb8f
...
@@ -18,7 +18,6 @@ define symbol __ICFEDIT_size_heap__ = 0x0000;
...
@@ -18,7 +18,6 @@ define symbol __ICFEDIT_size_heap__ = 0x0000;
define memory mem with size = 4G;
define memory mem with size = 4G;
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
define region RAM1_region = mem:[from __ICFEDIT_region_RAM1_start__ to __ICFEDIT_region_RAM1_end__];
define region RAM1_region = mem:[from __ICFEDIT_region_RAM1_start__ to __ICFEDIT_region_RAM1_end__];
define region RAM2_region = mem:[from __ICFEDIT_region_RAM2_start__ to __ICFEDIT_region_RAM2_end__];
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
...
@@ -28,5 +27,4 @@ do not initialize { section .noinit };
...
@@ -28,5 +27,4 @@ do not initialize { section .noinit };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
place in ROM_region { readonly };
place in ROM_region { readonly };
place in RAM1_region { section .sram };
place in RAM1_region { readwrite, last block CSTACK };
place in RAM2_region { readwrite, block CSTACK};
bsp/stm32/stm32f407-atk-explorer/board/linker_scripts/stm32f4xx.ld
浏览文件 @
0a4abb8f
...
@@ -78,7 +78,7 @@ SECTIONS
...
@@ -78,7 +78,7 @@ SECTIONS
. = ALIGN(4);
. = ALIGN(4);
/* This is used by the startup in order to initialize the .data secion */
/* This is used by the startup in order to initialize the .data secion */
_edata = . ;
_edata = . ;
} >RAM
2
} >RAM
1
.stack :
.stack :
{
{
...
@@ -87,7 +87,7 @@ SECTIONS
...
@@ -87,7 +87,7 @@ SECTIONS
. = . + _system_stack_size;
. = . + _system_stack_size;
. = ALIGN(4);
. = ALIGN(4);
_estack = .;
_estack = .;
} >RAM
2
} >RAM
1
__bss_start = .;
__bss_start = .;
.bss :
.bss :
...
@@ -105,7 +105,7 @@ SECTIONS
...
@@ -105,7 +105,7 @@ SECTIONS
_ebss = . ;
_ebss = . ;
*(.bss.init)
*(.bss.init)
} > RAM
2
} > RAM
1
__bss_end = .;
__bss_end = .;
_end = .;
_end = .;
...
...
bsp/stm32/stm32f407-atk-explorer/board/linker_scripts/stm32f4xx.sct
浏览文件 @
0a4abb8f
...
@@ -8,7 +8,7 @@ LR_IROM1 0x08000000 0x00100000 { ; load region size_region
...
@@ -8,7 +8,7 @@ LR_IROM1 0x08000000 0x00100000 { ; load region size_region
*(InRoot$$Sections)
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+RO)
}
}
RW_IRAM
2 0x10000000 0x0001
0000 { ; RW data
RW_IRAM
1 0x20000000 0x0002
0000 { ; RW data
.ANY (+RW +ZI)
.ANY (+RW +ZI)
}
}
}
}
...
...
bsp/stm32/stm32f407-atk-explorer/project.ewd
浏览文件 @
0a4abb8f
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<project>
<project>
<fileVersion>
3
</fileVersion>
<fileVersion>
3
</fileVersion>
<configuration>
<configuration>
<name>
Debug
</name>
<name>
rt-thread
</name>
<toolchain>
<toolchain>
<name>
ARM
</name>
<name>
ARM
</name>
</toolchain>
</toolchain>
...
@@ -80,7 +80,7 @@
...
@@ -80,7 +80,7 @@
</option>
</option>
<option>
<option>
<name>
OCProductVersion
</name>
<name>
OCProductVersion
</name>
<state>
8.
11.3.13977
</state>
<state>
8.
20.1.14181
</state>
</option>
</option>
<option>
<option>
<name>
OCDynDriverList
</name>
<name>
OCDynDriverList
</name>
...
@@ -88,7 +88,7 @@
...
@@ -88,7 +88,7 @@
</option>
</option>
<option>
<option>
<name>
OCLastSavedByProductVersion
</name>
<name>
OCLastSavedByProductVersion
</name>
<state>
8.
11.3.13977
</state>
<state>
8.
20.1.14181
</state>
</option>
</option>
<option>
<option>
<name>
UseFlashLoader
</name>
<name>
UseFlashLoader
</name>
...
@@ -1403,11 +1403,11 @@
...
@@ -1403,11 +1403,11 @@
<loadFlag>
1
</loadFlag>
<loadFlag>
1
</loadFlag>
</plugin>
</plugin>
<plugin>
<plugin>
<file>
$EW_DIR$\common\plugins\
IARProbe\IarProbePlugin
.ENU.ewplugin
</file>
<file>
$EW_DIR$\common\plugins\
Orti\Orti
.ENU.ewplugin
</file>
<loadFlag>
0
</loadFlag>
<loadFlag>
0
</loadFlag>
</plugin>
</plugin>
<plugin>
<plugin>
<file>
$EW_DIR$\common\plugins\
Orti\Orti
.ENU.ewplugin
</file>
<file>
$EW_DIR$\common\plugins\
TargetAccessServer\TargetAccessServer
.ENU.ewplugin
</file>
<loadFlag>
0
</loadFlag>
<loadFlag>
0
</loadFlag>
</plugin>
</plugin>
<plugin>
<plugin>
...
@@ -2818,11 +2818,11 @@
...
@@ -2818,11 +2818,11 @@
<loadFlag>
1
</loadFlag>
<loadFlag>
1
</loadFlag>
</plugin>
</plugin>
<plugin>
<plugin>
<file>
$EW_DIR$\common\plugins\
IARProbe\IarProbePlugin
.ENU.ewplugin
</file>
<file>
$EW_DIR$\common\plugins\
Orti\Orti
.ENU.ewplugin
</file>
<loadFlag>
0
</loadFlag>
<loadFlag>
0
</loadFlag>
</plugin>
</plugin>
<plugin>
<plugin>
<file>
$EW_DIR$\common\plugins\
Orti\Orti
.ENU.ewplugin
</file>
<file>
$EW_DIR$\common\plugins\
TargetAccessServer\TargetAccessServer
.ENU.ewplugin
</file>
<loadFlag>
0
</loadFlag>
<loadFlag>
0
</loadFlag>
</plugin>
</plugin>
<plugin>
<plugin>
...
...
bsp/stm32/stm32f407-atk-explorer/rtconfig.h
浏览文件 @
0a4abb8f
...
@@ -13,6 +13,7 @@
...
@@ -13,6 +13,7 @@
#define RT_TICK_PER_SECOND 1000
#define RT_TICK_PER_SECOND 1000
#define RT_USING_OVERFLOW_CHECK
#define RT_USING_OVERFLOW_CHECK
#define RT_USING_HOOK
#define RT_USING_HOOK
#define RT_USING_IDLE_HOOK
#define RT_IDEL_HOOK_LIST_SIZE 4
#define RT_IDEL_HOOK_LIST_SIZE 4
#define IDLE_THREAD_STACK_SIZE 1024
#define IDLE_THREAD_STACK_SIZE 1024
#define RT_DEBUG
#define RT_DEBUG
...
@@ -153,6 +154,9 @@
...
@@ -153,6 +154,9 @@
/* example package: hello */
/* example package: hello */
/* rtpkgs online packages */
#define SOC_FAMILY_STM32
#define SOC_FAMILY_STM32
#define SOC_SERIES_STM32F4
#define SOC_SERIES_STM32F4
...
@@ -162,13 +166,14 @@
...
@@ -162,13 +166,14 @@
/* Onboard Peripheral Drivers */
/* Onboard Peripheral Drivers */
#define BSP_USING_USB_TO_USART
/* Offboard Peripheral Drivers */
/* On-chip Peripheral Drivers */
/* On-chip Peripheral Drivers */
#define BSP_USING_GPIO
#define BSP_USING_GPIO
#define BSP_USING_UART
#define BSP_USING_UART1
#define BSP_USING_UART1
/* Board extended module Drivers */
#endif
#endif
bsp/stm32/stm32f429-atk-apollo/README.md
浏览文件 @
0a4abb8f
...
@@ -120,7 +120,7 @@ msh >
...
@@ -120,7 +120,7 @@ msh >
## 注意事项
## 注意事项
STM32F429 有两块 RAM:RAM1(0x20000000,192K) 、RAM2(0x10000000,64K) ,本 BSP 将 RT-Thread HEAP 放到了 RAM1,将 RW 段数据放到了 RAM2(此地址空间不能使用 DMA 传输)。因此,如需使用 DMA 功能传输缓冲区内的数据,需要使用
`rt_malloc/rt_calloc`
函数为需要使用 DMA 传输的缓冲区分配内存,这样申请的内存地址将存在于 RAM1 空间内。
暂无
## 联系人信息
## 联系人信息
...
...
bsp/stm32/stm32f429-atk-apollo/board/board.h
浏览文件 @
0a4abb8f
...
@@ -19,12 +19,21 @@
...
@@ -19,12 +19,21 @@
#include "drv_gpio.h"
#include "drv_gpio.h"
#endif
#endif
#define STM32_SRAM1_SIZE (192)
#define STM32_SRAM_SIZE (192)
#define STM32_SRAM1_START (0x20000000)
#define STM32_SRAM_END (0x20000000 + STM32_SRAM_SIZE * 1024)
#define STM32_SRAM1_END (STM32_SRAM1_START + STM32_SRAM1_SIZE * 1024)
#if defined(__CC_ARM) || defined(__CLANG_ARM)
extern
int
Image
$$
RW_IRAM1
$$
ZI
$$
Limit
;
#define HEAP_BEGIN (&Image$$RW_IRAM1$$ZI$$Limit)
#elif __ICCARM__
#pragma section="CSTACK"
#define HEAP_BEGIN (__segment_end("CSTACK"))
#else
extern
int
__bss_end
;
#define HEAP_BEGIN (&__bss_end)
#endif
#define HEAP_BEGIN STM32_SRAM1_START
#define HEAP_END STM32_SRAM_END
#define HEAP_END STM32_SRAM1_END
/* Board Pin definitions */
/* Board Pin definitions */
#define LED0_PIN GET_PIN(B, 1)
#define LED0_PIN GET_PIN(B, 1)
...
...
bsp/stm32/stm32f429-atk-apollo/board/linker_scripts/stm32f4xx.icf
浏览文件 @
0a4abb8f
...
@@ -18,7 +18,6 @@ define symbol __ICFEDIT_size_heap__ = 0x0000;
...
@@ -18,7 +18,6 @@ define symbol __ICFEDIT_size_heap__ = 0x0000;
define memory mem with size = 4G;
define memory mem with size = 4G;
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
define region RAM1_region = mem:[from __ICFEDIT_region_RAM1_start__ to __ICFEDIT_region_RAM1_end__];
define region RAM1_region = mem:[from __ICFEDIT_region_RAM1_start__ to __ICFEDIT_region_RAM1_end__];
define region RAM2_region = mem:[from __ICFEDIT_region_RAM2_start__ to __ICFEDIT_region_RAM2_end__];
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
...
@@ -28,5 +27,4 @@ do not initialize { section .noinit };
...
@@ -28,5 +27,4 @@ do not initialize { section .noinit };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
place in ROM_region { readonly };
place in ROM_region { readonly };
place in RAM1_region { section .sram };
place in RAM1_region { readwrite, last block CSTACK };
place in RAM2_region { readwrite, block CSTACK};
bsp/stm32/stm32f429-atk-apollo/board/linker_scripts/stm32f4xx.ld
浏览文件 @
0a4abb8f
...
@@ -78,7 +78,7 @@ SECTIONS
...
@@ -78,7 +78,7 @@ SECTIONS
. = ALIGN(4);
. = ALIGN(4);
/* This is used by the startup in order to initialize the .data secion */
/* This is used by the startup in order to initialize the .data secion */
_edata = . ;
_edata = . ;
} >RAM
2
} >RAM
1
.stack :
.stack :
{
{
...
@@ -87,7 +87,7 @@ SECTIONS
...
@@ -87,7 +87,7 @@ SECTIONS
. = . + _system_stack_size;
. = . + _system_stack_size;
. = ALIGN(4);
. = ALIGN(4);
_estack = .;
_estack = .;
} >RAM
2
} >RAM
1
__bss_start = .;
__bss_start = .;
.bss :
.bss :
...
@@ -105,7 +105,7 @@ SECTIONS
...
@@ -105,7 +105,7 @@ SECTIONS
_ebss = . ;
_ebss = . ;
*(.bss.init)
*(.bss.init)
} > RAM
2
} > RAM
1
__bss_end = .;
__bss_end = .;
_end = .;
_end = .;
...
...
bsp/stm32/stm32f429-atk-apollo/board/linker_scripts/stm32f4xx.sct
浏览文件 @
0a4abb8f
...
@@ -8,7 +8,7 @@ LR_IROM1 0x08000000 0x00100000 { ; load region size_region
...
@@ -8,7 +8,7 @@ LR_IROM1 0x08000000 0x00100000 { ; load region size_region
*(InRoot$$Sections)
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+RO)
}
}
RW_IRAM
2 0x10000000 0x0001
0000 { ; RW data
RW_IRAM
1 0x20000000 0x0003
0000 { ; RW data
.ANY (+RW +ZI)
.ANY (+RW +ZI)
}
}
}
}
...
...
bsp/stm32/stm32f429-fire-challenger/README.md
浏览文件 @
0a4abb8f
...
@@ -47,7 +47,6 @@
...
@@ -47,7 +47,6 @@
| SD卡 | 即将支持 | |
| SD卡 | 即将支持 | |
| CAN | 即将支持 | |
| CAN | 即将支持 | |
| SDRAM | 即将支持 | |
| SDRAM | 即将支持 | |
| ESP8266 模块 | 即将支持 | |
| EMW1062 | 暂不支持 | |
| EMW1062 | 暂不支持 | |
|
**片上外设**
|
**支持情况**
|
**备注**
|
|
**片上外设**
|
**支持情况**
|
**备注**
|
| GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...176 |
| GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...176 |
...
@@ -119,7 +118,7 @@ msh >
...
@@ -119,7 +118,7 @@ msh >
## 注意事项
## 注意事项
STM32F429 有两块 RAM:RAM1(0x20000000,192K) 、RAM2(0x10000000,64K) ,本 BSP 将 RT-Thread HEAP 放到了 RAM1,将 RW 段数据放到了 RAM2(此地址空间不能使用 DMA 传输)。因此,如需使用 DMA 功能传输缓冲区内的数据,需要使用
`rt_malloc/rt_calloc`
函数为需要使用 DMA 传输的缓冲区分配内存,这样申请的内存地址将存在于 RAM1 空间内。
暂无
## 联系人信息
## 联系人信息
...
...
bsp/stm32/stm32f429-fire-challenger/board/board.h
浏览文件 @
0a4abb8f
...
@@ -19,12 +19,21 @@
...
@@ -19,12 +19,21 @@
#include "drv_gpio.h"
#include "drv_gpio.h"
#endif
#endif
#define STM32_SRAM1_SIZE (192)
#define STM32_SRAM_SIZE (192)
#define STM32_SRAM1_START (0x20000000)
#define STM32_SRAM_END (0x20000000 + STM32_SRAM_SIZE * 1024)
#define STM32_SRAM1_END (STM32_SRAM1_START + STM32_SRAM1_SIZE * 1024)
#if defined(__CC_ARM) || defined(__CLANG_ARM)
extern
int
Image
$$
RW_IRAM1
$$
ZI
$$
Limit
;
#define HEAP_BEGIN (&Image$$RW_IRAM1$$ZI$$Limit)
#elif __ICCARM__
#pragma section="CSTACK"
#define HEAP_BEGIN (__segment_end("CSTACK"))
#else
extern
int
__bss_end
;
#define HEAP_BEGIN (&__bss_end)
#endif
#define HEAP_BEGIN STM32_SRAM1_START
#define HEAP_END STM32_SRAM_END
#define HEAP_END STM32_SRAM1_END
/* Board Pin definitions */
/* Board Pin definitions */
#define LED0_PIN GET_PIN(H, 10)
#define LED0_PIN GET_PIN(H, 10)
...
...
bsp/stm32/stm32f429-fire-challenger/board/linker_scripts/stm32f4xx.icf
浏览文件 @
0a4abb8f
...
@@ -18,7 +18,6 @@ define symbol __ICFEDIT_size_heap__ = 0x0000;
...
@@ -18,7 +18,6 @@ define symbol __ICFEDIT_size_heap__ = 0x0000;
define memory mem with size = 4G;
define memory mem with size = 4G;
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
define region RAM1_region = mem:[from __ICFEDIT_region_RAM1_start__ to __ICFEDIT_region_RAM1_end__];
define region RAM1_region = mem:[from __ICFEDIT_region_RAM1_start__ to __ICFEDIT_region_RAM1_end__];
define region RAM2_region = mem:[from __ICFEDIT_region_RAM2_start__ to __ICFEDIT_region_RAM2_end__];
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
...
@@ -28,5 +27,4 @@ do not initialize { section .noinit };
...
@@ -28,5 +27,4 @@ do not initialize { section .noinit };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
place in ROM_region { readonly };
place in ROM_region { readonly };
place in RAM1_region { section .sram };
place in RAM1_region { readwrite, last block CSTACK };
place in RAM2_region { readwrite, block CSTACK};
bsp/stm32/stm32f429-fire-challenger/board/linker_scripts/stm32f4xx.ld
浏览文件 @
0a4abb8f
...
@@ -78,7 +78,7 @@ SECTIONS
...
@@ -78,7 +78,7 @@ SECTIONS
. = ALIGN(4);
. = ALIGN(4);
/* This is used by the startup in order to initialize the .data secion */
/* This is used by the startup in order to initialize the .data secion */
_edata = . ;
_edata = . ;
} >RAM
2
} >RAM
1
.stack :
.stack :
{
{
...
@@ -87,7 +87,7 @@ SECTIONS
...
@@ -87,7 +87,7 @@ SECTIONS
. = . + _system_stack_size;
. = . + _system_stack_size;
. = ALIGN(4);
. = ALIGN(4);
_estack = .;
_estack = .;
} >RAM
2
} >RAM
1
__bss_start = .;
__bss_start = .;
.bss :
.bss :
...
@@ -105,7 +105,7 @@ SECTIONS
...
@@ -105,7 +105,7 @@ SECTIONS
_ebss = . ;
_ebss = . ;
*(.bss.init)
*(.bss.init)
} > RAM
2
} > RAM
1
__bss_end = .;
__bss_end = .;
_end = .;
_end = .;
...
...
bsp/stm32/stm32f429-fire-challenger/board/linker_scripts/stm32f4xx.sct
浏览文件 @
0a4abb8f
...
@@ -8,7 +8,7 @@ LR_IROM1 0x08000000 0x00100000 { ; load region size_region
...
@@ -8,7 +8,7 @@ LR_IROM1 0x08000000 0x00100000 { ; load region size_region
*(InRoot$$Sections)
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+RO)
}
}
RW_IRAM
2 0x10000000 0x0001
0000 { ; RW data
RW_IRAM
1 0x20000000 0x0003
0000 { ; RW data
.ANY (+RW +ZI)
.ANY (+RW +ZI)
}
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录