VS Code 是一套轻量级的编辑器,同时也可以通过插件来适配更多的功能。为了让开发者更方便地在 VS Code 上开发 rt-smart 用户应用程序,我们推出了这样一套 RT-Thread Smart VS Code 插件。
支持创建 RT-Thread Smart 工程
支持 CMake、Make、Scons 构建
支持清理工程
支持一键下载
支持一键调试
支持不同开发平台 Linux、Windows
支持自定义调试命令
RT-Thread Smart:Create Project: 创建 RT-Thread Smart 工程
RT-Thread Smart:Settings: 打开 RT-Thread Smart 工程设置
在详细讲解功能特性前,我们先来欣赏一段 rt-smart VS Code快速上手短视频。
视频内容(操作顺序):启动 rt-smart 内核、安装 C/C++ 插件、RT-Thread Smart 插件、Windows 下创建 rt-smart 用户应用程序(scons)、修改用户代码(增加 GPIO LED 控制)、编译、下载、GDB 在线调试等操作。
rt-smart VS Code快速上手视频
VS Code官网下载并安装 VS Code 软件,然后在 VS Code 应用商店中,搜索 RT-Thread Smart, 选择下图所示扩展,点击 安装
即可:
ART-Pi Smart 开发板是 RT-Thread 联合百问科技出品,用于学习和评估 RT-Thread Smart 微内核操作系统
电源输入:5V,500 mA,通过开发板 USB-TypeC(下面)供电。如下图所示,通过测试电脑的 USB 直接对开发板供电
串口连接:下方的 USB-TypeC 接口,既是用作电源供电,同时也是 USB 转 UART 接口,主要用于打印系统的控制台输入和输出
波特率 | 数据位 | 停止位 | 校验位 | 流控 |
---|---|---|---|---|
115200 | 8 | 1 | 无 | 无 |
网络接口:通过路由器和网线(或者通过板载的 rw007 wi-fi 模块),将开发板和测试电脑连接在同一个局域网
ART-Pi-Smart SDK 仓库是 RT-Thread 团队对 ART-Pi Smart 开发板所作的支持包,用于学习和评估 RT-Thread Smart 微内核操作系统,让用户可以更简单方便地开发自己的应用程序。
ART-Pi smart 开发板的 SDK 仓库,主要包括 RT-Thread Smart 的源码,BSP 驱动,应用程序 demo 等。
SDK 下载方法:通过 Git 下载 ART-Pi Smart SDK 包:
git clone https://gitee.com/createshare/ART-Pi-smart.git
rt-smart 采用的工具链为:arm-linux-musleabi 工具链
需要用户自行通过下面网址下载 Linux 版本或 Windows 版本的工具链
链接: 百度网盘 请输入提取码 提取码: ndxq
将下载的工具链,解压到指定的路径 tools/gnu_gcc
下面
在 VS Code上开发 rt-smart 用户应用程序之前,需要先把 rt-smart 内核在开发板上跑起来。由于开发板上的 emmc 已经固化了一版 rt-smart 内核固件,并且开发板上电后,会自动优先启动 rt-smart 内核,故只需要给开发板上电即可。
另外,用户也可以在开发板上电时,通过 u-boot + tftp 或 USB 来加载并运行自己编译出来的 rt-smart 内核固件。
同时,ART-Pi Smart 支持 rt-smart 和 Linux 双系统。即用户也可以在开发板上电时,通过 u-boot 手动输入 run bootcmd_linux
来启动板载的 Linux 系统,进行Linux 相关的学习。
rt-smart 内核跑起来之后,用户就可以在 VS Code上进行用户应用程序的开发,包括:
VS Code下创建用户应用工程
编译用户应用工程
下载用户应用固件到开发板
在 VSCode下通过 gdb 在线调试用户应用代码
这里将以 Windows 环境下使用 VS Code开发 rt-smart 用户应用程序为例。
在 VS Code上通过 RT-Thread Smart 插件,可以很方便地在不同平台上创建 rt-smart 用户应用 APP。
在 VS Code上执行快捷键 Ctrl_Shift+P
, 输入 RT-Thread
关键字,选择 创建 RT-Thread Smart 工程
, 然后按提示执行以下操作:
输入 SDK 根目录
输入工程名称
选择构建工具
Linux 平台支持 CMake、Make、Scons 等构建工具
Windows 平台只支持 Scons 构建工具
以 Windows 环境下使用 VS Code开发 rt-smart 用户应用程序为例
例如,修改 main.c 增加 GPIO 口控制开发板的 LED 灯的应用程序。
#include
#include
#include
#define GET_PIN(PORTx, PIN) (32 * (PORTx - 1) + (PIN & 31))
#define LED_PIN GET_PIN(5,3)
struct rt_device_pin_mode
{
rt_uint16_t pin;
rt_uint16_t mode;
};
struct rt_device_pin_status
{
rt_uint16_t pin;
rt_uint16_t status;
};
int main(int argc, char **argv)
{
rt_device_t pin_dev;
struct rt_device_pin_mode pin_mode;
struct rt_device_pin_status pin_status;
rt_kprintf("hello world!\n");
pin_dev = rt_device_find("pin");
rt_device_open(pin_dev, RT_DEVICE_OFLAG_RDWR);
pin_mode.pin = LED_PIN;
pin_mode.mode = 0;
rt_device_control(pin_dev, 0 ,(void*)&pin_mode);
pin_status.pin = LED_PIN;
pin_status.status = 1; // close led
rt_device_write(pin_dev, 0 ,(void*)&pin_status, sizeof(pin_status));
rt_thread_mdelay(200);
pin_status.status = 0; // open led
rt_device_write(pin_dev, 0 ,(void*)&pin_status, sizeof(pin_status));
rt_device_close(pin_dev);
return 0;
}
1.点击 VS Code左下角的 编译
、清理
或者 下载
工具,会为您自动 编译工程(用户 APP)
、清理工程
或者 下载用户 APP 固件文件到开发板
。
2.编译通过后,会自动生成用户 APP 固件: hello.elf
3.下载用户 APP 固件 hello.elf 到开发板的 emmc 文件系统:/root/bin/
rt-smart 内核跑起来之后,用户可以对用户 APP 进行源码级调试,并且可以在 VS Code上进行 GDB 源码级在线调试。
rt-smart GDB 调试的基本原理:通过 Kernel 来调试用户 APP。即通过 Kernel 上运行 GDB server 和测试电脑(GDB client)配合对用户 APP进行在线调试。
在 VS Code上直接按 F5
快捷键, 即可启动 GDB 在线调试 rt-smart 用户应用程序。
如下图所示,进入调试模式之后,VS Code左侧会自动跳转到 运行和调试
视图,可以查看变量、监视变量、查看调用堆栈、设置断点等常用调试功能。
调试现象:开发板上的绿色 LED 会闪烁一下。
点击阅读原文即可下载 ART-Pi Smart SDK
阅读原文