1. 准备工作
1.1 硬件准备
- 凌鸥创芯LKS EVB MC453 V2.0开发板一张。
- 调试器(如J-Link、ST-Link等)
- 必要的连接线缆,如图:
电路原理图下载链接:LKS_EVB_LKS32MC453RCT8_Core
串口接入图上的P0_1和P0_2;LED灯接入LED1(即P2_4),见原理图上红圈位置。
(注:这个开发板应该是配合电机开发底板一起使用的,板载LED都没有,只能手焊一个接入,上图白灯)
1.2 软件准备
- Keil MDK或IAR Embedded Workbench开发环境
- RT-Thread Nano源码包(可从RT-Thread官网下载)
- 目标MCU的BSP(板级支持包),下载地址:LKS32MC45x_DevDriver
2. 创建基础工程
- 在开发环境中创建一个新的工程,或者直接copy一份sdk的测试工程也可以。
- 添加必要的lib库文件。
3. 添加RT-Thread Nano到工程
3.1 复制RT-Thread Nano文件将RT-Thread Nano的以下目录复制到你的工程目录中:
3.2 添加文件到工程
在开发环境中添加以下文件到工程:
- rtthread-nano/src/*.c
- rtthread-nano/libcpu/arm/cortex-m4/*.c
3.3 包含头文件路径
添加以下头文件路径到工程设置:
- rtthread-nano/include
- rtthread-nano/libcpu/arm/cortex-m4
配置好的工程目录如下图:
4. 配置RT-Thread Nano
4.1 修改rtconfig.h创建或修改rtconfig.h文件,
配置RT-Thread Nano的基本参数,使用默认参数即可,由于我们的Demo需要用到串口日志输出,打开RT_USING_CONSOLE宏定义即可:
如上图红圈位置,取消注释即可。
4.2 板级硬件配置
在board.c中配置内存堆:
![]()
LKS32MC453芯片内置40K RAM,相对来说还是很丰富的。
配置systick中断函数:
![]()
配置Systick中断基本上是默认套路,不过这里要注意的是,由于官方SystemInit函数里边有Reset操作,这里不用额外调用,参见图上注释掉的部分。
配置日志串口初始化及日志输出函数
日志输出串口选择uart0,见第一小节电路图,配置P0_1和P0_2分别为uart0的rx和tx,代码如下:
![]()
5. 配置MCU工作时钟
LKS32MC453最高工作频率196M,代码如下,使用官方的时钟初始化代码:
![]()
6. 创建示例应用
6.1 修改main函数
我们这里只开了一个点灯的任务:
![]()
其中点灯任务使用了板LED1插针,对应管脚为P2_4,代码如下:
![]()
7. 编译与调试
- 编译工程,确保没有错误
- 连接调试器,下载程序到目标板
- 通过串口调试工具查看输出,确认RT-Thread正常运行
8.一点疑惑
官方SDK代码中关于TRIM的操作,提供了汇编代码,在MDK中直接使用会编译报错。
不得已只好将其改为C语言代码,不知实际效果如何,Demo中未实际使用TRIM的相关功能,只能留待之后的使用中观察了。
代码如下: