UCOSIII学习体会

2024-06-04 04:32
文章标签 ucosiii 学习体会

本文主要是介绍UCOSIII学习体会,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  我是从2017年6月23日开始准备学习UCOSIII,并移植到STM32F103上,到2017年7月24日,结束UCOSIII的学习。这个过程肯定有血有泪有欢笑!
  下面谈谈自己的学习体会。参考书籍是Labrosse的《嵌入式实时操作系统μC/OS-III 》、《STM32F1 UCOS开发手册_V2.0》以及战舰里的《ucos-iii知识点总结》,当然还有网上各位大神的博客等。

1、光看书不如边做边看书

   6月30日,我写到——本周最大的问题是怎么将学习的东西运用到实践中?脑袋关于UCOSIII的概念很模糊,以至于不知从何入手。一定要下定决心吃透UCOSIII。
  这就是我前一周光看书,不实践的结果。后来我想想不能只看书,尽管那个时候还不知道如何把书上的内容移植到我的程序里。
  接下来的一周我就按照书上学习的内容从建任务开始,把我的系统分成几个任务,一个任务一个任务的往里面加内容。
  当然不可能一步就成功了,过程中也遇到了许多bug。但是进步是很明显的。
  于是7月7日,我写到——最快的学习方式就是边实践边学。最开始花了一周学习UCOSIII,但是理解都太表面,后一周就开始边移植边学习,遇到问题在看书,理解起来就简单多了。
  后面一段时间都是在解决问题中学习进步的。

2、问题

(1) 系统运行一段时间,就跑死了。

  上网查资料,分析了一整天,最后发现是因为中断了一直在申请内存,但是又没有释放内存,但是内存用光。
  所以,在操作系统里申请内存要小心,一定要及时释放。

(2)关于stm32 HardFault_Handler 异常的处理 死机

参考下面这个网址找出了问题
http://blog.sina.com.cn/s/blog_4aa25f130102v0m8.html 

(3)全局变量的使用

   只允许一个任务更改全局变量。

……

  此外,还有很多要注意的地方。
  本人真的觉得战舰里的《ucos-iii知识点总结》写得不错,解决了许多自己不大清楚的地方。

这篇关于UCOSIII学习体会的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1029065

相关文章

UCOSIII的一些常用函数总结

任务堆栈:存储任务中的调用的函数、局部变量、中断服务程序和CPU寄存器的值。 全局变量的保护: 1.如果只在一个任务中写(或只有一个数据),而在其他任务中只是读取,则可以不用互斥型信号量,最多会造成读取的数据未被完全写完。 2.如果全局变量在多个任务中写,则需要用互斥型信号量保护,这样当有任务申请到互斥型信号量(保护不可重入的程序段)写数据时,其他任务的同一个互斥型信号量必须等待上一个任务的释

STM32F103C8移植uCOSIII并以不同周期点亮两个LED灯(HAL库方式)【uCOS】【STM32开发板】【STM32CubeMX】

STM32F103C8移植uC/OSIII并以不同周期点亮两个LED灯(HAL库方式)【uC/OS】【STM32开发板】【STM32CubeMX】 实验说明 将嵌入式操作系统uC/OSIII移植到STM32F103C8上,构建两个任务,两个任务分别以1s和3s周期对LED进行点亮—熄灭的控制。 获取uC/OSIII源码 链接:https://pan.baidu.com/s/1Axjz1pt

MySQL入门学习-内置函数.一点学习体会

内置函数在 MySQL 中是非常有用的工具。通过对内置函数的学习,我对其功能和用法有了更深入的了解。        总结起来,内置函数提供了各种数据处理和操作的功能。它们可以帮助我们进行数学计算、字符串处理、日期和时间操作、数据类型转换等。通过使用内置函数,我们可以更高效地完成各种数据处理任务,减少代码量,提高数据库操作的简洁性和可读性。 一、以下是一些常用的内置函数举例: 1

GD32F103RCT6/GD32F303RCT6-UCOSIII底层移植(4)消息队列实验

本文章基于兆易创新GD32 MCU所提供的2.2.4版本库函数开发        后续项目主要在下面该专栏中发布: 手把手教你嵌入式国产化_不及你的温柔的博客-CSDN博客        感兴趣的点个关注收藏一下吧!        电机驱动开发可以跳转: 手把手教你嵌入式国产化-实战项目-无刷电机驱动(1)-CSDN博客        BMS电源系统开发可以跳转:暂未放链接  向上代

(学习日记)2024.05.07:UCOSIII第六十一节:User文件夹函数概览(uCOS-III->Source文件夹)第七部分

之前的章节都是针对某个或某些知识点进行的专项讲解,重点在功能和代码解释。 回到最初开始学μC/OS-III系统时,当时就定下了一个目标,不仅要读懂,还要读透,改造成更适合中国宝宝体质的使用方式。在学完野火的教程后,经过几经思考,最后决定自己锦上添花,再续上几章。 这几章想达成目的如下: 能够快速的上手能够控制系统的功能明白移植的过程能够根据需要的功能来裁剪源码 从第六十一章开始的章节都是熟

(学习日记)2024.05.10:UCOSIII第六十四节:常用的结构体(os.h文件)第三部分

之前的章节都是针对某个或某些知识点进行的专项讲解,重点在功能和代码解释。 回到最初开始学μC/OS-III系统时,当时就定下了一个目标,不仅要读懂,还要读透,改造成更适合中国宝宝体质的使用方式。在学完野火的教程后,经过几经思考,最后决定自己锦上添花,再续上几章。 这几章想达成目的如下: 能够快速的上手能够控制系统的功能明白移植的过程能够根据需要的功能来裁剪源码 从第六十一章开始的章节都是熟读

(学习日记)2024.05.09:UCOSIII第六十三节:常用的结构体(os.h文件)第二部分

之前的章节都是针对某个或某些知识点进行的专项讲解,重点在功能和代码解释。 回到最初开始学μC/OS-III系统时,当时就定下了一个目标,不仅要读懂,还要读透,改造成更适合中国宝宝体质的使用方式。在学完野火的教程后,经过几经思考,最后决定自己锦上添花,再续上几章。 这几章想达成目的如下: 能够快速的上手能够控制系统的功能明白移植的过程能够根据需要的功能来裁剪源码 从第六十一章开始的章节都是熟读

(学习日记)2024.05.05:UCOSIII第五十九节:User文件夹函数概览(uCOS-III->Source文件夹)第五部分

之前的章节都是针对某个或某些知识点进行的专项讲解,重点在功能和代码解释。 回到最初开始学μC/OS-III系统时,当时就定下了一个目标,不仅要读懂,还要读透,改造成更适合中国宝宝体质的使用方式。在学完野火的教程后,经过几经思考,最后决定自己锦上添花,再续上几章。 这几章想达成目的如下: 能够快速的上手能够控制系统的功能明白移植的过程能够根据需要的功能来裁剪源码 从第六十一章开始的章节都是熟

(学习日记)2024.04.29:UCOSIII第五十三节:User文件夹函数概览(uC-LIB文件夹)第三部分

写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录,记录笔者认为最通俗、最有帮助的资料,并尽量总结几句话指明本质,以便于日后搜索起来更加容易。 标题的结构如下:“类型”:“知识点”——“简短的解释” 部分内容由于保密协议无法上传。 点击此处进入学

(学习日记)2024.04.28:UCOSIII第五十二节:User文件夹函数概览(uC-LIB文件夹)第二部分

写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录,记录笔者认为最通俗、最有帮助的资料,并尽量总结几句话指明本质,以便于日后搜索起来更加容易。 标题的结构如下:“类型”:“知识点”——“简短的解释” 部分内容由于保密协议无法上传。 点击此处进入学