Commit Graph

13 Commits

Author SHA1 Message Date
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
Yilin Sun 7be9ae16b3 [bsp][lpc55sxx] Add RTT constant table sections to GNU lds.
The following RTT constant table sections are missing from the linker
script which will cause non-functional image:

* .rti_fn*
* FSymTab
* VSymTab

Add these sections after .text sections.

Signed-off-by: Yilin Sun <imi415@imi.moe>
2024-02-07 21:57:28 -05:00
Yilin Sun d7c05bfe8d [bsp][lpc55sxx] Update default configs for LPC5500 series.
Fixes compilation errors on mainline RTT versions.

Signed-off-by: Yilin Sun <imi415@imi.moe>
2024-02-07 21:57:28 -05:00
guozhanxin 9e79333512 [project] update mdk/iar project and config. 2023-10-08 11:21:00 +08:00
Shicheng Chu 61c53e3e9f
[bsp][lpc55sxx]update: update keil default project
1.update keil default project
2.add rtduino aht10 demo
2023-06-16 19:28:53 -04:00
rose_man c349fe68b8 [bsp][lpc55sxx]update Kconfig default and delete drv_led drv_key 2023-05-18 10:16:49 -04:00
yangjie11 95e6b69b8e
sync and update all projects (#7138)
* sync and update
2023-03-31 16:49:48 +08:00
杨熙 b7c2d1ba42
[bsp][lpc55sxx] add CPU define for S06/S16/S29/S36 make GCC comiple pass 2023-03-02 22:13:22 -05:00
Meco Man ddccef3a64 modify RT_ALIGN_SIZE as 8 by default 2023-01-12 22:47:23 -05:00
Meco Man 9bc68d26a4 format Kconfig and sconscript 2023-01-08 22:52:13 -05:00
yandld 7788227887 [bsp][lpc55sxx] update IDE project file
1. update all LPC55sxx ide project file
2022-12-30 07:52:46 -05:00
yandld 91ba90933c [bsp][lpc55s06] add LPC55S06 support 2022-12-05 18:43:41 -05:00
杨熙 2bbbd4b3fd
[bsp][lpc55sxx] add support of LPC5528/LPC55S28 (#6667)
* [bsp][lpc55sxx] add support of LPC5528/LPC55S28

1. add .ignore_format
2. add support of LPC55S28
3. fix LPC55S69 keil comiple error
3. refine README

* [bsp][lpc55sxx]

1. remove cmake file
2. formating code using rt-thread formating tools
3. CMSIS folder -> ../

* [bsp][lpc55s69]

 - add IAR support(IAR version: 9.30.1)
2022-11-29 19:56:50 -05:00