刷新
CM3调试系统简析

博主头像 包括对两大调试接口:JTAG接口和SWD串行线调试接口、CoreSight调试接口:基于CoreSight架构的CM3调试系统和标准CoreSight架构和CM3中调试系统异同点、CoreSight跟踪接口、 调试功能的总结、调试模式、调试事件、STM32调试单元、SWV调试、JTAG边界扫描 、代... ...

FreeRTOS 简单内核实现8 时间片轮询

博主头像 0、思考与回答 0.1、思考一 为什么要增加时间片轮询? 目前的 RTOS 内核已经支持抢占优先级,即高优先级的任务会抢占低优先级的任务得到执行,但是对于同等优先级的任务,如果不支持时间片轮询,则只能有一个任务运行,并且由于优先级相同所以除延时阻塞到期外也不会发生任务调度,因此需要增加时间片轮询保证 ...

FreeRTOS简单内核实现7 阻塞链表

博主头像 0、思考与回答 0.1、思考一 如何处理进入阻塞状态的任务? 为了让 RTOS 支持多优先级,我们创建了多个就绪链表(数组形式),用每一个就绪链表表示一个优先级,对于阻塞状态的任务显然要从就绪链表中移除,但是阻塞状态的任务并不是永久阻塞了,等待一段时间后应该从阻塞状态恢复,所以我们需要创建一个阻塞链 ...

文件系统(七):文件系统崩溃一致性、方法、原理与局限

博主头像 liwen01 2024.06.16 前言 先提几个问题:什么是文件系统崩溃一致性?为什么会出现文件系统崩溃一致性问题?有哪些方法可以解这个问题?它们各自又有哪些局限性? window系统电脑异常后会蓝屏、手机死机卡顿后我们会手动给它重启,大部分设备的系统在遇到不可修复的严重异常后都会尝试通过重启来 ...

FreeRTOS简单内核实现6 优先级

博主头像 0、思考与回答 0.1、思考一 如何实现 RTOS 内核支持多优先级? 因为不支持优先级,所以所有的任务都插入了一个名为 pxReadyTasksLists 的就绪链表中,相当于所有任务的优先级都是一致的,那如果我们创建一个就绪链表数组,数组下标代表优先级,优先级为 x 的任务就插入到 pxRead ...

FreeRTOS简单内核实现4 临界段

博主头像 0、思考与回答 0.1、思考一 为什么需要临界段? 有时候我们需要部分代码一旦这开始执行,则不允许任何中断打断,这段代码称为临界段 0.2、思考二 如何实现临界段? 关中断 执行临界区代码 开中断 0.3、思考三 对于 Cotex-M4 内核的处理器如何方便的控制其中断开关? 使用 BASEPRI ...

针对make工具和Makefile文件的学习心得

博主头像 目录为什么要学习使用make工具?什么是make工具?make工具的学习过程1. 安装make:sudo apt install make;并学习使用make安装make流程学习使用make指令make指令的相关特点make只会对修改过的或者可执行目标文件不存在的.c文件进行编译使用make时,若不 ...

FreeRTOS简单内核实现3 任务管理

博主头像 0、思考与回答 0.1、思考一 对于 Cortex-M4 内核的 MCU 在发生异常/中断时,哪些寄存器会自动入栈,哪些需要手动入栈? 会自动入栈的寄存器如下 R0 - R3:通用寄存器 R12:通用寄存器 LR (Link Register):链接寄存器,保存返回地址 PC (Program Co ...

Makefile手册中"+=",":=","?="操作符的区别

博主头像 目录Makefile手册中"+=",":=","?="操作符的区别1."?="操作符2."+="操作符3.":="操作符 Makefile手册中"+=",":=","?="操作符的区别 1."?="操作符 在GNUmake中,有一个变量在之前没有被赋值的情况下才会对这个变量进行赋值的操作,被称为条件 ...

FreeRTOS 简单内核实现1 前言

博主头像 为深入理解 RTOS 内核工作机制,笔者制作了名为 “FreeRTOS 内核简单实现” 的项目专栏 ,目标为自己动手从 0 到 1 编程一个简单的 RTOS 内核,从而实现任务并行工作的效果 ...

利用信号量实现线程顺序执行

博主头像 线程顺序循环执行的场景在多线程编程中并不罕见,尤其是在需要协调多个线程按特定顺序重复执行任务的情况下。以下是几个常见的例子: 生产者-消费者模型:在这种模型中,生产者线程生成数据并将其放入缓冲区,而消费者线程从缓冲区取出数据进行处理。这种情况下,生产者和消费者线程通常按顺序交替运行。 流水线处理:在 ...

PIC18 bootloader之RS485 bootloader

博主头像 了解更多关于bootloader 的C语言实现,请加我Q扣: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序)。 不知道为什么,现在工业控制领域也向汽车领域学习,产品需要带bootloader, 产品出货后也要可以通过bootloade ...

嵌入式 Arduino 期末复习

博主头像 1 基础知识 1.1 概述 对嵌入式的定义 国内定义:以应用为中心,以计算机技术为基础,软件硬件可裁剪,且适应系统对功能,可靠性,成本,体积,功耗严格要求的专用计算机系统。 IEEE定义:用于控制,监视或者辅助操作机器和设备的装置。 分类 以下按照形态差异分类: 类名 板型号 芯片级 MCU,SoC ...

ColorEasyDuino上手指南

博主头像 介绍 ColorEasyDuino是嘉立创推出的一块Arduino开发板(类似物),具有丰富的外设接口:uart、i2c、spi、adc、pwm等;开发板设计参考原型是Arduino Uno,采用的芯片是ATMEGA328P,它的外观设计比较紧凑,把所有的IO都引出供开发者使用,可玩性、可拓展性都特 ...

HTTP和HTTPS的区别

博主头像 目录HTTP和HTTPS的区别1)什么是HTTP2)什么是HTTPS3)HTTP与HTTPS的区别4)HTTP的工作原理5)HTTPS的工作原理 HTTP和HTTPS的区别 1)什么是HTTP HTTP(HyperText Transfer Protocol:超文本传输协议)是一种用于分布式、协作式 ...

Base64编码解码流程的初步学习

博主头像 目录什么是Base64编码?为什么要学习Base64编码?Base64编码基础原理介绍Base64编码组成Base64编码索引表Base64编码规则Base64编码过程简记编码流程实战Base64编码(不同情况举例说明)1. 待编码字符数量为3的倍数2. 待编码字符数量不为3的倍数Base64解码原 ...

<1···91011···19>