匠心创D133EBS 的RT_Thread使用记录
硬件,文档基于立创衡山派【立创·衡山派D133EBS开发板】GPIO框架使用 | 立创开发板技术文档中心
仅做个人学习记录
拉取SDK源码
在英文路径下新建文件夹(不包含中文)
git clone --depth=1 https://gitee.com/lcsc/luban-lite.git
成功后出现文件夹
在VSCode中打开该文件夹
在VSCode中打开终端,会自动跳转到ArtInChip终端
OneStep拓展
OneStep 是 ArtInChip (匠心创)对 scons 工具的二次封装的总称,在基础命令上开发了一组更高效和方便的快捷命令, 以达到任意目录、只需一步的目的
在 CMD 或者 ENV 窗口启动后,OneStep 命令已经生效,在其中可以从任意目录执行以下命令,包括:
lunch
:选择方案m
:编译SDKc
:清除SDK编译过程中产生的文件,注意:清除后就需要从头编译cr
:跳转到SDK根目录等me
:打开 menuconfig 进行配置
SCons 是一个基于 Python 脚本的通用开发环境,类似于 Make 工具,用于构建和编译整个SDK。
scons -c
:清除构建文件scons -h
:打开帮助
列出板级配置文件list
list指令:

列出板级配置文件,每个文件都为专用文件,在rt-thread的源代码上进裁剪适配板子的硬件设施,如内存,基础外设类目、数量等。后续的编写程序,编译工程文件都是在这个板级配置文件的基础上进行增删改。所以此文件极为重要,是基础中的基础
选择板级配置文件lunch:
d13x_JLC_rt-thread_helloworld
此为衡山派移植RT-Thread的专用板级配置文件!!!
lunch 3
加载板级配置文件到终端,接下来的编写代码,配置工程都是链接这个文件进行
编译:
scons -j16
也可以用快捷键ctrl+shift+B,选择命令
成功后,镜像路径
查看所有命令
h
烧录
驱动编写
整个SDK使用的是由Scons文件构建起来的编译框架!
SCons 是一套由 Python 语言编写的开源构建系统,类似于 GNU Make。它采用不同于通常 Makefile 文件的方式,而是使用 SConstruct 和 SConscript 文件来替代。这些文件也是 Python 脚本,能够使用标准的 Python 语法来编写。所以在 SConstruct、SConscript 文件中可以调用 Python 标准库进行各类复杂的处理,而不局限于 Makefile 设定的规则。
SCons 用户手册
驱动文件夹内文件结构
驱动.c
SConscript
文件的作用是将当前文件夹中的文件加入到编译组中,使当前的文件可以被编译。
Kconfig
文件是menuconfig菜单的基本配置文件,菜单是根据menuconfig的配置进行生成的!
在rt-thread/helloworld路径下添加驱动文件夹user_led
文件夹下再添加SConscript,Kconfig 文件

Kconfig
在Kconfig中的添加的组件,保存后在终端配置menuconfig会出现在menuconfig选项中
1、menuconfig中选择Turn on the user LED flashing
2、rtconfig中自动生成USER_LED_ON定义
menuconfig
终端输入menuconfig,进入配置
选择后保存
rtconfig.h
保存后rtconfig.h会自动生成定义该描述组件的宏定义,用于之后的条件编译
SConscript
在SConscript中
编译scons -j16,烧录后就可以使用用户编写的驱动
Kconfig文件
控制着menuconfig菜单的选项,直接关联着\luban-lite\rtconfig.h
文件中相关定义的增加和删减!SConscript文件
控制着是否将源文件加入编译,可以引入rtconfig变量
进行搜索和检查\luban-lite\rtconfig.h
文件中相关定义,进行各种操作!
相关逻辑如下
用户进入menuconfig菜单进行配置相关的选项并且保存修改
\luban-lite\rtconfig.h 文件中将会出现所对应的相关定义
SConscript文件将会根据rtconfig.h里面的定义进行判断是否加入源文件编译
在SDK编译的时候则会自动检查SConscript文件是否有能够加入编译的源文件
Env 是RT-Thread推出的开发辅助工具,针对基于RT-Thread操作系统的项目工程,提供编译构建环境、图形化系统配置及软件包管理功能。其内置的 menuconfig 提供了简单易用的配置剪裁工具,可对内核、组件和软件包进行自由裁剪,使系统以搭积木的方式进行构建。
LVGL