社区导航

 

搜索
查看: 613|回复: 1

[原创] 【RT-Thread读书笔记】3. RT-Thread 学习4-5章读后感

[复制链接]

475

TA的帖子

1

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2019-4-22 22:45 | 显示全部楼层 |阅读模式
本帖最后由 传媒学子 于 2019-4-22 22:46 编辑


【RT-Thread读书笔记】3. RT-Thread 学习4-5章读后感


第四章
这一章内容较少,主要是打个铺垫,教我们如何新建keil工程,以及文件组的布局,以及如何设置一些参数。

第五章
这一章,主要讲的是裸机线程与多线程系统的定义和区别。这里需要我们认真体会一下,为后边RTOS的学习打下一个基础。
裸机系统通常是指没有采用RTOS的系统,一般分为轮询系统和前后台系统。

轮询系统:即常见的先初始化各个硬件模块,然后在while(1)中不断轮询各个任务。

例程:

  1. int main(void)
  2. {
  3.     /* 硬件相关初始化 */
  4.     HardWareInit();

  5.     /* 无限循环 */
  6.     while (1)
  7.     {
  8.          /* 处理事情1 */
  9.         DoSomething1();
  10.         
  11.         /* 处理事情2 */
  12.          DoSomething2();
  13.          
  14.          /* 处理事情3 */
  15.         DoSomething3();
  16.     }  
  17. }
复制代码


优点是:严格顺序执行。缺点是:如果遇到多线程任务时,往往会造成阻塞;有一个任务长时间卡在这里,系统就无法继续轮询下去。

在此基础上,加上中断,便是前后台系统。前后台系统能够打断主函数中的大循环,插入一些紧急的任务。加上中断嵌套,即可满足很多应用。

例程:


  1. int flag1 = 0;  
  2. int flag2 = 0;

  3. int main(void)
  4. {
  5.     /* 硬件相关初始化 */
  6.     HardWareInit();

  7.     /* 无限循环 */
  8.     while (1)
  9.     {
  10.          /* 处理事情1 */
  11.         DoSomething1();
  12.         
  13.         /* 处理事情2 */
  14.          DoSomething2();
  15.          
  16.          /* 处理事情3 */
  17.         DoSomething3();
  18.     }  
  19. }

  20. void ISR1(void)
  21. {
  22.     flag1 = 1;
  23.     DoSomething4();
  24. }

  25. void ISR2(void)
  26. {
  27.     flag1 = 1;
  28.     DoSomething5();
  29. }
复制代码


优点:克服了单纯轮询系统只能按大循环中顺序执行的弱点。

缺点:中断服务函数依然是一个顺序执行块,如果在中断服务函数中的事件占用的时间过长,系统主循环中的任务不能得到及时处理,实时性还是很差。如果主函数中有显示函数,则会造成显示中断。

因此,为了克服上述缺点,并继承上述优点,便出现了多线程系统,也叫RTOS。

多线程系统的事件响应也是在中断中完成的,但是事件的处理是在线程中完成的。线程也具有优先级,提高了系统的实时性。

多线程的每个线程都相当于一个小的while(1)无线循环,每个线程相互独立,互不干扰,后边会介绍线程中如何共享变量,传递信息。

多线程会需要额外的RAM ROM来保存相关线程的上下文(函数运行所需要的环境),并在线程被启用的时候供系统使用。

下面是三种系统的区别:
1.JPG

虽然,RTOS确实显得高大上,但是不得不说一下,三种类型其实都有各自的使用场合。只是,RTOS的使用是一种趋势,但绝不是说,其它两种就不好了。大家要在自己的项目中,根据具体需求来决定使用哪种模型。

此内容由EEWORLD论坛网友传媒学子原创,如需转载或用于商业用途需征得作者同意并注明出处


来源:EEWorld 其他嵌入式操作系统板块,转载请附上链接


回复

使用道具 举报

34

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-4-23 07:01 | 显示全部楼层


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 /3 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2019-8-20 12:54 , Processed in 0.102957 second(s), 17 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表