RT-Thread系列
文章目录
一、准备工作(已完成)
完成证明如下
MDK-ARM 5.27(正式版或评估版,5.14 版本及以上版本均可)
已下载安装 STM32F103 pack 文件:
二、初识RT-Thread(已完成)
完成证明如下:
1、已下载好RT-Thread Simulator例程
2、仿真模拟后进入UART#1窗口,分别输入version、help等命令
3、系统启动代码及其用户入口代码
(1)系统启动代码
int $Sub$$main(void)
{
rt_hw_interrupt_disable();
rtthread_startup();
return 0;
}
通过视频学习,我了解到$sub$$
是MDK的一个扩展功能,通过这个扩展功能系统中可以出现两个main函数,而$sub$$main()
是真正的main函数。
(2)用户入口代码
int main(void)
{
/* user app entry */
return 0;
}
由于$sub$$main()
函数可以让用户不用去管 main() 之前的系统初始化操作,而直接在main函数里实现用户需要完成的功能代码编写。
4、在UART#1 中输入 msh 命令:led 实现跑马灯
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FUuHMdsA-1625103340247)(C:\Users\xiaoyan\AppData\Roaming\Typora\typora-user-images\image-20210618173932060.png)]
5、对RTOS的初步认识
- RTOS,即实时操作系统,实时,也就是当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。
(1)多路性。实时信息处理系统与分时系统一样具有多路性。系统按分时原则为多个终端用户服务;而对实时控制系统,其多路性则主要表现在经常对多路的现场信息进行采集以及对多个对象或多个执行机构进行控制。
(2)独立性。实时信息处理系统与分时系统一样具有独立性。每个终端用户在向分时系统提出服务请求时,是彼此独立的操作,互不干扰;而在实时控制系统中信息的采集和对对象的控制,也彼此互不干扰。
(3)及时性。实时信息系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级、百毫秒级直至毫秒级,甚至有的要低于100微秒。
(4)交互性。实时信息处理系统具有交互性,但这里人与系统的交互,仅限于访问系统中某些特定的专用服务程序。它不像分时系统那样能向终端用户提供数据处理服务、资源共享等服务。
(5)可靠性。分时系统要求系统可靠,相比之下,实时系统则要求系统高度可靠。因为任何差错都可能带来巨大的经济损失甚至无法预料的灾难性后果。因此,在实时系统中,采取了多级容错措施来保证系统的安全及数据的安全。
- 最大中断禁止时间和任务切换时间是评价一个RTOS实时性最重要的两个技术指标。下面是RTOS的基本概念: