FreeRTOS高级篇5---FreeRTOS队列分析
FreeRTOS提供了多种任务间通讯方式,包括: 任务通知(版本V8.2以及以上版本) 队列 二进制信号量 计数信号量 互斥量 递归互斥量 其中,二进制信号量、计数信号量、互斥量和递归互斥量都是使用队列来实现的,因此掌握队列的运行机制,是很有必要的。 队列是FreeRTOS主要的任务间通讯方式。可以在任务与任务间、中断和任务间传送信息。发送到队列的消息是通过拷贝实现的,这意味着队列存储的数据是原数据,而不是原数据的引用。先看一下队列的数据结构:
typedef struct Queue
2018-2019-1 20189204《Linux内核原理与分析》第五周作业
第四章——系统调用的三层机制(上) 4.1用户态、内核态和中断 库函数封装系统调用,使得程序员不直接接触到系统调用,保持整个系统的稳定,避免崩溃。 1.用户态与内核态的区分 内核只能被系统调用操作,系统调用可以被API、Shell、应用程序操作,API和SHELL可以被应用程序操作 2.Intel x86 CPU的执行级别——0~3,数字越小,级别越高 OS----Ring0 驱动程序----Ring1、Ring2 应用程序----Ring3 在Linux系统中只采用了其中的0和3两个特权级别
nginx 日志切割(也适用于docker)
=============================================== 2018/11/11_第1次修改 ccb_warlock =============================================== 配置了记录日志的nginx,在运行较长时间后,产生的日志文件(access.log)会越来越大。 日志文件过大会带来下面的问题: 查询过大的日志文件对于开发和运维十分不方便,特别是加班人很累的情况下更加雪上加霜; 很久以前的日志文件几乎没有价值,但
Unity3D_(数据)JsonUtility创建和解析Json
Json 百度百科:传送门 Unity数据持久化:Json Json数据解析在Unity3d中的应用 传送门 一、使用JsonUnity创建Json using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
[Serializable]
public class Person
{
public string name;
publi
MobaXterm工具
1 登录 1.1 远程登录 1.1.1 内建命令行模式 1) 点击图标,在弹出的窗口中选择SSH连接,然后填入Remote host IP及用户名。 2) 点击确认后输入密码即可 1.1.2 Gnome模式(类似VNC) 1) 点击图标,在弹出的窗口中选择SSH连接,然后填入Remote host IP及用户名。 2) 点击Advanced SSH settings,设置Remote environment为 3) 点击确认后输入密码即可 1.2 串口登录 1) 点击图标,在弹出的窗口中选择S
学习Linux第三天;
今天主要还是学习基本命令 1、ifconfig //查看网卡信息和网络状态 2、uname //查看系统版本,内核信息 参数: -a //完整查看系统信息 3、uptime //查看系统负载信息 相当于top的第一行 4、free //查看内存使用信息 参数: -h //内存大小以单位显示 5、who //查看谁正在使用系统 6、last //查询系统登陆信息 7、history //显示历史使用命令记录 !加历史命令号码,可以重复使用命令 8、pwd //查看用户当前所在目录 9、cd [目
学习数据结构的好资料
学习数据结构的好资料 数据结构笔记(1) 第一章 概 论 1.数据:信息的载体,能被计算机识别、存储和加工处理。 2.数据元素:数据的基本单位,可由若干个数据项组成,数据项是具有独立含义的最小标识单位。 3.数据结构:数据之间的相互关系,即数据的组织形式。 它包括:1)数据的逻辑结构,从逻辑关系上描述数据,与数据存储无关,独立于计算机; 2)数据的存储结构,是逻辑结构用计算机语言的实现,依赖于计算机语言。 3)数据的运算,定义在逻辑结构上,每种逻辑结构都有一个运算集合。常用的运算:检索/插入/
2018-2019-1 20165215 《信息安全系统设计基础》第七周学习总结
2018-2019-1 20165215 《信息安全系统设计基础》第七周学习总结 教材学习内容总结 异常及其种类 异常是异常控制流的一种形式,它一部分是由硬件实现的,一部分是有操作系统实现的。 异常就是控制流中的突变,用来响应处理器状态中的某些变化。 异常的种类 中断:硬件异常中断处理程序通常称为中断处理程序。检测到异常后,中断当前程序;返回时指向下一条指令,程序继续执行 陷阱:陷阱最重要的用途是在用户程序和内核之间提供一个像过程一样的接口,叫做系统调用。 系统调用和普通的函数调用的实现是不同
2018-2019-1 20165301 《信息安全系统设计基础》第七周学习总结
2018-2019-1 20165301 《信息安全系统设计基础》第七周学习总结 异常 异常是异常控制流的一种形式,它一部分由硬件实现,一部分由操作系统实现。 异常就是控制流中的突变,用来响应处理器状态的某种变化。 任何情况下,当处理器检测到有事件发生时,它会通过一张叫做异常表的跳转表,进行一个简介过程调用(异常),到一个专门设计用来处理这类事件的操作系统子程序(异常处理程序。当异常处理子程序完成处理后,根据引起异常的事件的类型,会发生以下3种情况之一: 处理程序将控制返回给当前指令Icurr
Alpha版本冲刺(一)
目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:丹丹 组员7:家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示组内最新成果 站立会议合照 会议耗时记录(每次追加记录) 会议纪要 PSP 个人学习进度条 队名:404 Note Found 组长博客:https://www.cnblogs.com/heihuifei/p/9944092.html 作业博客:https://edu.cnblogs.com/camp
32位ARM处理器的几种工作模式和工作状态
ARM处理器工作模式一共有 7 种 : USR 模式 正常用户模式,程序正常执行模式 FIQ模式(Fast Interrupt Request) 处理快速中断,支持高速数据传送或通道处理 IRQ模式 处理普通中断 SVC模式(Supervisor) 操作系统保护模式,处理软件中断swi reset ABT 中止(Abort mode){数据、指令} 处理存储器故障、实现虚拟存储器和存储器保护 UND 未定义(Undefined) 处理未定义的指令陷阱,支持硬件协处理器的软件仿真 SYS 系统模
arm-linux-gcc 常用参数讲解 gcc编译器使用方法
我们需要编译出运行在ARM平台上的代码,所使用的交叉编译器为 arm-linux-gcc。下面将arm-linux-gcc编译工具的一些常用命令参数介绍给大家。 在此之前首先介绍下编译器的工作过程,在使用GCC编译程序时,编译过程分为四个阶段: 1. 预处理(Pre-Processing) 2. 编译(Compiling) 3. 汇编(Assembling) 4. 链接(Linking) Linux程序员可以根据自己的需要让 GCC在编译的任何阶段结束,以便检查或使用编译器在该阶段的输出信息,
今日推荐
周排行