瑞萨单片机论坛
直播中

知之为知之zhl

4年用户 99经验值
擅长:可编程逻辑 电源/新能源
私信 关注
[经验]

【RA4M2设计挑战赛】适配 RT-Thread(env方式)开发 RA4M2

使用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

下载到开发板

烧录完没有现象,查阅文档需要使用Keil来编译工程,gcc工具链暂时没有适配,keil编译烧录太慢,后面还是准备使用瑞萨官方的RASC来配置FreeRTOS继续项目,如果各位大佬有办法解决编译速度太慢的问题,还请不吝赐教。


更多回帖

发帖
×
20
完善资料,
赚取积分