rt-thread加一个库
背景
官方软件包里没有的
可以以库或组件形式加入
本次仅为了验证,加到库
过程
下载源码 假设为 lib_demo
自己的板子目录为bsp/stm32
代码目录结构
bsp/stm32librarieslib_demo //新建文件夹src //把lib_demo里源码文件放进来inc //把lib_demo里头文件放进来SConscript //编译脚本
写编译脚本 SConscript
from building import *cwd = GetCurrentDir()#path 定义头文件路径,根据实际修改
path = [ cwd + '/inc',cwd + '/inc/lib_demo',
]# 要编译的源文件路径,根据实际修改
src = Glob('src/*.c') + Glob('src/lib_demo/*.c')# 可能依赖不同的库,根据实际修改
group = DefineGroup('Libraries', src, depend = ['RT_USING_LIBC'], CPPPATH = path)Return('group')
在根目录下的 SConscript 里包含 lib_demo 的SConscript
可以加print() 打印,确认编译到了
结尾处返回前,加
objs = objs + SConscript(os.path.join(cwd, 'xxx/libraries/lib_demo/SConscript'))
如果依赖libc,注意在 rtconfig.h 里的宏 RT_USING_LIBC 需要定义
调试
scons --verbose
输出编译过程的详细信息
参考
- deepseek
- https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/README