- 博客(8)
- 收藏
- 关注
原创 VS Code + OpenOCD 调试 STM32 配置指南(附 launch.json 详解)
在嵌入式开发圈子里,Keil MDK 凭借其历史地位长盛不衰,但其陈旧的界面、糟糕的代码补全和反人类的快捷键让无数现代开发者抓狂。越来越多的极客选择倒向VS Code的怀抱。但是,VS Code 本质上只是一个文本编辑器。想要让它像 Keil 一样,按下F5就能把编译好的代码烧录进单片机,并且还能打断点、看寄存器,你就必须配置好它的“调试指挥中心”——。今天这篇博文,我们就以为例,详细讲解的各项配置参数。现象原因解决办法提示找不到openocd命令OpenOCD 没加系统环境变量。
2026-05-30 10:12:53
444
原创 【C语言进阶】从内存看区别:普通变量 vs static 静态变量
本文深入探讨了C语言中static关键字的底层原理,从内存布局角度解析其与普通变量的核心区别。全文分为四部分:1)介绍C程序内存五大区(栈、堆、全局/静态区等);2)对比普通局部变量(栈区)和静态局部变量(全局区)在生命周期、初始化等方面的差异;3)分析普通全局变量和静态全局变量在链接属性上的区别;4)总结出面试必备口诀:修饰局部变量改变生命周期,修饰全局变量改变作用域。通过内存视角的剖析,帮助读者彻底理解static的本质特性。
2026-05-29 16:32:31
327
原创 const关键字修饰全局变量和局部变量时的异同
本文深入分析了C/C++中const全局变量与局部变量的核心区别。两者虽然都具有只读属性,但在内存分配、生命周期、作用域和修改行为上存在本质差异:全局const位于只读数据段,生命周期为整个程序运行期,强行修改会导致段错误;局部const位于栈区,仅存在于代码块作用域内,通过指针修改属于未定义行为。文章通过GDB调试验证了内存地址差异,并解释了C++中常量折叠机制导致输出不变的现象。这些底层差异对理解程序内存安全和编译器优化具有重要意义。
2026-05-28 22:34:32
303
原创 WSL2 下 OpenOCD 调试技巧:用 Bash Alias 实现 ST-Link 一键插拔
《WSL2下ST-Link一键调试技巧》摘要:本文介绍如何在WSL2中通过配置.bashrc别名实现ST-Link调试器的快速挂载与卸载。传统方法依赖易变的Bus ID,而本文方案通过绑定硬件ID(VID/PID)实现稳定识别。只需在.bashrc中添加两个alias命令(stlink-on/stlink-off),即可在WSL2终端一键完成设备连接/断开,无需反复切换系统或查找设备ID。这种方法解决了WSL2无法直接访问USB设备的痛点,显著提升了STM32开发效率,让嵌入式开发者在Windows平台上获
2026-05-16 10:11:52
394
原创 logisim字体太小如何解决
最近在学习华中科技大学的《计算机组成原理课程》。这门课程最大的特点就是实践性很强。它设定了一系列的实验项目,可以让我们像游戏闯关一样,在挑战完成这些项目的过程中,掌握和巩固知识。课程的实验平台也非常先进,既简单,功能又强大。在实用Logisim这个软件的过程中,我发现它的字体有些小,体验不佳。下面是解决方案左键单击选中要调整的应用图标然后鼠标右键菜单中选择“属性”。在弹出的菜单里单击“兼容”选项卡。在选项卡中单击“更改dpi设置”按钮。在弹出的菜单中单击勾选“代替高dpi缩放行为”,随后在缩放
2022-02-08 19:23:08
8690
5
原创 使用lLatex或Markdown编辑时,书写向量的模长(范数)的方法
我们在使用Latex语言编辑时,有时会需要写出向量的模长(范数)符号,那么这个符号如何书写呢?下面是三种实现方法(其中第一种既简单有美观,较为推荐):下图是三种方法的实际效果图∣∣v⃗∣∣||\vec v||∣∣v∣∣∣∣v⃗∣∣\mid\mid\vec v\mid\mid∣∣v∣∣∣∣v⃗∣∣\vert\vert\vec v\vert\vert∣∣v∣∣下图是对应的源代码示例一:$||\vec v||$ #第一种是在键盘上直接敲击出“|” 示例二: $\mid\mid\vec v
2021-01-24 12:04:29
16864
5
原创 2020-11-19
标题Python.matplotlib中的plt.savefig如何设置保存路径的问题经过踩坑和摸索,本人觉得在使用plt.figsave时有两点需要注意(1)在使用plt.figsave保存图片时,要注意路径中不要带有汉字,否则无法被识别(即使程序不报错,但是可能不会将图片保存下来)(2)在写指定保存的位置的文件路径时,最末一层应该是与想要保存的图片处于同一层的一个文件的名字代码示例:plt.savefig(r"F:\anoaconda\matplotlib_examples\xuanxiuke
2020-11-19 21:46:38
328
原创 2020-10-11
Python中列表的常用操作及程序样例List(列表)作为Python中常用的数据类型,经常被用于储存一些相关性极强的数据,例如,一个班级里所有学生的名字、一个班所有学生的英语成绩分数等等。比较常用的操作包括:创建一个数组,向数组中加入新的元素,删除数组中的特定元素,输出数组中的特定元素等等。一、创建一个数组当我们需要创建一个数组时,既可以直接创建,也可以先声明一个空数组,然后向该空数组中增添元素以完成数组。一个数组内的元素可以同时包括数字和字符串变量1、直接创建一...
2020-10-11 14:37:28
241
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅