rt-thread第一个配置程序,初步实现

1、准备rtthread的pack,在官网下载3.1.2和3.1.3的pack,然后安装;
2、这个是在keil 5的MDK上面进行移植的,根据官网的步骤进行的,主要包括三个部分内容,一个是进行安装rt包,一个是进行打印台移植,一个是进行finsh的配置。
3、这个是根据硬石科技的stm32F4的Hal库例程进行修改的;主要实现串口1的发送接收,串口1主要使用到PB6和PB7,因为PA9和PA10在硬石的开发板上面已经用作无刷电机控制使用;波特率115200;B站有视频,他们的例程在他们的论坛上面也开放;
感谢硬石科技的开源例程和视频。讲得比较详细;
4、同时,参考了东方青的猫头鹰的stm32F103的rt视频例程;讲得也很详细和深入;受益匪浅;b站上面有资源;有时间的想深入学习的,建议看完整。
5、同时,之前参考学习了正点原子的stm32视频教程和案例,入门了stm32;
6、同时,先学习一下rt官网的内核视频教程,讲解了线程,同步,信号量,互斥量,邮箱等原理和内容,比较好。
7、本板子用的是stm32F407VE芯片。
//**********************分割线-----------------------------
第一步,登录官网rt-thread
rt-thread第一个配置程序,初步实现_第1张图片
第二步,在资料的文档中心左边,根据例程进行nano移植
rt-thread第一个配置程序,初步实现_第2张图片
按照里面的流程,进行移植。

第三步。
安装了3.1.2和3.1.3的两个pack;这个流程,在猫头鹰的东方青的讲解视频中有;
就是点击rtthread的安装包,然后就直接进行安装了。这个在官网有下载链接。
然后,在mdk5的这个绿色图标中,看下图,安装成功。rt-thread第一个配置程序,初步实现_第3张图片
rt-thread第一个配置程序,初步实现_第4张图片
第四步
打开硬石科技的hal例程的串口例程。
然后在上图的绿色中,选择kernel,先选择这个,先不选shell,后面再选择。这个流程在官网rt中有。出现rtos
rt-thread第一个配置程序,初步实现_第5张图片
第5步,
修改下,添加头文件等等。这强烈建议,先学习东方青的rtthread的视频,B站上面有,讲解了这个文件框架以及运行启动的流程,先执行那个函数,后执行那个函数等等。
主要是添rtthread.h头文件。在main函数和其他需要的函数中,同时要细心。
官网中,也说到有三个文件,需要屏蔽掉,不然和rt的函数冲突。
怎么屏蔽?
加上#if 0------#endif,如图所示。这个在东方青的视频是这么做的,这里先学习。
rt-thread第一个配置程序,初步实现_第6张图片
rt-thread第一个配置程序,初步实现_第7张图片

第六步
在串口函数,或者是board.c文件中,添加rt官网的函数,实现控制台的rt-kprintf功能,以及实现finsh功能。

rt-thread第一个配置程序,初步实现_第8张图片

第七步
在board.c的初始化函数中,添加初始化函数,注意官网的一些变量的名字和硬石科技的变量名字不一样,需要修改下。比如串口的定义的句柄。
rt-thread第一个配置程序,初步实现_第9张图片

第八步,
在main.c中,修改下初始化等函数,需要通读这个工程的文件,知道程序的流程,是怎么进行一步步跳转的。东方青的视频有。需要参考学习。沉下心来。注意加了rt的延时函数,这个官网有讲解。
这个rtdelay和haldelay不一样,东方青的视频有讲解。主要是因为rt系统的tick和hal的默认的tick不一样,如果设置一样的话,可以进行通用,但是需要进行hal的初始化,在board.c中进行初始化。
rt-thread第一个配置程序,初步实现_第10张图片

第九步
用串口调试助手,进行调试。调试界面如下。
这个第一个this board.c----rt_printfKKKKKKKKK!!!
,先打印这个主要是因为在board.c的初始化函数中,定义了这个语句,说明先执行这里。
然后,打印rt的版本信息。这个在一步步执行了这个函数。
如果在maiin函数中,用rt-kprintf输出一些信息,那么会延时1000ms就是1s进不断打印,main作为一个线程。
然后可以用finsh功能,进行输入help
输入ps等命令。
可以看到,ps命令后,有3个线程在运行。

rt-thread第一个配置程序,初步实现_第11张图片
rt-thread第一个配置程序,初步实现_第12张图片
rt-thread第一个配置程序,初步实现_第13张图片

下一步
再整理下,实现多个线程的执行。等等。

你可能感兴趣的:(单片机)