使用git下载RT-Thread的官方源码仓库: https://github.com/RT-Thread/rt-thread
在仓库中的bsp中有RA4M2的示例工程,但是不能直接拿来使用,需要修改一下。
- 在 rtconfig.py 中的交叉编译器需要指定arm-gcc的路径,修改一下
再次编译,结果出现错误找不到 board.h 文件,应该是没包含到包含路径中,修改 board 目录下的 SConscript 脚本
SConscript 修改到如下内容
import os
from building import *
objs = []
cwd = GetCurrentDir()
list = os.listdir(cwd)
CPPPATH = [cwd]
src = Glob('*.c')
objs = DefineGroup('', src, depend = [''], CPPPATH = CPPPATH)
for item in list:
if os.path.isfile(os.path.join(cwd, item, 'SConscript')):
objs = objs + SConscript(os.path.join(item, 'SConscript'))
Return('objs')
用 RASC 工具编辑 configuration.xml 文件
将JTAG 下载模式改为 SWD 下载模式
删除其他外设,只留下io和uart9,uart9的名字设置成g_uart9,TXRX管脚设置成P109和P110
进入menuconfig界面关闭spi和uart0,启用uart9(使用+和-进行上下移动,部分终端工具中使用上下移动是无效的)
scons 编译成功
scons 是支持VSCode补全导出的,不需要依赖 compile_commands.json 文件
因为scons编译比较慢,这里写一个mybuild.bat脚本转为cmake工具链后转为Ninja多核编译加速
[url=home.php?mod=space&uid=70594]@echo[/url] off
:: cmd /c scons
:: 转 cmake 转 Ninja 后编译
cmd /c scons --target=cmake
copy /Y memory_regions.ld build
cd build
cmake -G Ninja ..
ninja
cd ..
:: VSC 补全
cmd /c scons --target=vsc
cmd /c scons --target=vsc
下载到开发板
烧录完没有现象,查阅文档需要使用Keil来编译工程,gcc工具链暂时没有适配,keil编译烧录太慢,后面还是准备使用瑞萨官方的RASC来配置FreeRTOS继续项目,如果各位大佬有办法解决编译速度太慢的问题,还请不吝赐教。
|