- 博客(95)
- 资源 (2)
- 收藏
- 关注
原创 VSCode 开发 STM32 - clangd 带来的极致补全体验
工欲善其事,必先利其器,一个开发者对于其开发工具的探索是永无止境的,恰好 VSCode 拥有着各种各样的插件,这就使其有着无穷的拓展可能性。本次要介绍的就是其 clangd 插件 —— 一款代码智能分析/补全/跳转工具。
2025-07-23 20:39:32
1112
原创 一文看透 SysTick 定时器
在嵌入式 MCU 开发中,有这么一个 “神奇” 的模块,无论是新手工程师还是资深工程师,无论是裸机开发还是 RTOS 开发,无论是简单项目还是复杂项目,都会接触或使用到。
2025-07-22 17:44:10
870
原创 中断底层特性与优化机制
在异常与中断章节的最后,我们再来一起看一下其内部实现的几个特性与处理器的一些优化机制。这些概念可能你从未了解过,但你实现的每一个中断都会真实经历这其中的一个或多个流程。理解并运用它们,可以帮助你写出更高效,更快速的中断处理逻辑!
2025-07-20 16:56:14
545
原创 Linux 常用命令 -md5sum【计算和校验文件的MD5哈希值】
md5sum 源于 "MD5 message-digest algorithm",即 MD5 消息摘要算法。这个命令用于计算和校验文件的 MD5 哈希值。MD5 是一种被广泛使用的密码学哈希函数,它将任意长度的数据映射为固定长度(128位)的哈希值,通常以32位十六进制数表示。md5sum 命令通过读取文件内容,使用 MD5 算法生成该文件的唯一“指纹”(哈希值)。这个指纹可以用于验证文件在传输或存储过程中是否发生更改。
2025-05-28 12:41:22
624
原创 深入理解用于中断控制的 SCB 寄存器
除了 CMSIS-Core 中的 NVIC 数据结构,系统控制块(SCB)中还包含了一些用于中断控制的寄存器,你理解这些寄存器吗?
2025-05-26 08:42:50
722
原创 回调函数,到底调了个啥?
回调函数,相信大家多多少少都有听过,有些小伙伴已经深刻理解其精髓,并在项目中用得游刃有余,当然还有一些小伙伴,处于一知半解甚至完全懵逼的情况。到底什么是回调函数?和普通函数有啥区别?为啥要用回调函数?
2025-05-17 07:01:07
663
1
原创 Linux 常用命令 -hostnamectl【主机名控制】
hostnamectl 命令中的 "hostname" 顾名思义,指的是计算机在网络上的名称,"ctl" 是 "control" 的缩写,意味着控制。hostnamectl 命令用于查询和修改系统主机名以及相关的设置。它通过与 systemd 系统管理器交互,允许用户以简单的方式管理主机名,而无需直接编辑配置文件。主机名在网络中用于标识设备,方便用户和服务进行通信和识别。
2025-05-14 17:36:22
644
原创 深入理解 Cortex-M 处理器中异常与中断的优先级
对于 Cortex-M 处理器(包括 ARMv6-M 和 ARMv7-M)异常是否能被处理器接受以及合适被处理器接受并执行异常处理,是由异常的优先级和处理器当前的优先级决定的。更高优先级的异常(优先级编号更小)可以抢占低优先级的异常(优先级编号更大),这就是异常/中断嵌套的情形。
2025-05-12 09:14:35
903
原创 深入理解 Cortex-M 的异常和中断
嵌入式开发免不了要和异常和中断打交道,其中中断是实时性的重要保证,可能大部分工程师对中断非常熟悉,日常编码中也经常用到中断,但实际上,中断只是异常的一种,在中断之上有一个非常严密的异常机制。
2025-05-11 08:08:25
670
原创 既然指针的本质是地址,那为啥还需要指定数据类型呢?地址不就是一串 0x 数字吗?
既然指针的本质是地址,那为啥还需要指定数据类型呢?地址不就是一串 0x 数字吗?
2025-05-09 20:05:16
825
原创 Linux 常用命令 - tftp【简单文件传输协议】
tftp 源于 Trivial File Transfer Protocol(简单文件传输协议)的缩写。它被用于在本地主机和远程主机之间传输文件,尤其是那些非常精简的、通常是嵌入式的系统。 你可以在命令行中指定远程主机,如果指定了,tftp 会将该主机作为后续传输的默认主机。
2025-05-08 20:40:24
1048
原创 Linux 常用命令 - tar【归档与压缩】
tar 这个名称来源于 "tape archive",最初设计用于将文件归档到磁带上。现在,tar 命令已经成为 Linux 系统中最常用的归档工具,它可以将多个文件和目录打包成一个单独的归档文件,并且可以选择使用不同的压缩算法进行压缩,以减小归档文件的大小。tar 本身只是一个打包工具,不具备压缩功能。通过与其他压缩工具(如 gzip、bzip2、xz)结合使用,可以实现归档和压缩的双重目的。
2025-05-02 19:39:48
1586
原创 【ESP32S3】 下载时遇到 libusb_open() failed 解决方案
下载时遇到 libusb_open() failed 解决方案
2025-04-25 20:59:30
484
原创 Linux常用命令 - scp【OpenSSH 安全文件拷贝】
scp,全称 "secure copy" 即“安全拷贝”,scp 命令基于 SSH (Secure Shell) 协议,用于在 Linux 系统之间或 Linux 系统与本地计算机之间安全地传输文件。它通过加密数据传输过程,防止敏感信息在网络上被窃取,保证了文件传输的安全性。底层原理是利用 SSH 协议建立安全的连接,然后通过该连接进行文件复制。
2025-04-24 08:47:19
644
原创 Linux 常用命令 -pkill【通过进程名或其他属性来发送信号给一个或多个进程】
pkill 来自 "process kill",意为进程终止。它允许你通过进程名或其他属性来发送信号给一个或多个进程,而无需手动查找进程 ID (PID)。pkill 命令在需要批量终止进程或根据特定条件终止进程时非常有用。 其原理是根据给定的模式匹配进程名,然后向匹配到的进程发送指定的信号(默认为 SIGTERM)。
2025-04-20 19:44:26
599
原创 Linux 常用命令 - killall【通过名称终止进程】
killall 命令,顾名思义,是 "kill all" 的缩写,即“杀死全部”。它允许你通过进程的名称,而不是进程ID(PID),来向一个或多个进程发送信号。killall 命令简化了向多个具有相同名称的进程发送信号的过程,无需手动查找每个进程的PID。
2025-04-17 10:12:18
1066
原创 Linux 常用命令 - ip 【显示和配置网卡参数】
ip 是 "Internet Protocol" 的简写,属于 iproute2 工具集的组成部分。这个多功能网络配置工具通过 netlink 协议直接与内核通信,用于管理网络接口、路由表、ARP 缓存、隧道等网络组件。
2025-04-11 12:38:17
949
原创 Linux 常用命令 - last 【显示历史登录用户列表】
last 命令源自英文单词 "last",意为“最后”。该命令用于显示系统中用户的登录和注销记录,以及系统的重启和关机记录。它通过读取 `/var/log/wtmp` 文件来获取这些信息,`wtmp` 文件记录了所有用户的登录和注销活动。
2025-03-23 14:21:12
922
原创 Linux 常用命令 - echo 【输出一行文字】
echo 命令源自英文单词 “echo”,意为“回声”或“反馈”。在 Linux 系统中,它主要用于在终端显示一行文字,是一种输出字符串或变量到标准输出(通常是屏幕)的简单方式。
2025-02-17 08:46:04
1298
原创 Linux 常用命令 - ps 【显示进程状态】
ps 命令源于 “process status(进程状态)”,用于显示当前系统中的进程信息。它可以展示进程的诸多细节,如 PID(进程ID)、正在运行的命令名、CPU使用率、内存使用、运行时间等。基本原理是读取系统中与进程相关的数据,如 /proc 文件系统中的信息,并以用户友好的方式展示出来。
2025-02-09 18:22:49
2023
原创 Linux 常用命令 - sort 【对文件内容进行排序】
sort 命令源于英文单词 “sort”,表示排序。其主要功能是对文本文件中的行进行排序。它可以根据字母、数字、特定字段等不同的标准进行排序。`sort` 通过逐行读取文件(没有指定文件或指定文件为 `-` 时读取标准输入)内容,并按照指定的排序规则对行进行排序,最后输出排序后的结果。
2025-01-27 14:30:00
1017
原创 Linux 常用命令 - chmod 【改变文件或目录权限】
"chmod" 这个命令来自于 "change mode" 的缩写,用于更改文件或目录的访问权限。这个命令允许用户设定谁可以读取、写入或执行一个文件。在 Linux 和其他类 Unix 系统中,文件权限对系统安全和用户隐私至关重要。
2025-01-16 19:19:55
1848
原创 Linux 常用命令 - which【定位可执行文件的位置】
which 命令源自于英文单词 "which",用于在环境变量 PATH 所指定的路径中搜索某个可执行文件或链接(如一个系统命令)的位置,并返回第一个搜索结果。这个命令会遍历 PATH 环境变量中的所有路径,直到找到指定的可执行文件。
2025-01-13 14:45:23
253
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人