FreeRTOS高级篇5---FreeRTOS队列分析

FreeRTOS提供了多种任务间通讯方式,包括: 任务通知(版本V8.2以及以上版本) 队列 二进制信号量 计数信号量 互斥量 递归互斥量 其中,二进制信号量、计数信号量、互斥量和递归互斥量都是使用队列来实现的,因此掌握队列的运行机制,是很有必要的。 队列是FreeRTOS主要的任务间通讯方式。可以在任务与任务间、中断和任务间传送信息。发送到队列的消息是通过拷贝实现的,这意味着队列存储的数据是原数据,而不是原数据的引用。先看一下队列的数据结构:   typedef struct Queue
分类: 其他 发布时间: 11-11 23:18 阅读次数: 0

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两个特权级别
分类: 其他 发布时间: 11-11 23:18 阅读次数: 0

html5 总结

一、HTML5概念 HTML5并不仅仅只是做为HTML标记语言的一个最新版本,更重要的是它制定了Web应用开发的一系列标准,成为第一个将Web做为应用开发平台的HTML语言。 HTML5定义了一系列新元素,如新语义标签、智能表单、多媒体标签等,可以帮助开发者创建富互联网应用,同时有令人眼花缭乱的css 3,还提供了一些Javascript API,如地理定位、重力感应、硬件访问等,可以在浏览器内实现类原生应用,制作webApp,甚至结合Canvas我们可开发网页版游戏。 我们日常讨论的H5其实
分类: 其他 发布时间: 11-11 23:18 阅读次数: 0

nginx 日志切割(也适用于docker)

=============================================== 2018/11/11_第1次修改 ccb_warlock =============================================== 配置了记录日志的nginx,在运行较长时间后,产生的日志文件(access.log)会越来越大。 日志文件过大会带来下面的问题: 查询过大的日志文件对于开发和运维十分不方便,特别是加班人很累的情况下更加雪上加霜; 很久以前的日志文件几乎没有价值,但
分类: 其他 发布时间: 11-11 23:18 阅读次数: 0

第十周web作业3

Arrow function restore var materials = [ 'Hydrogen', 'Helium', 'Lithium', 'Beryllium' ]; console.log(materials.map(material => material.length)); 写出这个的标准函数形式,就像下面这个形式一样 var selected = allJobs.filter(function (job) { return job.isSelected(); }; var s
分类: 其他 发布时间: 11-11 23:18 阅读次数: 0

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
分类: 其他 发布时间: 11-11 23:18 阅读次数: 0

依旧不知道

233333333333333333
分类: 其他 发布时间: 11-11 23:18 阅读次数: 0

第十章 属性

目录 10.1 无参属性 10.2 有参属性 10.3 调用属性访问器方法时的性能 10.4 属性访问器的可访问性 10.5 泛型属性访问器方法 10.1 无参属性 面向对象设计和编程的重要原则之一就是数据封装,意味着类型的字段不应该公开,否则很容易因为不恰单使用字段而破坏对象的状态。 可将属性想象成智能字段,即背后有额外逻辑的字段。CLR支持静态,实例,抽象和虚属性。属性可用任意“可访问性”修饰符来标记,而且可以在接口中定义。 经常利用属性的get和set方法操纵类型中定义的私有字段。私有字
分类: 其他 发布时间: 11-11 23:18 阅读次数: 0

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
分类: 其他 发布时间: 11-11 23:18 阅读次数: 0

学习Linux第三天;

今天主要还是学习基本命令 1、ifconfig //查看网卡信息和网络状态 2、uname //查看系统版本,内核信息 参数: -a //完整查看系统信息 3、uptime //查看系统负载信息 相当于top的第一行 4、free //查看内存使用信息 参数: -h //内存大小以单位显示 5、who //查看谁正在使用系统 6、last //查询系统登陆信息 7、history //显示历史使用命令记录 !加历史命令号码,可以重复使用命令 8、pwd //查看用户当前所在目录 9、cd [目
分类: 其他 发布时间: 11-11 23:18 阅读次数: 0

学习数据结构的好资料

学习数据结构的好资料 数据结构笔记(1) 第一章 概 论 1.数据:信息的载体,能被计算机识别、存储和加工处理。 2.数据元素:数据的基本单位,可由若干个数据项组成,数据项是具有独立含义的最小标识单位。 3.数据结构:数据之间的相互关系,即数据的组织形式。 它包括:1)数据的逻辑结构,从逻辑关系上描述数据,与数据存储无关,独立于计算机; 2)数据的存储结构,是逻辑结构用计算机语言的实现,依赖于计算机语言。 3)数据的运算,定义在逻辑结构上,每种逻辑结构都有一个运算集合。常用的运算:检索/插入/
分类: 其他 发布时间: 11-11 23:18 阅读次数: 0

2018-2019-1 20165215 《信息安全系统设计基础》第七周学习总结

2018-2019-1 20165215 《信息安全系统设计基础》第七周学习总结 教材学习内容总结 异常及其种类 异常是异常控制流的一种形式,它一部分是由硬件实现的,一部分是有操作系统实现的。 异常就是控制流中的突变,用来响应处理器状态中的某些变化。 异常的种类 中断:硬件异常中断处理程序通常称为中断处理程序。检测到异常后,中断当前程序;返回时指向下一条指令,程序继续执行 陷阱:陷阱最重要的用途是在用户程序和内核之间提供一个像过程一样的接口,叫做系统调用。 系统调用和普通的函数调用的实现是不同
分类: 其他 发布时间: 11-11 23:18 阅读次数: 0

2018-2019-1 20165301 《信息安全系统设计基础》第七周学习总结

2018-2019-1 20165301 《信息安全系统设计基础》第七周学习总结 异常 异常是异常控制流的一种形式,它一部分由硬件实现,一部分由操作系统实现。 异常就是控制流中的突变,用来响应处理器状态的某种变化。 任何情况下,当处理器检测到有事件发生时,它会通过一张叫做异常表的跳转表,进行一个简介过程调用(异常),到一个专门设计用来处理这类事件的操作系统子程序(异常处理程序。当异常处理子程序完成处理后,根据引起异常的事件的类型,会发生以下3种情况之一: 处理程序将控制返回给当前指令Icurr
分类: 其他 发布时间: 11-11 23:18 阅读次数: 0

for衍生对象

for衍生对象
分类: 其他 发布时间: 11-11 23:18 阅读次数: 0

2440启动方式

JZ2440的启动方式有两种,一种是从NOR FLASH中启动,还有一种就是从NAND FLASH中启动。   如果从NOR FLASH启动,CPU会访问NOR FLASH的0地址,而0地址位于BANK0。   如果从NAND FLASH启动,由于NAND FLASH地址和数据共用总线,因此BANK0失效,此时0地址访问片内的SRAM,CPU会把NAND的前4K完全拷贝到片内SRAM,然后从0地址运行。      当2440上电时,NAND的前4K程序拷贝到SRAM中的0地址处,程序首先关闭看
分类: 其他 发布时间: 11-11 23:18 阅读次数: 0

Python学习笔记6:分支循环

if :   语句1   语句2   ······ else:   语句1   语句2   ······ for var in series:   语句1   语句2   ········
分类: 其他 发布时间: 11-11 23:18 阅读次数: 0

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
分类: 其他 发布时间: 11-11 23:18 阅读次数: 0

ldr的用法

ARM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成,也就是ldr/str指令。 比如想把数据从内存中某处读取到寄存器中,只能使用ldr 比如: ldr r0, 0x12345678 就是把0x12345678这个地址中的值存放到r0中。 而mov不能干这个活,mov只能在寄存器之间移动数据,或者把立即数移动到寄存器中,这个和x86这种CISC架构的芯片区别最大的地方。 x86中没有ldr这种指令,因为x86的mov指令可以将数据从内存中移动到寄存器中。 另外还有一个就
分类: 其他 发布时间: 11-11 23:17 阅读次数: 0

32位ARM处理器的几种工作模式和工作状态

ARM处理器工作模式一共有 7 种 : USR 模式 正常用户模式,程序正常执行模式 FIQ模式(Fast Interrupt Request) 处理快速中断,支持高速数据传送或通道处理 IRQ模式 处理普通中断 SVC模式(Supervisor) 操作系统保护模式,处理软件中断swi reset ABT 中止(Abort mode){数据、指令} 处理存储器故障、实现虚拟存储器和存储器保护 UND 未定义(Undefined) 处理未定义的指令陷阱,支持硬件协处理器的软件仿真 SYS 系统模
分类: 其他 发布时间: 11-11 23:17 阅读次数: 0

arm-linux-gcc 常用参数讲解 gcc编译器使用方法

我们需要编译出运行在ARM平台上的代码,所使用的交叉编译器为 arm-linux-gcc。下面将arm-linux-gcc编译工具的一些常用命令参数介绍给大家。 在此之前首先介绍下编译器的工作过程,在使用GCC编译程序时,编译过程分为四个阶段: 1. 预处理(Pre-Processing) 2. 编译(Compiling) 3. 汇编(Assembling) 4. 链接(Linking) Linux程序员可以根据自己的需要让 GCC在编译的任何阶段结束,以便检查或使用编译器在该阶段的输出信息,
分类: 其他 发布时间: 11-11 23:17 阅读次数: 0
今日推荐