最近开始学习RT-Thread系统,用来代替之前的keil开发。RT-Thread 是国人以 Apache License v2 开源许可发布的物联网操作系统。RT-Thread方面的知识,具体参阅RT-Thread的官方论坛(https://club.rt-thread.org/index.html)。我在这里说说自己初步使用这个系统进行开发的过程。
首先是下载RT-Thread的开发环境。下载地址:
https://gitee.com/rtthread/rt-thread/tags
我选择的是4.04版。下载完成后,就开始安装。安装过程很简单,不需要太多的设置,按照提示操作就行。安装完成后,启动这个开发IDE。启动后的画面:
很显然,这是一个eclipse风格的页面。
在建立新工程之前,需要下载一些东西,比如MCU类型、开发板类型等和开发有关的东西。首先确认下载资源,通过菜单设置下载源为gitee,因为github连接通常不稳定,所以选择我们自己的gitee。
创建新RT-Thread项目,
我手里有一块NUCLEO-G070RB的开发板,所以需要下载对应型号的MCU开发包及开发板对用的开发包。在厂商或者系列的下拉列表框中,点击“添加更多”,弹出SDK管理窗体
因为NUCLEO-G070RB开发板使用的是STM32G070,已经被默认安装了,所以不需要专门安装了。如果你手里的开发板是其它类型的处理器,那就选择对应的处理器型号。
在Debugger_Support_Packages中,选择ST-LINK_Debugger,因为NUCLEO-G070RB开发板使用ST-LINK完成下载,所以这个ST-LINK_Debugger包也是必须要安装的。
接下来安装开发板。
在“Board_Support_Packages”下面找到我用的开发板型号STM32G070-ST-NUCLEO。
选择完必要的资源包后,点击“安装资源包”,开始安装。安装完成后,那些被选中的资源包的状态就会变成有绿色标记的“Installed”。表示已经安装成功,可以使用了。
现在,我的开发环境中有了MCU和开发板的支持,就可以尝试进行简单的测试了。
重新创建一个RT-Thread测试工程,工程名称设为“LED”,“基于开发板”模式,从开发板下拉列表中选择“STM32G070-ST-NUCLEO”,调试器选择“ST-LINK”,接口选择“SWD”,
点击“完成”。
创建成功后,工程区,出现这个LED工程,打开“Application”目录下的main.c,代码区会出现默认编好的代码
虽然是第一次开始用RT-Thread开发,但是看到以下这些代码,
int main(void)
{
int count = 1;
/* set LED0 pin mode to output */
rt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT);
while (count++)
{
rt_pin_write(LED0_PIN, PIN_HIGH);
rt_thread_mdelay(500);
rt_pin_write(LED0_PIN, PIN_LOW);
rt_thread_mdelay(500);
}
return RT_EOK;
}
哈哈哈,应该也不是很难理解的哈。
rt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT); 这句是设置GPIO模式
rt_pin_write(LED0_PIN, PIN_HIGH);这句是让LED0_PIN所在的管脚输出高
rt_thread_mdelay(500);这个延时
rt_pin_write(LED0_PIN, PIN_LOW); 这句是让LED0_PIN所在的管脚输出低
因为开发板已经被指定,所以LED0_PIN所在的管脚肯定是没有问题的。
什么也不做,马上编译、下载试试吧。
点击工具栏中的那个小榔头,控制台会输出编译过程信息。
如果没有错误,就可以下载测试了。连上开发板,点击菜单“帮助”中的“设备管理器”,
看到“USB串行设备”,确认没问题,ST-LINK可以使用了。
点击工具栏中的下载图标(红色标记的图标),下载过程中,控制台会有输出信息
提示信息中有“File download complete”,表示下载成功了。然后转到开发板上,按下“黑色”复位按钮。如果看到复位按钮旁边的第二个LED闪动,表明程序已经正常运转了。
这样,在RT-Thread系统上的第一个测试程序就已经正常结束了。是不是很简单,也没有那么复杂?当然,这只是一个尝试,真正的RT-Thread开发,还需要学习RT-Thread的很多知识。良好的开端,是一个好的激励,让我们继续深入学习RT-Thread开发吧。