FreeRTOS简单内核实现6 优先级

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

dwm 文件上传/打开文件夹 白屏

问题描述及解决 我的chromium和code-oss在上传文件/打开文件夹时会出现白屏的情况,即打开文件管理器时发生。 因为firefox没有出现这种情况,最先以为是chromium的bug,起先以为缺少包,遂安装gtk3,gtk4,...阅读全文

网络诊断工具iPerf的使用

iPerf 是一个网络性能测试工具,用于测量最大 TCP 和 UDP 带宽性能。它支持多种平台,包括 Windows、Linux、macOS 等。以下是 iPerf 的基本使用方法: 安装 iPerf 在 Linux 系统中,你可以使用...阅读全文

FreeRTOS简单内核实现4 临界段

@目录0、思考与回答0.1、思考一0.2、思考二0.3、思考三1、关中断1.1、带返回值1.2、不带返回值2、开中断3、临界段4、应用 0、思考与回答 0.1、思考一 为什么需要临界段? 有时候我们需要部分代码一旦这开始执行,则不允许任...阅读全文

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

0、思考与回答 0.1、思考一 对于 Cotex-M4 内核的 MCU 在发生异常/中断时,哪些寄存器会自动入栈,哪些需要手动入栈? 会自动入栈的寄存器如下 R0 - R3:通用寄存器 R12:通用寄存器 LR (Link Regist...阅读全文

FreeRTOS 简单内核实现1 前言

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

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

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

shell脚本基本概念和命令小结

如果把shell命令比成盖房子的砖瓦,那shell脚本就是用一块块砖瓦建起来的房子。 脚本的第一行必须写成类似下面这样的形式: #!/bin/bash #指定解释器,其他还有dash,Python 等 变量 1.变量定义,赋值,引用 变...阅读全文

makefile 知识点小结

目录makefile 定义变量的方式1.递归定义2 直接定义3 条件定义方式4 追加变量值5 引用并修改变量值6 overrideVPATH用法:1 VPATH vpath各种规则1.隐式规则(Implicit Rules)2.静态规则...阅读全文

PIC18 bootloader之RS485 bootloader

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

网络诊断工具nslookup的使用

nslookup 是一个网络诊断工具,用于查询域名系统(DNS)记录,将域名解析为IP地址,或者查询其他DNS记录类型,如MX(邮件交换记录)、CNAME(别名记录)等。以下是一些常见Linux发行版安装 及使用nslookup 的方法...阅读全文