《薛远奎-使用vscode进行rt-thread项目开发使用体验.pptx》由会员分享,可在线阅读,更多相关《薛远奎-使用vscode进行rt-thread项目开发使用体验.pptx(26页珍藏版)》请在三个皮匠报告上搜索。
1、使用vscode进行rt-thread项目开发使用体验Nextpilot飞控开发团队汇报人:薛远奎2024-06-03+薛远奎NextPilot飞控项目核心开发人员中电科某公司无人机控制与智能应用方向专家 2016 电子科大 硕士内容SCIENCE AND TECHNOLOGY对于打算使用VSCode进行RTT项目开发人员以及初学者,这里通过几点给大家提供一些开发经验做参考。l 插件配置l 项目框架示例l 开发配置l 小工具为什么选择RTT+VSCode01需求操作操作系统需求系统需求RT-TRT-ThreadhreadNextPilot飞控项目稳定可靠国产化生态完善文档丰富开发开发需求需求V
2、SCodeVSCode开发环境开发环境开发需求一个界面,整套流程扩展与定制开发高效团队协作uCos、freeRTOS、Nuttx、RT-ThreadRT-Thread Studio、Keil、VSCode一个项目管理多个工程workspaceRTT:RTT-studio插件构建:C/C+、Cortex团队协作:git插件族丰富插件支持C/C+、pythonSCons构建工具扩展与定制内置终端模拟器,避免窗口切换集成终端好用的VSCode做到一个IDE完成RTT嵌入式项目代码编写、管理、构建、调试插件02基本插件配置项目工程结构的组织03BSP目标0102硬件适配生成单个项目通过命令scons-
3、dist 生成项目文件夹可随意拷贝.rt-thread-master|bsp|stm32|stm32f103-fire-arbitrary如果直接在RTT源码进行项目开发n 项目层次不是很清晰n 目标层级太深n 失去了多硬件目标管理能力项目工作区Workspacetarget仿真硬件V1硬件V2硬件V3RTOSAPPTOOLSDOCS.nextpilot.code-workspace rtos target apps docs tools README.md SConscript SConstruct目录结构项目工作区管理项目仿真V3硬件V4硬件在项目根目录下创建xxx.code-worksp
4、ace文件,并配置工作区项目工作区由于更改了BSP路径,为了正常编译,需要对如下配置文件进行修改:n SConstruct(构建):p 修改RTT_ROOT路径;p 修改SDK_ROOT路径;n Kconfig(裁剪):p 更改RTT_ROOT的Kconfig文件路径;p 更改SDK_ROOT的Kconfig文件路径;p 更改驱动库Kconfig文件路径,如stm32/libraries下的Kconfig所在路径n board/linker_scripts(链接):修改链接脚本路径编译与调试04简介RT-Thread Studio插件提供了进行编译、调试、下载的交互式UI。n编译(构建)ENV
5、提供了arm_gcc编译器,路径为:D:/RT-ThreadStudio/platform/env_released/env/tools/gnu_gcc/arm_gcc/mingw/bin/arm-none-eabi-gdb.exen下载ENV提供了下载器工具,例如STLink,D:RT-ThreadStudiorepoExtractDebugger_Support_PackagesSTMicroelectronicsST-LINK_Debugger1.6.0toolsbinSTM32_Programmer_CLI.exen调试gdb-server+debugger例如:ST-LINK_gdb
6、server.exe+arm-none-eabi-gdb.exe参考:VS-Code开发环境搭建配置0102配置ENV路径可以通过安装RT-Thread Studio IDE实现Env工具的自动安装,默认安装在D:RT-ThreadStudioplatformenv_releasedenv。Env工具中包括了Scons、compiler、Kconfig、STLink、gdb等工具。配置launch.json、settings.jsonsettings.json:包括了RTT插件配置,包括了构建工具路径、下载器路径等等;launch.json:用于配置调试工程,包括可执行目标位置、GDB ser
7、ver类型等。RTT_Studio.Env_LocationRTT_Studio.RTT_ROOTRTT_Studio.Toolchain_LocationRTT_Studio.Debuger详细配置launch.jsonlaunch.jsonsetting.jsonsetting.json避免重复劳动在项目开发中,会遇到手动不断重复配置情况:n.vscode文件夹一般不做为Git跟踪目标n 大型项目涉及到很多板级工程,手动创建配置文件较为繁琐setting.jsonsetting.jsonlaunch.jsonlaunch.json自动生成?配置文件自动生成希望每次进行工程构建之前,自动生成
8、配置文件。n 编写python脚本,使用jinja2渲染模板来生成目标文件launch.json.jinjasetting.json.jinjalaunch.jsonlaunch.jsonsetting.jsonsetting.jsonEnvironment()get_template()render()n SConstruct调用python脚本配置文件自动生成python脚本:rtt_vsc_setting.py小工具05代码格式化我们推荐使用clang format进行代码风格的统一。n 在项目根目录创建.clang-format文件;n 在工作区文件增加如下配置:注释我们推荐使用dox
9、docgen进行代码注释。n 安装Doxygen插件;n 在工作区文件增加如下配置:u 文档参考:https:/ 生成字符图案http:/work-science.de/ascii/自动提示VSCode中,通过c_cpp_properties.json文件指定头文件搜索路径n 通过scons-target=vsc命令生成.vscode/c_cpp_properties.json文件;版本控制VSCode中默认使用git进行版本管理。n GitLens+Git Graph;n 写好提交说明,Git Commit Pluginn 使用好rebaseTHANKSFORWATCHINGNextPilot飞控团队