
嵌入式
狂徒张三
997的程序员
展开
-
正点原子ucosIII学习笔记(一)
最近又开了新坑,在学过stm32后,我选择去学学嵌入式操作系统,就从ucosIII开始好了。我看的是正点原子ucosIII的课程。第一节主要是介绍了下裸机跑程序和加操作系统跑程序的区别:裸机的话,一个程序可分为前端和后端。后端就是一个大循环,通过一个死循环,不断的调用HADEWARE里函数的api,前端就是当有中断出现,处理中断就是前端。加上操作系统的话如下图每一个小任务都是一个死循环,...原创 2019-08-13 16:46:39 · 1419 阅读 · 0 评论 -
正点原子ucosIII学习笔记(二)
本节介绍了将ucos移植到stm32开发板上。对于这个移植,个人理解:将现有的一个操作系统比如ucos(官方给了代码)或者自己写的一个操作系统,根据要应用到的芯片,对操作系统进行修改,已能够顺利的跑起来,(根据不同的型号进行不同的修改)。ucos的主体是不需要修改的,要修改的是与cpu相关的文件,几个config文件。这一节就是展示了下怎么进行移植,对于移植文件的具体细节要到后面讲解...原创 2019-08-13 17:01:23 · 818 阅读 · 0 评论 -
UCOSIII学习总结(上)
最近在听原子的ucosIII的网课,之前写了两篇,后面他主要是在讲api函数,单做一个博客有点少,就把知识点都放到一起了。一、任务管理操作系统最重要的一个就是任务管理,操作系统通过切换cpu处理的任务,来达到资源利用率最大的效果。(1)在ucos中使用任务前,先初始化任务,然后再创建任务。(2)任务分休眠态,就绪态,运行态,等待态,中断服务态。(此处挂一个原子的任务状态转换图)当任务遇到...原创 2019-08-24 19:51:20 · 361 阅读 · 0 评论 -
UCOSIII学习总结(中)
一、ucos中断管理:(1)、在ucos中当中断在运行时,如果有更高优先级的任务就绪,要等到中断结束后再运行该任务。我们在编写 UCOSIII 的中断服务程序的时候需要使用到两个函数 OSIntEnter()和OSIntExit()。代码上就是中断服务函数前加个Enter结尾加个Exit(2)、UCOSIII 对从中断发布消息或者信号的处理有两种模式:直接发布和延迟发布两种方式。我们可以...原创 2019-08-24 20:42:01 · 268 阅读 · 0 评论 -
UCOSIII学习笔记(下)
一、消息传递:两个消息任务之间当然要通讯,那么消息是如何进行通讯的。(1)、消息队列:消息一般包含:指向数据的指针,表明数据长度的变量和记录消息发布时刻的时间戳。UCOSIII内只有消息队列没有消息邮箱(其实邮箱就是消息个数只有1的消息队列)注:中断只能用OSPOST发送消息(2)、在 UCOSIII 中对于消息队列的读取既可以采用先进先出(FIFO)的方式,也可以采用后进先出(LIFO)...原创 2019-08-24 21:22:16 · 425 阅读 · 0 评论