- 博客(23)
- 问答 (2)
- 收藏
- 关注
原创 ARM体系架构
ARM体系架构与编程模型脑图1. ARM处理器简介及RISC主要特点ARM(Advanced RISC Machines)是一个32位RISC(精简指令集)处理器架构,ARM处理器则是ARM架构下的微处理器。ARM处理器广泛的使用在许多嵌入式系统。ARM处理器的特点有指令长度固定,执行效率高,低成本等。ARM是一种RISC MPU/MCU的体系结构,如同x86架构是一种CISC体系结构一样。另外,还有MIPS架构、PowerPC架构等等。ARM是Advanced RISC Machine Lim
2020-07-05 16:09:25 1508
原创 Office2016+Visio2016安装过程
Office2016+Visio2016安装过程1 下载安装包选择应用程序中的office 2016复制电驴下载链接(迅雷极速版下载很快)下载完成后,双击iso镜像文件,win10会装载一个虚拟盘2 准备安装部署工具下载后解压得到部署工具exe文件右键以管理员方式打开并安装选择工具保存位置(推荐文件名路径为纯英文)用记事本或其他工具打开xml文件,并将\\部分的内容用下面内容替换,并保存3 安装过程win+R打开cmd命令行窗口通过cd跳转语句跳转至配置工具产生文件的保存位置(configuration.x
2021-01-25 10:17:03 3987 2
原创 μC/OS-III_存储管理
存储管理1 创建存储分区2 从分区中获取存储块3 将存储块归还到分区中 在嵌入式操作系统中,多次使用malloc()和free()会将原来很大的一块连续存储区域,逐渐地分成许多非常小且彼此不相邻的存储区域,这就是存储碎片。由于存储碎片数量的不断增加,程序到后来可能无法分得一块连续的存储区域。另外,由于存储空间管理算法的原因,要得到一块连续的存储块,且大小足以满足malloc()函数的要求,malloc()和fr
2020-07-10 12:31:02 405
原创 μC/OS-III_消息传递
消息传递1 消息1.1 保持数据的可见性2 消息队列2.1 使用消息队列3 任务内建的消息队列4 双向同步5 流量控制6 消息队列内部细节 一个任务或者中断服务程序有时候需要和另一个任务交流信息,这个信息传递的过程称为任务间的通信,任务间的通信可以根据两种途径实现:一是通过全局变量,二是通过发布消息。任务要想与中断服务通信只能通过全局变量。  
2020-07-09 16:04:47 431
原创 μC/OS-III_任务同步
任务同步1 信号量1.1 单向同步1.2 信用记录1.3 多个任务等待同一个信号2 任务内嵌信号量2.1 等待任务信号量2.2 发布任务信号量2.3 双向同步3 事件标志组3.1 使用事件标志组4 与多任务同步μC/OS-III中有两种基本的同步机制:信号量和事件标志组1 信号量信号量可以用做一种发信号的机制与一种保护共享资源的机制。前者在使用时,信号量的初始化值为0,后者一般将信号量计数值初始化为非0值,表示资源的初始可用数。但是由于信号量在进行保护共享资源时。可能存在优先级反转的问题,因此,信
2020-07-09 13:34:29 611
原创 μC/OS-III_资源管理
资源管理1 关中断、开中断2 给调度器上锁/开锁3 信号量3.1 信号量结构3.2 二进制信号量3.3 计数型信号量3.4 使用信号量的注意事项3.5 任务优先级反转4 互斥型信号量(MUTEX)4.1 互斥信号量结构5 死锁5.1 避免死锁的方法5.1.1 先得到全部需要的资源,再进行下一步工作5.1.2 用相同的顺序申请多个资源典型的共享资源有:变量(静态或者全局变量),数据结构体,RAM中的表格和I/O设备中的寄存器等。共享内存能够虽然能让任务之间的信息交换变的简单,但如果任务对数据不具有独享权
2020-07-08 15:33:28 705
原创 μC/OS-III_时钟节拍列表
文章目录1 时钟节拍列表2 任务插入表项过程1 时钟节拍列表表项的数目由OS_CFG_TICK_WHEEL_SIZE设定,同时,该值需要根据处理器中可用RAM存储量和应用程序中的最大任务数来确定,一般该值设为最大任务数的1/4,且该值不能与时钟节拍的频率成倍数关系,最好用素数表示该值,这样可以使每个表项上等待的任务数目均匀分布。表项成员.NbrEntriesMax表征该表项上等待任务的最大数目,通过调用OSStatReset()使其复位表项成员.NbrEntries表征该表项上等待的任务数目表
2020-07-08 11:11:39 364
原创 μC/OS-III_任务挂起表
文章目录1 内核对象数据结构2 任务挂起表结构3 两个任务等待同一个信号量4 任务同时等待多个内核对象4.1 一个任务同时等待多个信号量4.2 多个任务同时等待多个信号量当一个任务等待信号量、互斥型信号量、时间标志组或消息队列时,该任务就被放入任务挂起表或等待表中,带有任务挂起表的内核对象如下:相关内容内核对象信号量、互斥信号量OS_SEM、OS_MUTEX信号量、事件标志组OS_SEM、OS_FLG_GRP消息队列OS_Q1 内核对象数据结构每种内核对象的
2020-07-08 10:01:21 513
原创 μC/OS-III_任务就绪表
任务就绪表在系统中,所有已经就绪等待运行的任务都被放入一个所谓“就绪表”(ready list)中,该表包括两部分就绪优先级位映射表就绪任务列表1.1 就绪优先级位映射表每一位代表一个优先级,当某一优先级由任务就绪时,在就绪优先级位映射表中该优先级对应的位被置1,之所以按照上图的顺序映射,是为了便于使用一条特殊的指令“计算前导零”,该指令可以显著提高最高优先级查找的速度。优先级操作函数函数说明OS_PrioGetHighest()查找就绪的最高优先级OS-Pr
2020-07-07 17:22:48 520
原创 μC/OS-III_任务管理
任务管理1 创建任务函数对TCB和堆栈的初始化每个任务都必须拥有自己的栈空间,任务栈永远位于RAM中用来保存局部变量、函数调用以及可能的ISR嵌套;每个任务都有属于自己的一套CPU寄存器OSTaskCreate()void OSTaskCreate (OS_TCB *p_tcb, /*任务控制块TCB地址*/ CPU_CHAR *p_name, /*任务名称(字符串)*/ OS_
2020-07-07 17:22:40 430
原创 μC/OS-III_任务调度与切换
1. 剥夺型调度μC/OS-III有两种不同方法处理中断服务程序发布的事件:直接发布延迟发布1.1 直接发布外设产生中断请求该请求对应的中断服务程序运行,该中断对应的事件很可能是任务正在等待的事件,等待该事件的任务的优先级要么比当前被中断的任务高,要么比起低或相同。如果中断对应的事件使得某个比被中断的任务优先级低的任务进入就绪态,则中断推出后任恢复被中断的任务如果中断对应的事件使得某个比被中断的任务优先级低的任务进入就绪态...
2020-07-07 17:22:31 809
原创 μC/OS-III_系统初始化
初始化初始化ISR堆栈清除中断嵌套计数器设置多任务未运行清除调度锁计数器初始化任务控制块指针初始化就绪任务控制块指针设置当前任务运行优先级设置当前最高任务运行优先级保存post任务优先级设置测量调度时间参数设置时间片轮转调度参数清除任务钩子函数指针初始化就绪任务优先级列表初始化就绪任务列表初始化内存管理模块初始化free list of OS_MSGs初始化互斥量管理模块初始化消息队列管理模块初
2020-07-07 17:22:22 243
原创 μC/OS-III_系统特点
实时多任务操作系统uCOS-III的特点 uCOS-III是一个全新的实时内核,源于世界上最流行的实时内核uC/OS-II,除了提供熟悉的一系列系统服务,全面修订了API接口,使uC/OS-III更直观,更容易使用。该产品可以广泛应用于通信,工业控制,仪器仪表,汽车电子,消费电子,办公自动化设备等的设计开发。 ...
2020-07-07 17:22:14 1119
原创 μC/OS-III_与II的对比(邵贝贝)
邵贝贝:嵌入式操作系统μC/OS-III作者:邵贝贝 来源:嵌入式系统联谊会 邵老师长期从事单片机和嵌入式系统教学和应用工作,并负责清华大学飞思卡尔实验室工作。邵老师与大家分享了μC/OS的发展经历,即将发布的μC/OS-III的细节,以及他对未来嵌入式操作系统的认识。以下是文字实录。 &n...
2020-07-07 17:22:02 919
转载 UART、RS232、RS485的理解
数据通信的种类:串行通信、并行通信。不管是什么类型的通信,再怎么复杂的,也是在这两种上面衍生出来的。许多传输线或者通路组成的,每条线可以一位一位的传输,这些位可以在规定的时间里传输完成,也可以在一定的时间内,多位同时传输;这就是串行通信和并行通信。数据通信的传输方向:单工、半双工、全双工。它们之间各有什么样的特点,我举了车辆过道的实例,通俗易懂的跟大家讲明白了。 &nb...
2020-07-05 09:55:56 649
转载 嵌入式系统 Boot Loader 技术
1. 引言在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次:引导加载程序:包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分Linux 内核:特定于嵌入式板子的定制内核以及内核的启动参数文件系统:包括根文件系统和建立于 Flash 内存设备之上文件系统。通常用 ram disk 来作为 root fs用户应用程序:特定于用户的应用程序。有时在用户应用程序和内核层之间
2020-07-04 23:39:37 673
转载 CAN协议详解
基础知识一、背景二、发展三、总线优点四、总线要点1、CAN的应用(1)车载网络构想(2)应用实例(3)连接图2、CAN协议基本...
2020-07-04 11:53:02 4423
转载 UART总线协议详解
UART通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,通常称作UART) 是一种串行异步收发协议,应用十分广泛。UART工作原理是将数据的二进制位一位一位的进行传输。在UART通讯协议中信号线上的状态位高电平代表’1’低电平代表’0’。当然两个设备使用UART串口通讯时,必须先约定好传输速率和一些数据位。硬件连接硬件连接比较简单,仅需要3条线,注意连接时两个设备UART电平,如电平范围不一致请做电平转换后再连接,如下图所示:TX:.
2020-07-04 11:41:08 1476
转载 SPI总线协议详解
1、 SPI简介SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。...
2020-07-04 11:23:57 1435
转载 IIC总线协议详解
转自:https://www.cnblogs.com/aaronLinux/p/6218660.html1 I2C总线物理拓扑结构 I2C 总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线...
2020-07-04 11:05:45 446
转载 TCP的三次握手与四次挥手理解及面试题
本文经过借鉴书籍资料、他人博客总结出的知识点,欢迎提问 序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。 确认号ack:占4个字节,期待收到对方下一个报...
2020-07-03 15:49:06 237
转载 MMU基本概念及工作原理
1. 什么是MMUMMU是 MemoryManagementUnit 的缩写即,内存管理单元. 针对各种CPU, MMU是个可选的配件. MMU负责的是虚拟地址与物理地址的转换. 提供硬件机制的内存访问授权.(现代 CPU 的应用中,基本上都选择了使用 MMU)现代的多用户多进程操作系统, 需要MMU, 才能达到每个用户进...
2020-06-23 18:05:18 5489 2
转载 CaChe基本概念及工作原理
CaChe计算机中程序执行时所有的指令和数据都是从存储器中取出来执行的。存储器是计算机系统中的重要组成部分,相当于计算机的仓库,用来存放各类程序及其处理的数据。因此存储器的容量和性能应当随着处理器的速度和性能的提高而通过提高,以保持系统性能的平衡。 然而在过去的 20 多年中,随着时间的推移,处理器和存储器在性能发展上的差异越来越大,存储器在容量尤其是访问延时方面的性能增长越来越跟不上处理器性能发展的需要。为了缩小存储器和处理器两者之间在性能方面的差距,通常在计算机内部采用层次化的存储器体系结构。从
2020-06-23 17:50:11 7137 1
空空如也
Linux中父进程与子进程的困惑
2019-08-30
关于C++的一个小问题(循环方面)
2019-07-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人