4570a9047d
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> |
||
---|---|---|
.. | ||
Libraries | ||
docs | ||
lpc55s06_nxp_evk | ||
lpc55s16_nxp_evk | ||
lpc55s28_nxp_evk | ||
lpc55s36_nxp_evk | ||
lpc55s69_nxp_evk | ||
tools | ||
README.md |
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 添加更多设备驱动的方法 |