自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 驱动分层的一种实现方式(NUTTX为例)

本文对驱动分层的一种实现做了简单的描述,利用C语言的函数指针与结构体实现分层

2022-10-04 16:34:15 246 1

原创 C语言 | 预处理

文章目录预定义符号#define宏定义define替换宏与函数#undef条件编译文件包含其他指令预定义符号​ 由官方定义,一般是字符串常量或者是十进制数字常量。符号样例值含义_FILE_“name”进行编译的源文件_LINE_25文件当前的行号_DATA_“Jan 31 1997”文件被编译的日期_TIME_“18:04:30”文件被编译的时间_STDC_1如果编译器遵循ANSIC,其值为1,否则未定义#define如果de

2021-08-10 21:27:34 206

原创 UCOS内核 | 任务相关的基本概念

嵌入式实时操作系统内存管理操作系统提供内存分配函数,调用完了需要使用内存释放函数把内存还给系统多任务管理任务调度系统,控制任务的启动、运行、暂停和结束等状态,调度算法是满足实时性要求的,对时间非常敏感外围资源管理系统可能用的资源,需要进行合理的裁剪,或者是预留接口通用操作系统与嵌入式操作系统通用操作系统需要将程序搬运到内存中,内存中掉电会丢失嵌入式操作系统使用的内存不多,则是就地存储运行,不需要搬运进程和线程​ 人们把能实现某些功能的代码叫做程序、但是在操作系统中,这些程序不能直接执行

2021-08-09 20:45:18 157

原创 UCOS应用 | 数据通信

全局变量不能实现任务之间的相互关联,时效性较差。当没有行为同步的要求时,传输数据不大,采用全局变量配合关中断的资源同步时一种经济有效的方法。(并且对共享内容的读写不是非常频繁,否则需要考虑大量的数据保护手段)内存数据块一般配合消息队列使用,动态内存管理的办法,管理消息内容数组。消息邮箱具有行为同步功能的通信手段,此类数据通信一般要求接收消息的任务总是在等待消息,一有消息就能在下一个消息产生之前处理完毕。如果双方的执行频度相同,也比较适合。同时操作系统对消息已经进行过互斥处理,双方在时序上互不打扰

2021-08-08 11:38:22 164

原创 UCOS应用 | 资源同步

定义任务对共享资源进行访问的代码段落成为关键段落,各个任务对共享资源的访问必须保证互斥,这样才能保证资源信息的可靠性和完整性,这种使得不同任务访问共享资源时能够确保共享资源信息可靠和完整的措施成为资源同步。资源同步有关中断、关调度、使用互斥信号量、使用计数信号量。另外对于只读特性的共享资源具有天然的完整性和可靠性。可靠性:全局资源的更改不会使得程序出现BUG。完整性:全局资源的读取不会使得程序出BUG。关中断如果需要保护的数据与中断有关,则可以采取关中断的方式。关中断对实时性影响较大,应该使得

2021-08-07 14:53:38 240

原创 UCOS应用 | 任务行为同步

用于行为同步的通信手段行为同步一般有一方为控制方,另一方为被控制方。二值信号量取值只能为0或1的信号量。被控制方总是能够及时响应控制方发出的信号,完成相应的任务,并在下一次信号来临之前进入等待状态。计数信号量在信号量上进行了升级,可以实现一个简单的缓冲,当被控制方响应之后,就将信号量的值减一。事件标志组将若干个二值信号量进行组合,每一个二值信号量都是某个事件是否发生的标志。消息邮箱能够向被控制方提供内容信息(数据或字符串)。类似于二值信号量。消息邮箱就是连接两个任务的桥梁数据采集任务,

2021-08-05 20:53:05 408

原创 UCOS应用 | 任务的设计

任务函数的结构单次执行的任务含义:此类任务只执行一次,执行结束后即自行删除。通常用于“启动任务”。单次执行的任务采用“创建任务函数”来启动。用处:每当需要执行该任务时,就将该任务创建一次,由键盘操作启动你的任务通常采用这种结构。注意:采用此种方式来启动一个任务,除了实时性差意外,还可能有一些后遗症:占用共享资源未释放积压信号量或者消息可能留下未删除干净的废弃变量适合采用“创建任务”的方式来启动的任务,通常时孤立任务,他们不和其他任务进行通信,只使用共享资源来获取信息和输出信息。周期性执

2021-06-26 16:58:03 2780

原创 UCOS应用 | 任务的基本知识

文章目录前言任务至少需要什么任务的特性独立性并发性动态性任务划分任务可调度性分析(速率单调分析RMA)总结前言UCOS是非常经典的一个实时操作系统,关于UCOSII和UCOSIII有一些不同,但是整体思想是一致的。本文就不过多介绍UCOS,直入主题了。任务至少需要什么任务函数:实现功能任务堆栈:CPU的快照,在任务切换时保存或恢复现场任务控制块:任务的动态档案,一般由操作系统管理任务的特性独立性​ 各个任务都是不可见对方的,如果需要信息传输只能进行异步通信,由第三者(信号量、邮

2021-05-30 17:23:35 223

原创 C语言学习笔记 | 动态内存分配

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言总结前言提示:以下是本篇文章正文内容,下面案例可供参考总结提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。...

2021-05-30 17:07:32 104

原创 C语言学习笔记 | 结构体

文章目录前言结构体创建结构体访问结构体存储作为函数参数传递总结前言C语言学习是个很漫长的过程,结构体创建结构体有两种创建方式,一个是打上标签,一个是利用typedef 取得和标签一样的效果,实际使用则是更加像类型名。标签struct TIME{ int hour; float min; double sec;};struct TIME x;struct TIME y[10],*z;类型名typedef struct { int hour; float min

2021-04-20 23:18:24 117

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除