-
FreeRTOS
FreeRTOS官网文件中只保留E:\a学习\9.myOC\FreeRTOS\FreeRTOSv202212.01\FreeRTOS\Demo文件夹下面的CORTEX_STM32F103_Keil, 其他的文件暂时用不到source文件是核心文件 只保留以上的文件, 之后打开项目之后编译文件, 选择用keil5进行格式转换*** Using Compiler 'V5.06 update 5 (build 528)', folder: 'D:\kiel5\ARM\ARMCC\Bin'Bui...…
-
初识stm32
初识stm32ST是一个SOC厂商, ARM是IP厂商M: 微控制器, 一般不跑系统微处理器: 区别是有没有MMU, 内存管理单元 BGA封装=>引脚在芯片下面 在数据手册有具体每个引脚的说明, 引脚定义篇…
-
安装软件, 下载
安装软件, 下载使用的软件是keil5 MDK,必须使用英文路径安装之后需要添加芯片包在keil官网可以进行下载下载地址下载好之后直接双击进行安装破解使用注册机下载器仿真器, 下载之后进行硬件仿真使用的规格是CMSIS-DAP, 支持Cortex-M内核单片机支持WIN xp/WIN7/WIN10支持SW在线调试1和5不是必须的软件配置 HEX文件就是烧录文件, 传递给别人串口下载 安装USB转串口下载 ISP: 在系统可编程, 电路板上可以编程写入程序, 不需要取下来, 编程的器件...…
-
信号量机制
信号量机制实现进程互斥同步的方法用户通过操作系统提供的原语实现对信号量的操作信号量实际上就是一个变量, 可以是一个整数或更复杂的记录型变量, 可以用一个信号量表示操作系统中的某种资源数量把检查和上锁放在原语中, 这里指的是wait(S)申请和signal(S)释放原语, 也可以称作P、V操作(P(S)V(S)),整形信号量使用一个整形, 只能有三种操作, 初始化, P操作, V操作 原语无法完成的时候会恢复到操作系统之前的状态, 不可拆分记录型信号量…
-
锁
锁互斥锁解决临界问题最简单的工具就是互斥锁, 一个进程在进入临界区的时候获得锁, 退出的时候释放两个操作必须是原子操作, 缺点是盲等, 其他进程进入临界区的时候必须连续循环调用acquire(), 有多个进程共享一个CPU的时候浪费时钟周期, 所以常用于多处理器系统自旋锁: 需要连续循环忙等的互斥锁, 比如TSL和swap指令违反让权等待, 优点: 等待期间不用切换进程上下文, 多处理机系统中上锁的时间短等待的代价比较低(其他进程在其他处理器处理完成之会释放锁)不太适用于单处理机系统, 忙...…
-
进程互斥, 同步
进程互斥同步进程的异步性: 进程以各自不同的独立的, 不可预知的速度向前推进同步进程同步: 解决进程异步会导致顺序错乱的问题, 亦称直接制约关系, 指为完成某种工作而创立的两个或多个进程, 进程需要在某些位置上协调工作次序而产生的制约关系, 进程间的直接制约关系源于他们之间的相互合作, 遵循一定的先后顺序互斥进程互斥: 并非进行的进程不可避免的共享资源 互斥共享方式: 某些资源提供给多个进程, 但一个时间段只允许一个进程访问该资源 同时共享方式: 允许一个时间段内由多个进程同时进行访问...…
-
处理机调度
处理机调度 处理机调度 三个层次 高级调度 中级调度 低级调度 三层调度联系, 对比 补充知识 进程的挂起态 七状态模型 基本概念按照某种算法选择一个处理机分配给他有一堆任务要处理的时候, 由于当前的资源有限, 没有办法同时处理, 需要确定某种规则来决定处理的顺序, 这就是调度研究的问题高级调度(作业调度)作业: 某一个具体的任务用户向系统提交了一个作业=>用户让操作系统启动一个程...…
-
线程
线程没有进程之前, 系统只能串行执行, 引入进程之后就可以进程是一个程序的一次执行, 一个进程不能同时完成多种任务, 同时处理多种事务的时候, 线程用来增加系统的并发度CPU轮流执行线程, CPU服务的对象变为进程的线程, 进程中有一定的线程, 并发执行, 程序执行流的最小单位,轻量级进程, 进程还是CPU资源调度的基本单位变化 资源分配、调度 资源分配调度的基本单位 引入线程、线程是调度的基本单位 并发性 系统开销 ...…