根据教程资料登陆网站 https://ramcu.cn/lists/21.html 下载rasc工具和pack包,不过是在某盘下载,速度太慢,建议使用工具去GitHub下载:https://github.com/renesas/fsp/releases/tag/v4.2.0
下载完毕后安装rasc工具、解压pack包,得到A4M2的svd文件
至此,准备工作完成
pip install pyocd
pyocd.yaml
来指定 pack 包的位置(这里放在了Demo/tools的文件夹)pack:
- ./tools/Renesas.RA_DFP.4.1.0.pack
运行一行命令来查看pack是否导入成功 pyocd list --targets | grep A4M2
关于rasc的使用在软件的help中的 Quick Start Guide
很清楚
不过在使用中发现一个小细节,rasc的软件中貌似只能新建工程和导入e2studio工程,阅读入门文档得知对于cmake工程需要命令行来启动rasc配置现有的工程文件。
对于我这种懒癌患者,那么长的命令懒得敲。。所以写了一个Windows右键菜单的拓展启动rasc(这里是4.1.0版本的安装路径,其他版本需要修改路径)
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\SystemFileAssociations\.xml\shell\Item0]
"MUIVerb"="Use rasc open"
"Icon"="C:\Renesas\RA\sc_v2022-10_fsp_v4.1.0\eclipse\rasc.exe ,0"
[HKEY_CLASSES_ROOT\SystemFileAssociations\.xml\shell\Item0\command]
@="C:\Renesas\RA\sc_v2022-10_fsp_v4.1.0\eclipse\rasc.exe --compiler GCC \"%1\""
在 CMakeLists.txt
中配置 CMAKE_FIND_ROOT_PATH
变量指向安装的arm-none-eabi的bin目录
cmake生成ninja编译脚本
ninja 编译工程
pyocd烧录程序
直接在vscode中打开工程目录,vscode中的cmake插件可以直接接管代码补全等。
接下来编写工程文件,后缀为 code-workspace
的文件
{
"folders": [
{
"path": "."
}
],
"settings": {
/* 文件排除 */
"files.exclude": {
// 文件夹
"**/.settings": true,
"**/Debug": true,
"**/Objects": true,
"**/objects": true,
"**/Listings": true,
"**/listings": true,
"**/Output": true,
"**/output": true,
// 文件
"**/*.map": true,
"**/.config*": true,
"**/.project*": true,
"**/.cproject*": true,
"**/*.POMIN": true,
".gitattributes": true
},
/* 编码 */
"files.encoding": "utf8",
/* 字体 */
"editor.fontFamily": "Consolas, OPPOSans",
/* 自定义 Shell */
"terminal.integrated.profiles.windows": {},
/* 默认 Shell */
"terminal.integrated.defaultProfile.windows": "PowerShell",
/* 代码风格 */
"C_Cpp.formatting": "clangFormat",
"C_Cpp.clang_format_style": "{ BasedOnStyle: Google, IndentWidth: 4 }",
/* 补全模式 */
"C_Cpp.default.intelliSenseMode": "gcc-x86",
/* c/cpp 标准 */
"C_Cpp.default.cppStandard": "c++14",
"C_Cpp.default.cStandard": "c99",
/* c/cpp 宏 */
"C_Cpp.default.defines": [],
"C_Cpp.default.compilerPath": "D:/Maker/Console/arm-gcc/bin/arm-none-eabi-gcc.exe",
/* c/cpp 包含 */
"C_Cpp.default.includePath": ["${workspaceFolder}/**"],
"C_Cpp.default.forcedInclude": [],
// "C_Cpp.default.compileCommands": "${workspaceFolder}/build/compile_commands.json",
"cortex-debug.variableUseNaturalFormat": false,
"files.associations": {
}
},
"tasks": {
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
/* 命令 & 参数 */
"command": ["ninja"],
"args": ["-C", "build"]
}
]
},
"launch": {
"version": "0.2.0",
"configurations": [
{
/* launch 任务名字 */
"name": "RA4M2 pyocd dbg",
/* cortex-debug */
"type": "cortex-debug",
/* 工作目录 */
"cwd": "${workspaceRoot}",
/* 调试对象 */
"executable": "./build/CMakeFiles/FSP_Project.elf.dir/FSP_Project.elf",
/* 请求种类 */
"request": "launch",
/* 入口点 */
"runToEntryPoint": "main",
/* 服务器种类 */
"servertype": "pyocd",
/* 目标芯片 */
"targetId": "R7FA4M2AD",
/* svd 路径 */
"svdFile": "./tools/R7FA4M2AD.svd",
"showDevDebugOutput": "both",
/* 预执行任务 */
"preLaunchTask": "build",
/* pack 包目录 */
"cmsisPack": "./tools/Renesas.RA_DFP.4.1.0.pack"
}
]
}
}
然后F5一键启动调试,在开始调试时,会自动调用工作区文件中的 preLaunchTask 指向的任务,也就是 ninja -C build
之后搭配Cortex-debug工具调用pyocd进行烧录与调试
更多回帖