1.1 初识 FreeRTOS 1.1.1 什么是 FreeRTOS?         我们看一下 FreeRTOS 的名字,可以分为两部分:Free 和 RTOS, Free 就是免费的、 自由的、不受约束的意思, RTOS 全称是 Real Time Operating System, 中文名就是实时操作系统。可以
参照正点原子FreeRTOS视频教程和stm32f4 FreeRTOS开发指南,首次接触操作系统,做笔记方便回顾 目录如何移植1.复制粘贴2.工程添加3.路径添加4.将非源码文件添加和解决其他编译问题5.修改system文件 如何移植FreeRTOS的源码可于购买开发板后赠与的光盘内找到,路径: A盘->软件资料->FreeRTOS学习资料->FreeRTOS源码,之后点击程序下
上一版本移植并没有写的很详细,只是将改好的代码贴上去,今天更新一版,附带资源。上一版本用的是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时间不确定
这是Lua设计与实现专栏的第6篇文章,专栏由于工作原因已经停更很久了,最近有些闲暇时间可以继续对Lua5.3中的增量GC算法进行一个比较深入的研究,本文主要分为顶层设计和具体实现两个大块。 文章以lua5.3源码为背景进行讨论。1.背景和C#、Java类似,lua采用了Mark&Sweep的算法来进行垃圾回收,与之相对的还有个常用算法是Automatic Reference
使用RTOS 需要注意的问题:像中断优先级、任务堆栈分配、可重入等,都是更容易出错的地方。读队列时阻塞当某个任务试图读一个队列时,其可以指定一个阻塞超时时间。在这段时间中,如果队列为空,该任务将保持阻塞状态以等待队列数据有效。当其它任务或中断服务例程往其等待的队列中写入了数据,该任务将自动由阻塞态转移为就绪态。当等待的时间超过了指定的阻塞时间,即使队列中尚无有效数...
原创 2021-09-28 16:02:23
1102阅读
使用RTOS 需要注意的问题:像中断优先级、任务堆栈分配、可重入等,都是更容易出错的地方。 读队列时阻塞 当某个任务试图读一个队列时,其可以指定一个阻塞超时时间。在这段时间中,如 果队列为空,该任务将保持阻塞状态以等待队列数据有效。当其它任务或中...
转载 2019-12-11 10:17:00
730阅读
2评论
首选先参考这个作者些的: thrift是一个比较流行的rpc框架,很多公司都有大规模使用的经验,不过网上很少有关于thrift-lua的介绍和example apache的thrift-lua也是刚刚从fbthrift项目引入,在安装过程中踩了一些坑,记录一下 首先是版本问题,apache-thrift的最新版本是0.9.3,这个版本支持的lua版本是5.2 不过由于nginx-lua模块用的
转载 2024-04-22 16:35:39
42阅读
hash.c 代码分析Lua 中最重要的一个数据结构及相关操作。主要看下几个对外的接口。 /* ** Create a new hash. Return the hash pointer or NULL on error. */ Hash *lua_hashcreate (uns
首先要理解lua的class,要先理解metatable的作用和__index以及lua调用table里面的函数的时候搜索函数的逻辑:1、直接当前表里面搜索函数 如果存在,直接调用,不存在继续2、如果表里面不存在调用的函数,会查找表的metatable的__index       a、如果__index是一个表,则在该表里面查找,回到第一步  &n
下面我们通过一个实例介绍几个特效的使用,这个实例如下图所示,上图是一个操作菜单场景,选择菜单可以进入到下图动作场景,在下图动作场景中点击Go按钮可以执行我们选择的特性动作,点击Back按钮可以返回到菜单场景。 特效实例 我们重点看看MyActionScene场景,MyActionScene.lua主要代码如下: [html]  view p
转载 2024-08-27 11:24:19
74阅读
 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阅读
cocos2dx中有关于lua类的实现,见cocos源码 framework/functions。先讲一部分比较难理解的:function class(classname, super) local cls -- inherited from Lua Object if super then cls = {} setmet
转载 2024-02-13 09:55:57
79阅读
全部学习汇总: GreyZhang/g_FreeRTOS: learning notes about FreeRTOS. (github.com)前面一个指针,传入的并不是一个数
原创 2022-07-03 01:03:15
1203阅读
Lua 中继承与多态继承的实现引言目标背景知识类的特性原表实现类 - 封装继承类 - 继承与多态继承类 - 多重继承Reference 引言在 lua 中并没有类的概念。但是 lua 有一个数据结构 table,我们可以基于 table 数据结构来实现类似于 C++ 中的类。目标实现一个类似其他语言中的类的 class 支持类与类之间的继承支持类之间的多重继承背景知识类的特性封装:面向对象编程与
转载 2024-04-03 12:28:48
324阅读
Lua/c接口编程一、前言二、Lua环境搭建三、虚拟栈四、c语言调用lua的函数4.1、实现步骤4.2、完整示例代码五、Lua调用c语言的函数5.1、原理5.2、实现步骤5.3、从lua角度看调用过程5.4、完整示例代码六、C 闭包七、userdata在c语言的使用八、注册表在c语言的使用总结 一、前言Lua/c接口编程是skynet的核心技能开发,主要涉及到Lua调C语言和C语言调用Lua的工
转载 2024-05-23 13:06:22
100阅读
FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。 能不能承载usb调用
转载 2019-11-19 14:39:00
159阅读
2评论
嵌入式系统不只是ARM+Linux,不是只有安卓,凡是电子产品都可称为嵌入式系统。物联网行业的兴起,也提升了FreeRTOS市场占有率。本文就是介绍FreeRTOS基础及其应用,只是个人整理,可能存在问题,其目的只是简要介绍系统的基础,可以作为FreeRTOS入门简化版。目录一、 为什么要学习 RTOS 二、 操作系统基础 三、 初识 FreeRTOS 四、 任务 五、 队列 六、 软件
  • 1
  • 2
  • 3
  • 4
  • 5