rt-thread-official/bsp/lpc55sxx
Yilin Sun 4570a9047d [bsp][lpc55sxx] GNU toolchain: fix broken port.
1 - The current linker flags undefines `Reset_Handler' and uses `entry()' as
default entry point (specified by `-e'), which will cause a invalid reset
vector in the image without proper crt0 init assembly routine.

2 - The default startup files provided by NXP violate the crt0 assumption
that bss section will be filled with zero unless macro `__STARTUP_CLEAR_BSS'
is defined. This will cause RTT hook funtion pointers set to non-NULL values at
kernel start, thus successfully passes the `RT_nnnn_HOOK_CALL` checks
and jumps to an invalid pointer.

3 - The default heap size used by TCB and kernel objects are set by
linker file macros, which is 0x400 (1024 bytes). The size is too small
for main task and the allocation will fail before the first task being created.

This patch restores Reset_Handler as default reset vector and executes
entry by replacing __START from newlib, defines the
`__STARTUP_CLEAR_BSS` macro to forcibly zeroize the bss section to avoid
unexpected hard faults, set proper heap sizes based on the SRAM sizes.
Some unused compiler/linker flags are also removed or replaced to avoid
future confusion.

The heap sizes for different devices are:
* LPC55(S)69/LPC55(S)28:            64kB
* LPC55(S)06/LPC55(S)16/LPC55(S)36: 32kB

Signed-off-by: Yilin Sun <imi415@imi.moe>
2024-02-07 21:57:28 -05:00
..
Libraries [bsp][renesas] RTduino configuration update 2024-01-18 11:57:51 +08:00
docs [debug] 整理debug宏并增加RT_DEBUGING_CONTEXT (#7805) 2023-07-22 10:36:42 +08:00
lpc55s06_nxp_evk [bsp][lpc55sxx] GNU toolchain: fix broken port. 2024-02-07 21:57:28 -05:00
lpc55s16_nxp_evk [bsp][lpc55sxx] GNU toolchain: fix broken port. 2024-02-07 21:57:28 -05:00
lpc55s28_nxp_evk [bsp][lpc55sxx] GNU toolchain: fix broken port. 2024-02-07 21:57:28 -05:00
lpc55s36_nxp_evk [bsp][lpc55sxx] GNU toolchain: fix broken port. 2024-02-07 21:57:28 -05:00
lpc55s69_nxp_evk [bsp][lpc55sxx] GNU toolchain: fix broken port. 2024-02-07 21:57:28 -05:00
tools [bsp][lpc55s69]add softi2c (#7221) 2023-04-13 21:41:38 -04:00
README.md added LPC55S6x BSP 2019-10-24 17:56:09 +08:00

README.md

LPC55Sxx BSP 说明

LPC55Sxx系列 BSP 目前支持情况如下表所示:

BSP 文件夹名称 开发板名称
LPC55S69 系列
LPC55S69-EVK 恩智浦 LPC55S69 EVK[[官方链接]( <https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/lpc5500-cortex-m33/lpcxpresso55s69-development-board:LPC55S69-EVK)]

可以通过阅读相应 BSP 下的 README 来快速上手,如果想要使用 BSP 更多功能可参考 docs 文件夹下提供的说明文档,如下表所示:

BSP 使用教程 简介
外设驱动使用教程 讲解 BSP 上更多外设驱动的使用方法
外设驱动介绍与应用 讲解LPC55Sxx系列BSP驱动的支持情况以及如何利用驱动框架开发应用程序
BSP 制作与提交 简介
BSP 制作教程 讲解LPC55Sxx系列BSP的制作方法以及在制作 BSP 和提交 BSP 时应当遵守的规范
外设驱动添加指南 讲解 BSP 添加更多设备驱动的方法