-
Notifications
You must be signed in to change notification settings - Fork 5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
24 changed files
with
4,001 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
# S32K3 BSP 说明 | ||
|
||
## S32K344 | ||
|
||
### 1. 介绍: | ||
|
||
基础工程: | ||
|
||
- LPUART3(PD3-Rx, PD2-Tx) : | ||
- 每2s打印hello | ||
- finsh | ||
|
||
使用软件包:SW32K3_S32M27x_RTD_R21-11_5.0.0 | ||
|
||
生成工具:S32 Design Studio for S32 Platform 3.5 | ||
|
||
|
||
使用样板: | ||
|
||
![](./img/使用样板.png) | ||
|
||
### 2. 例程使用准备: | ||
|
||
- 目前仅使用gcc编译,为了增加同通用性,例程尽量使用了寄存器操作。在编译前请将`bsp\nxp\S32K3\S32K344-core\libraries\s32k344_SDK`中的文件补充完整: | ||
|
||
| 目录名 | 对应nxp目录 | 备注 | | ||
| -------------------- | ------------------------------------------ | --------------------------------------- | | ||
| header | BaseNXP_TS_T40D34M50I0R0\header | 寄存器定义(在nxp软件包目录下查找) | | ||
| include | | 在下一步中补充 | | ||
| Startup_Code\inc | Platform_TS_T40D34M50I0R0\startup\include | 芯片启动头文件(在nxp软件包目录下查找) | | ||
| Startup_Code\src | 生成模板工程\Project_Settings\Startup_Code | 芯片启动源文件 | | ||
| board\linker_scripts | 生成模板工程\Project_Settings\Linker_Files | 芯片链接脚本 | | ||
|
||
- 在补充完成后: | ||
|
||
1. 编译,寻找缺失头文件,在`BaseNXP_TS_T40D34M50I0R0\include`目录下查找并放入目录`include` | ||
|
||
2. 重复步骤 1 直到缺失的头文件无法在`BaseNXP_TS_T40D34M50I0R0\include`目录下找到,或者不在是头文件缺失错误 | ||
|
||
3. 删除`include` 目录下的`Mcal.h`,将工程中所有的 `#include "Mcal.h"`替换为`#include "S32K344.h"` | ||
|
||
4. 在`ststem.h`头部添加: | ||
|
||
```c | ||
#define OsIf_GetCoreID() Sys_GetCoreID() | ||
#define MCAL_DATA_SYNC_BARRIER() __asm__(" DSB") | ||
#define MCAL_INSTRUCTION_SYNC_BARRIER() __asm__(" ISB") | ||
``` | ||
|
||
5. 删除`exceptions.c`中的`PendSV_Handler`和`SysTick_Handler`实现。 | ||
|
||
6. 修改`startup_cm7.s`:`main`改为 RTT 入口`entry`,删除 `_start:` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,288 @@ | ||
|
||
# | ||
# RT-Thread Kernel | ||
# | ||
CONFIG_RT_NAME_MAX=8 | ||
# CONFIG_RT_USING_ARCH_DATA_TYPE is not set | ||
# CONFIG_RT_USING_NANO is not set | ||
# CONFIG_RT_USING_AMP is not set | ||
# CONFIG_RT_USING_SMP is not set | ||
CONFIG_RT_CPUS_NR=1 | ||
CONFIG_RT_ALIGN_SIZE=8 | ||
# CONFIG_RT_THREAD_PRIORITY_8 is not set | ||
CONFIG_RT_THREAD_PRIORITY_32=y | ||
# CONFIG_RT_THREAD_PRIORITY_256 is not set | ||
CONFIG_RT_THREAD_PRIORITY_MAX=32 | ||
CONFIG_RT_TICK_PER_SECOND=1000 | ||
CONFIG_RT_USING_HOOK=y | ||
CONFIG_RT_HOOK_USING_FUNC_PTR=y | ||
# CONFIG_RT_USING_HOOKLIST is not set | ||
CONFIG_RT_USING_IDLE_HOOK=y | ||
CONFIG_RT_IDLE_HOOK_LIST_SIZE=4 | ||
CONFIG_IDLE_THREAD_STACK_SIZE=1024 | ||
CONFIG_RT_USING_TIMER_SOFT=y | ||
CONFIG_RT_TIMER_THREAD_PRIO=4 | ||
CONFIG_RT_TIMER_THREAD_STACK_SIZE=1024 | ||
# CONFIG_RT_USING_TIMER_ALL_SOFT is not set | ||
# CONFIG_RT_USING_CPU_USAGE_TRACER is not set | ||
|
||
# | ||
# kservice optimization | ||
# | ||
# CONFIG_RT_USING_TINY_FFS is not set | ||
# end of kservice optimization | ||
|
||
# | ||
# klibc optimization | ||
# | ||
# CONFIG_RT_KLIBC_USING_STDLIB is not set | ||
# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set | ||
# CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG is not set | ||
# end of klibc optimization | ||
|
||
CONFIG_RT_USING_DEBUG=y | ||
CONFIG_RT_DEBUGING_ASSERT=y | ||
CONFIG_RT_DEBUGING_COLOR=y | ||
CONFIG_RT_DEBUGING_CONTEXT=y | ||
# CONFIG_RT_DEBUGING_AUTO_INIT is not set | ||
CONFIG_RT_USING_OVERFLOW_CHECK=y | ||
|
||
# | ||
# Inter-Thread communication | ||
# | ||
CONFIG_RT_USING_SEMAPHORE=y | ||
CONFIG_RT_USING_MUTEX=y | ||
CONFIG_RT_USING_EVENT=y | ||
CONFIG_RT_USING_MAILBOX=y | ||
CONFIG_RT_USING_MESSAGEQUEUE=y | ||
# CONFIG_RT_USING_MESSAGEQUEUE_PRIORITY is not set | ||
# CONFIG_RT_USING_SIGNALS is not set | ||
# end of Inter-Thread communication | ||
|
||
# | ||
# Memory Management | ||
# | ||
CONFIG_RT_USING_MEMPOOL=y | ||
CONFIG_RT_USING_SMALL_MEM=y | ||
# CONFIG_RT_USING_SLAB is not set | ||
# CONFIG_RT_USING_MEMHEAP is not set | ||
CONFIG_RT_USING_SMALL_MEM_AS_HEAP=y | ||
# CONFIG_RT_USING_MEMHEAP_AS_HEAP is not set | ||
# CONFIG_RT_USING_SLAB_AS_HEAP is not set | ||
# CONFIG_RT_USING_USERHEAP is not set | ||
# CONFIG_RT_USING_NOHEAP is not set | ||
# CONFIG_RT_USING_MEMTRACE is not set | ||
# CONFIG_RT_USING_HEAP_ISR is not set | ||
CONFIG_RT_USING_HEAP=y | ||
# end of Memory Management | ||
|
||
CONFIG_RT_USING_DEVICE=y | ||
# CONFIG_RT_USING_DEVICE_OPS is not set | ||
# CONFIG_RT_USING_INTERRUPT_INFO is not set | ||
# CONFIG_RT_USING_THREADSAFE_PRINTF is not set | ||
# CONFIG_RT_USING_SCHED_THREAD_CTX is not set | ||
CONFIG_RT_USING_CONSOLE=y | ||
CONFIG_RT_CONSOLEBUF_SIZE=128 | ||
CONFIG_RT_CONSOLE_DEVICE_NAME="uart3" | ||
CONFIG_RT_VER_NUM=0x50200 | ||
# CONFIG_RT_USING_STDC_ATOMIC is not set | ||
CONFIG_RT_BACKTRACE_LEVEL_MAX_NR=32 | ||
# end of RT-Thread Kernel | ||
|
||
# | ||
# RT-Thread Components | ||
# | ||
CONFIG_RT_USING_COMPONENTS_INIT=y | ||
CONFIG_RT_USING_USER_MAIN=y | ||
CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048 | ||
CONFIG_RT_MAIN_THREAD_PRIORITY=10 | ||
# CONFIG_RT_USING_LEGACY is not set | ||
CONFIG_RT_USING_MSH=y | ||
CONFIG_RT_USING_FINSH=y | ||
CONFIG_FINSH_USING_MSH=y | ||
CONFIG_FINSH_THREAD_NAME="tshell" | ||
CONFIG_FINSH_THREAD_PRIORITY=20 | ||
CONFIG_FINSH_THREAD_STACK_SIZE=4096 | ||
CONFIG_FINSH_USING_HISTORY=y | ||
CONFIG_FINSH_HISTORY_LINES=5 | ||
CONFIG_FINSH_USING_SYMTAB=y | ||
CONFIG_FINSH_CMD_SIZE=80 | ||
CONFIG_MSH_USING_BUILT_IN_COMMANDS=y | ||
CONFIG_FINSH_USING_DESCRIPTION=y | ||
# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set | ||
# CONFIG_FINSH_USING_AUTH is not set | ||
CONFIG_FINSH_ARG_MAX=10 | ||
CONFIG_FINSH_USING_OPTION_COMPLETION=y | ||
|
||
# | ||
# DFS: device virtual file system | ||
# | ||
CONFIG_RT_USING_DFS=y | ||
CONFIG_DFS_USING_POSIX=y | ||
CONFIG_DFS_USING_WORKDIR=y | ||
# CONFIG_RT_USING_DFS_MNTTABLE is not set | ||
CONFIG_DFS_FD_MAX=16 | ||
CONFIG_RT_USING_DFS_V1=y | ||
# CONFIG_RT_USING_DFS_V2 is not set | ||
CONFIG_DFS_FILESYSTEMS_MAX=4 | ||
CONFIG_DFS_FILESYSTEM_TYPES_MAX=4 | ||
# CONFIG_RT_USING_DFS_ELMFAT is not set | ||
CONFIG_RT_USING_DFS_DEVFS=y | ||
# CONFIG_RT_USING_DFS_ROMFS is not set | ||
# CONFIG_RT_USING_DFS_CROMFS is not set | ||
# CONFIG_RT_USING_DFS_RAMFS is not set | ||
# CONFIG_RT_USING_DFS_TMPFS is not set | ||
# CONFIG_RT_USING_DFS_MQUEUE is not set | ||
# end of DFS: device virtual file system | ||
|
||
# CONFIG_RT_USING_FAL is not set | ||
|
||
# | ||
# Device Drivers | ||
# | ||
# CONFIG_RT_USING_DM is not set | ||
# CONFIG_RT_USING_DEV_BUS is not set | ||
CONFIG_RT_USING_DEVICE_IPC=y | ||
CONFIG_RT_UNAMED_PIPE_NUMBER=64 | ||
# CONFIG_RT_USING_SYSTEM_WORKQUEUE is not set | ||
CONFIG_RT_USING_SERIAL=y | ||
CONFIG_RT_USING_SERIAL_V1=y | ||
# CONFIG_RT_USING_SERIAL_V2 is not set | ||
CONFIG_RT_SERIAL_USING_DMA=y | ||
CONFIG_RT_SERIAL_RB_BUFSZ=64 | ||
# CONFIG_RT_USING_CAN is not set | ||
# CONFIG_RT_USING_CPUTIME is not set | ||
# CONFIG_RT_USING_I2C is not set | ||
# CONFIG_RT_USING_PHY is not set | ||
# CONFIG_RT_USING_ADC is not set | ||
# CONFIG_RT_USING_DAC is not set | ||
# CONFIG_RT_USING_NULL is not set | ||
# CONFIG_RT_USING_ZERO is not set | ||
# CONFIG_RT_USING_RANDOM is not set | ||
# CONFIG_RT_USING_PWM is not set | ||
# CONFIG_RT_USING_PULSE_ENCODER is not set | ||
# CONFIG_RT_USING_INPUT_CAPTURE is not set | ||
# CONFIG_RT_USING_MTD_NOR is not set | ||
# CONFIG_RT_USING_MTD_NAND is not set | ||
# CONFIG_RT_USING_PM is not set | ||
# CONFIG_RT_USING_RTC is not set | ||
# CONFIG_RT_USING_SDIO is not set | ||
# CONFIG_RT_USING_SPI is not set | ||
# CONFIG_RT_USING_WDT is not set | ||
# CONFIG_RT_USING_AUDIO is not set | ||
# CONFIG_RT_USING_SENSOR is not set | ||
# CONFIG_RT_USING_TOUCH is not set | ||
# CONFIG_RT_USING_LCD is not set | ||
# CONFIG_RT_USING_HWCRYPTO is not set | ||
# CONFIG_RT_USING_WIFI is not set | ||
# CONFIG_RT_USING_VIRTIO is not set | ||
CONFIG_RT_USING_PIN=y | ||
# CONFIG_RT_USING_KTIME is not set | ||
# CONFIG_RT_USING_HWTIMER is not set | ||
# CONFIG_RT_USING_CHERRYUSB is not set | ||
# end of Device Drivers | ||
|
||
# | ||
# C/C++ and POSIX layer | ||
# | ||
|
||
# | ||
# ISO-ANSI C layer | ||
# | ||
|
||
# | ||
# Timezone and Daylight Saving Time | ||
# | ||
# CONFIG_RT_LIBC_USING_FULL_TZ_DST is not set | ||
CONFIG_RT_LIBC_USING_LIGHT_TZ_DST=y | ||
CONFIG_RT_LIBC_TZ_DEFAULT_HOUR=8 | ||
CONFIG_RT_LIBC_TZ_DEFAULT_MIN=0 | ||
CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0 | ||
# end of Timezone and Daylight Saving Time | ||
# end of ISO-ANSI C layer | ||
|
||
# | ||
# POSIX (Portable Operating System Interface) layer | ||
# | ||
# CONFIG_RT_USING_POSIX_FS is not set | ||
# CONFIG_RT_USING_POSIX_DELAY is not set | ||
# CONFIG_RT_USING_POSIX_CLOCK is not set | ||
# CONFIG_RT_USING_POSIX_TIMER is not set | ||
# CONFIG_RT_USING_PTHREADS is not set | ||
# CONFIG_RT_USING_MODULE is not set | ||
|
||
# | ||
# Interprocess Communication (IPC) | ||
# | ||
# CONFIG_RT_USING_POSIX_PIPE is not set | ||
# CONFIG_RT_USING_POSIX_MESSAGE_QUEUE is not set | ||
# CONFIG_RT_USING_POSIX_MESSAGE_SEMAPHORE is not set | ||
|
||
# | ||
# Socket is in the 'Network' category | ||
# | ||
# end of Interprocess Communication (IPC) | ||
# end of POSIX (Portable Operating System Interface) layer | ||
|
||
# CONFIG_RT_USING_CPLUSPLUS is not set | ||
# end of C/C++ and POSIX layer | ||
|
||
# | ||
# Network | ||
# | ||
# CONFIG_RT_USING_SAL is not set | ||
# CONFIG_RT_USING_NETDEV is not set | ||
# CONFIG_RT_USING_LWIP is not set | ||
# CONFIG_RT_USING_AT is not set | ||
# end of Network | ||
|
||
# | ||
# Memory protection | ||
# | ||
# CONFIG_RT_USING_MEM_PROTECTION is not set | ||
# CONFIG_RT_USING_HW_STACK_GUARD is not set | ||
# end of Memory protection | ||
|
||
# | ||
# Utilities | ||
# | ||
# CONFIG_RT_USING_RYM is not set | ||
# CONFIG_RT_USING_ULOG is not set | ||
# CONFIG_RT_USING_UTEST is not set | ||
# CONFIG_RT_USING_VAR_EXPORT is not set | ||
# CONFIG_RT_USING_RESOURCE_ID is not set | ||
# CONFIG_RT_USING_ADT is not set | ||
# CONFIG_RT_USING_RT_LINK is not set | ||
# end of Utilities | ||
|
||
# CONFIG_RT_USING_VBUS is not set | ||
|
||
# | ||
# Using USB legacy version | ||
# | ||
# CONFIG_RT_USING_USB_HOST is not set | ||
# CONFIG_RT_USING_USB_DEVICE is not set | ||
# end of Using USB legacy version | ||
|
||
# CONFIG_RT_USING_FDT is not set | ||
# end of RT-Thread Components | ||
|
||
# | ||
# RT-Thread Utestcases | ||
# | ||
# CONFIG_RT_USING_UTESTCASES is not set | ||
# end of RT-Thread Utestcases | ||
|
||
# | ||
# Hardware Drivers Config | ||
# | ||
CONFIG_CPU_S32K344=y | ||
CONFIG_BSP_USING_SHELL_TO_USART=y | ||
|
||
# | ||
# On-chip Peripheral Drivers | ||
# | ||
CONFIG_BSP_USING_UART=y | ||
CONFIG_BSP_USING_UART3=y | ||
# end of On-chip Peripheral Drivers | ||
# end of Hardware Drivers Config |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
board/linker_scripts/*.ld | ||
libraries/s32k344_SDK/**/*.c | ||
libraries/s32k344_SDK/**/*.s | ||
libraries/s32k344_SDK/**/*.h | ||
libraries/s32k344_SDK/**/*.svd |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
mainmenu "RT-Thread Configuration" | ||
|
||
BSP_DIR := . | ||
|
||
RTT_DIR := ../../../.. | ||
|
||
PKGS_DIR := packages | ||
|
||
source "$(RTT_DIR)/Kconfig" | ||
osource "$PKGS_DIR/Kconfig" | ||
rsource "libraries/Kconfig" | ||
rsource "board/Kconfig" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# for module compiling | ||
import os | ||
Import('RTT_ROOT') | ||
from building import * | ||
|
||
cwd = GetCurrentDir() | ||
objs = [] | ||
list = os.listdir(cwd) | ||
|
||
for d in list: | ||
path = os.path.join(cwd, d) | ||
if os.path.isfile(os.path.join(path, 'SConscript')): | ||
objs = objs + SConscript(os.path.join(d, 'SConscript')) | ||
|
||
Return('objs') |
Oops, something went wrong.