admin 管理员组

文章数量: 1086019


2024年5月6日发(作者:react purecomponent)

uCOS 学习随笔 StepbyStep‐1 Project: fira‐mirosot‐robot

uCOS 学习随笔 StepbyStep‐1

——构建模板(基于STM32控制的第四代圆梦小车)

一、 序

基于第四代圆梦小车 —— FIRA 设计了一个使用STM32的控制板(详细介绍见项目中

的说明: Introduction B ‐ Hardware of the Smart )。

既然硬件从51升级到ARM,软件也应该相应升级,似乎不能再编写那种简单的轮询调

度程序,也应该相应升级到基于操作系统编程。

按STM32的规模和性能,以及小车的控制需求,实时多任务操作系统 uCOSII 应该是不

二的选择,不论从其性能和功能考虑,还是从学习角度考虑,uCOSII 都很适合。

首先,它是开源的,有丰富的资源。

其次,它是可靠的,符合正式的工业控制、产品设计需求。

小车所面对的是那些学习相关专业的大学生,作为他们学习的辅助工具,趣味性只是为

了降低学习的枯燥性,不是目的。他们借助这个平台是为了积攒应付未来工作的能力,所以,

学习内容的实用性是必须考虑的。

本人从未基于操作系统编写嵌入式程序。

开始使用 MCU 的时候,MCU 的内存太小,256字节 RAM ,2K字节 ROM,能勉强把

程序装入就不错了,连 C 语言都不敢选择。

而且,那时好像也没有 RTOS(Real Time Operation System),或者是由于信息交流渠道

匮乏,不知道有 RTOS。

既然我提供了这个平台,也借此机会尝试一下,和大家一起学习使用 uCOSII。(从单片

机应用升级为嵌入式应用 ^_^)

第 1 页 共 19 页

uCOS 学习随笔 StepbyStep‐1 Project: fira‐mirosot‐robot

二、Step1想要得到什么

?(需求分析)

第一步我想得到的是:

1) 如何建立一个基于 uCOSII 的编程环境(目录、文件组织);

2) 如何基于IDE(IAR或RvMDK)建立一个工程,能够产生可以运行的程序;

3) 得到一个“干净的”、可以作为模板的uCOSII程序组(Project);

4) 通过上述过程初步理解在 uCOSII 下如何编写应用程序。

之所以要把“如何建立……”作为需求,而不是找一个现成的模板或示例程序修改、添

加自己的功能,是因为看了许多这种程序,感觉“极不可靠”!因为程序中有太多的东西不知

道为何而存在?不知道为何而被注释掉?似乎这些东西都像“定时炸弹”,早晚会给你的程序

带来麻烦。

同时,也给自己理解程序的构成和运行机制带来困扰,既然是学习,就应该知其然、知

其所以然,否则也谈不上“掌握”,更不敢在日后的工作中应用(如果是打工,也许还敢试试,

如果是用自己的钱做产品、项目,我想你一定不敢用),如此则和做此事的初衷相悖了。

三、如何入手?

uCOS的书有很多,也看了许多,但多数都是解析操作系统本身的,或者是如何移植,鲜

有书籍、资料教你如何在操作系统下编程。

实际上,对于学习者,特别是初学者,更多需要的是学会如何在一个移植好的系统下编

程,等到能基于操作系统实现自己的功能后,才会有心思去探究操作系统是如何在自己的

MCU 上运行的(移植),以及那些神秘的系统功能是如何实现的(了解系统函数及运行机制)。

而且这种探究也是有选择性的,首先是自己用到的功能才有兴趣去研究,否则如坠云雾。

其次,取决于自己所扮演的角色,如果只是学习一下,那只需泛泛了解,有个定性的认识即

第 2 页 共 19 页


本文标签: 学习 程序 升级