参照正点原子FreeRTOS视频教程和stm32f4 FreeRTOS开发指南,首次接触操作系统,做笔记方便回顾 目录如何移植1.复制粘贴2.工程添加3.路径添加4.将非源码文件添加和解决其他编译问题5.修改system文件 如何移植FreeRTOS的源码可于购买开发板后赠与的光盘内找到,路径: A盘->软件资料->FreeRTOS学习资料->FreeRTOS源码,之后点击程序下
转载
2024-09-27 09:24:36
217阅读
1.1 初识 FreeRTOS 1.1.1 什么是 FreeRTOS? 我们看一下 FreeRTOS 的名字,可以分为两部分:Free 和 RTOS, Free 就是免费的、 自由的、不受约束的意思, RTOS 全称是 Real Time Operating System, 中文名就是实时操作系统。可以
上一版本移植并没有写的很详细,只是将改好的代码贴上去,今天更新一版,附带资源。上一版本用的是FreeRTOS V10.0.1.这一版采用了最新的FreeRTOS V10.3.1在正确移植FreeRTOS的工程中Libraries文件夹下创建FreeRTOS-TCP文件夹用来存放TCP源码,将FreeRTOS-Plus文件源码中FreeRTOS-Plus\Source\FreeRTOS-P
一:架构概述FreeRTOS是一个相对较小的应用程序。最小化的FreeRTOS内核仅包括3个(.c)文件和少数头文件,总共不到9000行代码,还包括了注释和空行。一个典型的编译后(二进制)代码映像小于10KB。FreeRTOS的代码可以分解为三个主要区块:任务,通讯,和硬件接口。●任务:大约有一半的FreeRTOS的核心代码用来处理多数操作系统首要关注的问题:任务。任务是给定优先级的用户定义的C函
FreeRTOS内存管理分析FreeRTOS提供了5个heap.c供用户选择,本文介绍各个实现特点,原理。注:由markdown转为富文本,空行可能较多。heap_1.c分析问题:解决动态内存分配,5个内存管理算法分配的都是内存堆ucHeap[],大小为configTOTAL_HEAP_SIZE;主要关注为内存分配算法;不使用glibc的malloc:原因是,单次malloc时间不确定
转载
2024-05-01 21:02:38
176阅读
Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行,一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。两者的结合可
转载
2024-04-03 14:20:06
101阅读
此处我说的HTTP服务主要指如访问京东网站时我们看到的热门搜索、用户登录、实时价格、实时库存、服务支持、广告语等这种非Web页面,而是在Web页面中异步加载的相关数据。这些服务有个特点即访问量巨大、逻辑比较单一;但是如实时库存逻辑其实是非常复杂的。在京东这些服务每天有几亿十几亿的访问量,比如实时库存服务曾经在没有任何IP限流、DDos防御的情况被刷到600多万/分钟的访问量,而且能轻松应对。支撑如
转载
2024-05-25 23:50:49
37阅读
使用Nginx+Lua实现Web项目的灰度发布
Nginx编译安装Lua模块
一、安装LUA环境及相关库
官方网站:https://github.com/openresty/lua-nginx-module
1、LuaJIT
wget http://luajit.org/download/LuaJIT-2.0.2.tar.gz
make && make install PREF
转载
2024-03-15 10:36:20
146阅读
使用RTOS 需要注意的问题:像中断优先级、任务堆栈分配、可重入等,都是更容易出错的地方。读队列时阻塞当某个任务试图读一个队列时,其可以指定一个阻塞超时时间。在这段时间中,如果队列为空,该任务将保持阻塞状态以等待队列数据有效。当其它任务或中断服务例程往其等待的队列中写入了数据,该任务将自动由阻塞态转移为就绪态。当等待的时间超过了指定的阻塞时间,即使队列中尚无有效数...
原创
2021-09-28 16:02:23
1102阅读
使用RTOS 需要注意的问题:像中断优先级、任务堆栈分配、可重入等,都是更容易出错的地方。 读队列时阻塞 当某个任务试图读一个队列时,其可以指定一个阻塞超时时间。在这段时间中,如 果队列为空,该任务将保持阻塞状态以等待队列数据有效。当其它任务或中...
转载
2019-12-11 10:17:00
730阅读
2评论
FreeRTOS 是一个嵌入式实时操作系统,具有相对(相对 Linux、Windows等)较小的体积,使用精简的代码实现了简单的进程调度,内存管理,消息发送,等,常常用在一些需要支持多任务的 MCU 上;在没有 RTOS 的嵌入式小系统中,代码都跑在 while 1 中,我们称之为 “裸机”,也没有任务的概念;而 RTOS 的出现,使得可以支持多任务执行(宏观并行,微观串行),任务与任
转载
2023-05-27 15:12:39
522阅读
FreeRTOS简介
1. RTOS简介RTOS全称为 Real Time Operation System,即实时操作系统。RTOS强调的是实时性,又分为硬实时和软实时。硬实时要求在规定的时间内必须完成操作,不允许超时;而软实时里对处理过程超时的要求则没有很严格。RTOS的核心就是任务调度 RTOS的多个工作流如下图示:RTOS工作原理如下图示: RTOS通用组件如下图示: RTOS的特点:更
原创
2022-01-04 10:29:05
1305阅读
Websocket的技术背景WebSocket是一种在单个TCP连接上进行全双工通信的协议, WebSocket通信协议于2011年被IETF定为标准RFC 6455并由RFC7936补充规范.WebSocket使得客户端和服务器之间的数据交换变得更加简单, 使用WebSocket的API只需要完成一次握手就直接可以创建持久性的连接并进行双向数据传输.WebSocket支持的客户端不仅限于浏览器(
转载
2024-03-25 09:37:36
99阅读
LUA中使用Web开发初探是本文要介绍的内容,主要是来了解并学习在lua中如何实现web开发的,具体内容来看本文详细内容讲解。Kepler环境搭建:我本身是做Web开发的,自然喜欢把新学习的东西往Web方面联系。提到Web和Lua,所有人都会自然而然的想起一个开源的项目Kepler (http://www.keplerproject.org/)。它给我最大的感觉就是短小精悍,实在有点难以置信,包括
转载
2024-04-26 15:06:10
0阅读
Lua应用程序与框架 Orbit WSAPI 从Lua Web应用程序抽象Web主机服务器的API Xavante 提供WSAPI接口的Lua Web服务器OrbitOrbit是Lua的MVC Web框架,完全摈弃CGILua脚本模型,转而支持应用程序,每个Orbit应用程序都可以放在一个文件中,按需可分为多个文件。Orbit框架运行在WSAPI协议的服务器上,可工作在Xavante和一些CGI和
转载
2024-05-24 08:25:47
45阅读
FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。 能不能承载usb调用
转载
2019-11-19 14:39:00
159阅读
2评论
嵌入式系统不只是ARM+Linux,不是只有安卓,凡是电子产品都可称为嵌入式系统。物联网行业的兴起,也提升了FreeRTOS市场占有率。本文就是介绍FreeRTOS基础及其应用,只是个人整理,可能存在问题,其目的只是简要介绍系统的基础,可以作为FreeRTOS入门简化版。目录一、 为什么要学习 RTOS 二、 操作系统基础 三、 初识 FreeRTOS 四、 任务 五、 队列 六、 软件
转载
2023-10-14 01:48:28
534阅读
任务调度机制的实现任务调度机制是嵌入式实时操作系统的一个重要概念,也是其核心技术。对于可剥夺型内核,优先级高的任务一旦就绪就能剥夺优先级较低任务的CPU使用权,提高了系统的实时响应能力。FreeRTOS 支持的调度方式FreeRTOS 操作系统支持三种调度方式:抢占式调度,时间片调度和合作式调度。 实际应用主要是 抢占式调度和时间片调度,合作式调度用到的很少(ps: 在最新的FreeRTOS中,合
转载
2024-06-22 14:29:28
60阅读
单片机也要用操作系统?如果以日常用的Windows, Linux, BSD这些,甚至是DOS,来代表操作系统的话,在单片机上运行操作系统时候个很荒诞的想法——因为对大多数单片机,RAM实在太少了。而 FreeRTOS 并不是要提供一个在单片机上运行软件的平台,把软件一个个安装到它上面,供用户选择运行什么,它没有用户界面;它不是一个管家,也不带任何硬件驱动程序,也没有文件系统服务提供。FreeRTO
转载
2023-11-16 21:49:22
144阅读
1.写在前面 实时系统(RTOS)种类五花八门,除了老牌RTOS如UCOS、vxWorks、FreeRTOS,及国内的RT-Thread、阿里AliOS、华为LiteOS等;也涌现出新兴的RTOS,或者GitHub上不缺乏开源爱好者编写的实时内核。对于RTOS的选择也是比较纠结,特别是对于未接触过操作系统的学习者。但一般情况下,如果进入公司,公司都会选择比较成熟稳定的RTOS,或者基于历史原因的
转载
2023-07-27 20:08:32
994阅读