![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式软件架构学习
文章平均质量分 59
HeartRain_大西瓜
有时候来不及沉淀,岁月总是跑在灵魂的前面,好在还有一点信念,陪我们完成每一天,别忘记心中的少年;
展开
-
嵌入式软件架构七
前言: 在多线程实时系统中,一项工作的完成成往往可以通过多个线程协调的方式共同来完成,那么多个线程之间如何 “默契” 协作才能使这项工作无差错执行?例如一项工作中的两个线程:一个线程从传感器中接收数据并且将数据写到共享内存中,同时另一个线程周期性的从共享内存中读取数据并发送去显示,下图描述了两个线程间的数据传递:韦东山老师视频学习链接嵌入式软件架构一嵌入式软件架构二嵌入式软件架构三嵌入式软件架构四嵌入式软件架构五嵌入式软件架构六线程的同步方式有多种,分别为信号量、互斥量、事件集。信号原创 2022-02-22 09:53:56 · 1451 阅读 · 0 评论 -
嵌入式软件架构六
前言从裸机编码分析其处理问题的局限以及不足,引入了RTOS,本节主要说明RTOS任务是如何管理调度的。韦东山老师视频学习链接嵌入式软件架构一嵌入式软件架构二嵌入式软件架构三嵌入式软件架构四嵌入式软件架构五RT-Thread线程管理的主要功能是对线程进行管理和调度,系统中总共存在两类线程,分别是系统线程和用户线程,系统线程是由RTT内核创建的线程,用户线程是由应用程序创建的线程,这两类线程都会从内核对象容器中分配线程对象,当线程被删除时,也会从对象容器中删除,而每个线程都有重要的属性,线程控制块原创 2022-02-22 09:31:30 · 1932 阅读 · 0 评论 -
嵌入式软件架构五
前言前四节主要分享了单片机裸机开发的学习心得以及工作经验与一些源码,本节开始分享实时操作系统RTOS的原理。韦东山老师视频学习链接嵌入式软件架构一嵌入式软件架构二嵌入式软件架构三嵌入式软件架构四1. RTOS的内核组成部分以RT-Thread内核为主介绍RTOS内核的组成;内核是操作系统最基础最重要的部分,内核处于硬件层之上。RT-Thread内核由以下几个部分组成:线程调度时钟管理线程间同步线程间通信内存管理IO设备管理...原创 2022-02-21 17:27:07 · 749 阅读 · 0 评论 -
嵌入式软件架构四
前言: 本文是通过学习韦东山老师的嵌入式开发框架系列课程第四课,主要说明各个任务、各个系统直接如何分层实现,让整个系统实现双向解耦,即纵向、横向解耦,这样实现的代码后期维护起来非常方便,代码可读性也很强,扩展性非常好。韦东山老师视频学习链接嵌入式软件架构一嵌入式软件架构二嵌入式软件架构三1、本文通过学习嵌入式系统的分层思想结合自身工作中的经验分享以NB-IoT模块为例的分层思想,一般在系统设计中可将系统按照业务功能分为功能模块,也就是分为子系统或者模块,再将模块进行横向分层,可分为驱动层、中间管理原创 2022-02-19 16:55:37 · 6117 阅读 · 0 评论 -
嵌入式软件架构三
前言: 通过对韦老师的逻辑架构的学习,再结合工作中实际的经验以及在《嵌入式软件架构一》中提到的那位大佬的逻辑代码中任务调度的逻辑,分享自己的理解以及任务的调度管理。一、任务管理原理任务管理总共分为:任务创建、删除任务、设置任务间隔、任务调度;1、定义一个函数指针作为任务的入口函数与任务结构体typedef void (*TASK_FUN)(INT32U para);// 任务项定义typedef struct{ INT8U Used; // 使用原创 2022-02-19 14:03:31 · 509 阅读 · 0 评论 -
嵌入式软件架构二
说明:近期通过学习韦东山老师的裸机与RTOS再次强化了软件设计思想,因此特通过此博客进行记录。韦东山老师学习资料链接1、上一节提到使用定时器的事件驱动方式调度任务依然有缺陷,主要的缺陷有一旦某个函数执行的时间超长,就会有如下后果:影响其他函数;延误整个时间基准;上一节的链接地址改进方法是在定时器中断中只负责每个任务当前时间的减减,而任务调度放在主循环中,这种方式情况下,时间基准不会被耽误,但是A 、B 、 C的调用再次退化为轮询方式,A、B、C相互之间有影响,每个任务运行的时间不能过长,不能被原创 2022-02-17 17:05:03 · 353 阅读 · 0 评论 -
嵌入式软件架构一
前言:随着工作年限的延长,已经不能满足于刚毕业时单纯的学习某一个知识点就能解决问题了,在工作中需要对行业的标准以及发展沉淀并积累。嵌入式开发同样如此,不能满足于功能的实现,而是整个系统架构的设计,因此操作系统原理的掌握以及分层思想是尤为重要的,近期通过学习韦东山老师的裸机与RTOS再次强化了软件设计思想,因此特通过此博客进行记录。韦东山老师学习资料链接一、裸机编程思想1.1 回想刚参加工作的时候,看到同事编写的一个逻辑代码,当时感觉就是太牛了,而我当时只是处于while(1)的死循环中,人家不仅有模原创 2022-02-17 16:25:55 · 952 阅读 · 0 评论