🐱作者:一只大喵咪1201🐱专栏:《RTOS学习》🔥格言:你只管努力,剩下的交给时间!本喵默认各位小伙伴都会C语言,我们平时学习C语言都是在Windows环境下学习的,对于程序执行的底层逻辑了解的不是非常清楚,本喵在这里给大家介绍一下,C语言在单片机中是如何执行的。单片机中的C语言🍞CPU与外设🥞Flash🥞SRAM(内存)栈数据段堆🍞变量的初始化🥞局部变量🥞全局变量和静态变量🍞函数🍞指针变量🍞结构体和联合体🍞总结🍞CPU与外设我们知道,单片机也是有CPU的,它负责执行代码,运算数据,以及发出控制信号等功能,而与CPU直接相连的设备我们称之为外设(就是集成芯片)。本喵以STM32F103ZET
周报汇总地址:嵌入式周报-uCOS&uCGUI&emWin&embOS&TouchGFX&ThreadX-硬汉嵌入式论坛-PoweredbyDiscuz! 视频版:https://www.bilibili.com/video/BV1Cr4y1d7Mp/《安富莱嵌入式周报》第320期:键盘敲击声解码,军工级boot设计,开源CNC运动控制器,C语言设计笔记,开源GPS车辆跟踪器,一键生成RTOS任务链表1、键盘敲击声解码https://arxiv.org/abs/2308.01074键盘敲击声被解码的话,我们使用键盘输入密码将被方便的解码出来。这篇文章介绍了一种使用最先进的深度学习模型,以便使用
学习嵌入式Linux是否有必要,取决于你的项目需求和职业发展目标。以下是一些考虑因素:项目需求:如果你的项目需要处理复杂的网络、文件系统、多任务管理等功能,嵌入式Linux可能是更适合的选择。Linux提供了丰富的开源软件包和驱动程序,可以加速开发过程并提供更高级的功能。另外,如果你的项目需要与云服务或其他网络设备进行通信,嵌入式Linux通常具有更好的网络支持和协议栈。应用复杂性:嵌入式Linux适用于需要运行复杂应用程序、图形界面或支持多用户的系统。如果你的应用程序需要高级的用户界面、网络服务、数据库等功能,嵌入式Linux可能更适合。开发人员的技能和经验:如果你已经熟悉嵌入式Linux或
任务与协程区别一个程序可以只有任务、只有协程、二者都有,但不可以通过队列/信号量互相传递数据任务特点任务之间可以互相独立每个任务分配自己的堆栈,提高了RAM使用率操作简单、按优先级抢占式执行抢占容易导致重入(执行任务时被其他线程或进程调用了)协程特点一般用于小型,RAM有限制的处理器上所有协程共用一个堆栈通过一组宏实现的减少了重入问题,但是和任务混用总抢不过人家任务状态运行、就绪、阻塞、挂起任务优先级0--configMAX_PRIORITIES-1,最大值定义在FreeRTOSConfig.h中设置的越小越好,某些特殊情况不得超过32空闲任务优先级为0默认情况,相同优先级按时间切片轮流运行任
RTOS简介1.1背景在大型计算机的世界里,操作系统(OSoperatingsystems)已经存在了相当长的一段时间。最基本的操作系统可以追溯到20世纪50年代。到20世纪70年代中期,操作系统的概念、结构、功能和界面已经非常成熟。微型系统大约在1970年出现。在基于微处理器的设备中迅速应用操作系统似乎是合乎逻辑的。然而到直到20世纪80年代中期,几乎没有任何此类应用采用了可称为正式设计的实时操作系统。诚然,CP/M于1975年发布,后来由英特尔公司投入芯片。但它对实时领域的影响甚微;它的天然归宿是台式机。有两个因素影响了实时操作系统的普及,一是机器的限制,另一个是围绕微型机的设计文化。早期
在嵌入式系统中,我们使用RTOS,而在服务器或个人电脑等性能要求更高的地方我们经常使用Linux,这两者到底有什么区别?本文较详细的介绍了RTOS与Linux系统的特点,并做了简单的对比。一.RTOS1.什么是实时操作系统(RTOS)实时操作系统(RealTimeOperatingSystem,简称RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。提供及时响应和高可靠性是其主要特点。实时多任务操作系统(RTOS)是嵌入式应用软
文章目录CubeMX使用FreeRTOS编程指南一、开发前言1.1软件准备1.2开启FreeRTOS二、配置界面三、系统设置2.1调度内核设置2.2内存管理设置2.3钩子函数配置2.5任务运行追踪配置2.6协程配置2.7软件定时器配置2.8中断优先级配置三、内核裁剪四、创建任务与队列4.1CubeMX下任务创建与配置4.2CubeMX下队列的创建与配置五、创建定时器和信号量5.1CubeMX下定时器的创建和配置5.2CubeMX下信号量的创建和配置六、创建互斥量6.1CubeMX下互斥量的创建和配置七、创建事件标志组7.1CubeMX下事件的创建和配置八、用户常量九、任务通知十、系统内核配置C
文章目录CubeMX使用FreeRTOS编程指南一、开发前言1.1软件准备1.2开启FreeRTOS二、配置界面三、系统设置2.1调度内核设置2.2内存管理设置2.3钩子函数配置2.5任务运行追踪配置2.6协程配置2.7软件定时器配置2.8中断优先级配置三、内核裁剪四、创建任务与队列4.1CubeMX下任务创建与配置4.2CubeMX下队列的创建与配置五、创建定时器和信号量5.1CubeMX下定时器的创建和配置5.2CubeMX下信号量的创建和配置六、创建互斥量6.1CubeMX下互斥量的创建和配置七、创建事件标志组7.1CubeMX下事件的创建和配置八、用户常量九、任务通知十、系统内核配置C
TI驱动进程:例如UART、I2C、电源管理等。 实时操作系统(RTOS)是一种操作系统(OS),旨在提供实时应用进程数据,通常没有缓冲延迟。RTOS中的关键因素是最小的中断延迟和最小的线程切换延迟。RTOS的价值在于它的响应速度或可预测性,而不是它在给定时间段内可以执行的工作量。对于嵌入式设备,一般规则是当应用进程需要执行多个简单操作时使用RTOS。实时操作系统具有以下目标:低延迟。决定论:需要知道处理事情需要多长时间才能确保满足最后期限。结构化软件:使用RTOS,可以以结构化的方式分而治之。直接向应用进程添加其他组件。可扩展性:RTOS必须能够从简单的应用进程扩展到具有堆栈、驱动进程、文档
1RTOS概念及线程的引入1.1RTOS的概念用人来类比单片机程序和RTOS:妈妈要一边给小孩喂饭,一边加班跟同事交流,怎么办?对于单线条的人,不能分心,不能同时做事,她只能这样做:给小孩喂一口饭瞄一眼电脑,有信息就去回复再回来给小孩喂一口饭如果小孩吃这口饭太慢,他回复同事的信息也就慢了,被同事催,你半天都不回复我?如果回复同事的信息要写一大堆,小孩就饿的大哭起来对于眼明手快的人,她可以一心多用,她这样做:左手拿勺子,给小孩喂饭右手敲键盘,恢复同事两不耽误,小孩“以为”妈妈在专心喂饭,同事以为“她在专心聊天”但是脑子只有一个啊,虽然说一心多用,但是谁能够同时考虑两件事?只是她反应快,上一秒钟在