自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MYLK的博客

岁月静好,懂得感恩,与你相随。

  • 博客(57)
  • 收藏
  • 关注

原创 LVGL模拟器开发环境核心文件详解(附完整代码+配置)

上一篇文章介绍了在 Windows 下基于 VSCode 搭建免安装 LVGL 模拟器开发环境的整体流程,本文将深入拆解**核心脚本、配置文件和代码**,让你不仅能“用起来”,更能“懂原理”,后续还能根据需求灵活修改环境配置。

2025-08-26 16:02:39 717

原创 在 VSCode 中搭建免安装的 LVGL 模拟器开发环境(Windows)

本文将详细介绍如何在 Windows 系统下,基于 VSCode 和免安装便携式工具链,从零搭建 LVGL 模拟器开发环境,支持 Windows 原生和 SDL2 两种后端,全程无需管理员权限,且环境隔离不污染系统配置。

2025-08-26 15:54:26 1045

原创 深入解析 U-Boot 早期启动核心:地址无关代码(PIC)的原理与实践

本文解析U-Boot早期启动核心——地址无关代码(PIC)。PIC不依赖固定加载地址,通过指令指针(PC)相对偏移访问数据、函数,可在任意内存地址执行。因SoC上电时DRAM未初始化,U-Boot初期需在SRAM运行,而SRAM地址与预设DRAM链接地址不符,普通代码会因绝对地址访问崩溃,PIC成为关键解决方案。文中还说明PIC依托PC偏移指令、全局偏移表(GOT)实现,及GCC的`-fpic`/`-fPIC`编译选项,通过对比与类比,助读者理解其对U-Boot早期启动的必要性。

2025-08-26 14:10:04 734

原创 吃透 Keil .sct 文件!嵌入式工程师必备:从语法到实战的内存布局指南

在嵌入式开发中,你是否遇到过这些问题:想把关键函数放到 RAM 中提速却不知如何操作?多块 Flash/RAM 的芯片不知如何分配代码?Bootloader 和应用程序共存时总出内存冲突?其实解决这些问题的核心,就藏在 Keil MDK-ARM 的一个特殊文件里 ——Scatter-Loading 文件(.sct 文件)。今天这篇文章,我们就从基础到实战,手把手教你玩转.sct 文件,彻底掌控单片机的内存布局。

2025-08-26 14:00:31 532

原创 嵌入式工程师必看!Keil MDK-ARM .sct 文件全解析,掌控内存布局就靠它

在嵌入式开发中,你是否遇到过这些问题:想把关键函数放到 RAM 中提速却不知如何操作?多块 Flash/RAM 的芯片不知如何分配代码?Bootloader 和应用程序共存时总出内存冲突?其实解决这些问题的核心,就藏在 Keil MDK-ARM 的一个特殊文件里 ——Scatter-Loading 文件(.sct 文件)。今天这篇文章,我们就从基础到实战,手把手教你玩转.sct 文件,彻底掌控单片机的内存布局。

2025-08-26 13:55:21 516

原创 【scons】添加指定路径下头文件路径和源文件

新增源码目录,想添加该源码目录下所有子路径作为头文件路径,以及添加该源码目录下所有源码。

2024-08-30 12:24:33 690

原创 【PySide6-QML】2. 添加菜单栏

本文使用MenuBar添加工具菜单栏,Action添加子菜单,并添加快捷键和动作回调。

2024-08-26 11:34:42 593

原创 【pyside6】添加应用图标

这个图标就是应用图标:默认图标是这样:

2024-08-22 15:01:05 571

原创 【DAP-HID】移植 DAPLink-HID 模式

移植 DAP

2024-07-12 17:23:43 536

原创 【CH32V305FBP6】移植 RT-Thread

移植 RT-Thread 到 CH32V305FBP6。

2024-07-05 19:23:24 402

原创 【CH32V305FBP6】USBD HS 虚拟串口分析

虚拟串口,端口 3 单向上报,端口 2 双向收发。

2024-07-02 21:48:52 715

原创 【CH32V305FBP6】USBD 初始化分析

分析 V305 USBD 初始化程序。

2024-07-02 17:00:29 490

原创 【CH32V305FBP6】通用定时器配置

使用通用定时器2作为芯片时基。

2024-07-01 20:34:51 339

原创 【PySide6】Repeater 子控件分析

修改 Column 控件下使用 Repeater 生成的子控件,但是没有 id 无法操作,使用 children 层层递归分析。

2024-06-26 15:34:56 324

原创 【PySide6】QML 与 Python 交互

1. QML 中调用 Python 方法2. Python 数据上报到 QML:信号方式

2024-06-25 15:50:13 1918 1

原创 【开关电源】Buck-Boost 电路

Buck-Boost电路,也称为升降压(step-up/step-down)转换器,是一种直流-直流(DC-DC)电源转换器,能够将输入电压转换为高于或低于输入电压的输出电压。这种电路的灵活性使其适用于多种电源转换需求,包括电池供电设备、电源适配器、电压调节等。

2024-06-20 11:13:38 1612

原创 【开关电源】Buck 降压电路

Buck降压电路,也称为降-降(step-down)转换器,是一种直流-直流(DC-DC)电源转换器,用于将输入电压转换为较低的输出电压。这种电路广泛应用于需要电压调节的电子系统中,如电池供电设备、电源适配器、计算机电源等。

2024-06-20 11:10:27 1128

原创 【开关电源】Boost 升压电路

Boost升压电路是一种直流-直流(DC-DC)转换器,它可以将一个较低的输入电压转换为一个较高的输出电压。这种电路在电源设计中非常有用,特别是在需要从低电压电源获取高电压输出的应用中,例如便携式电子设备、太阳能电池板充电系统、LED照明等。

2024-06-20 11:05:15 4569 1

原创 【ubuntu】修改时区

需求:虚拟机中的 Ubuntu 时间显示不正确,需要修改为正确的时区。

2024-06-20 10:45:56 738

原创 【LVGL v8.3】切换界面时内存变化分析

切换界面需要释放当前控件,否则控件一直存在,同时反复创建会导致内存泄漏。

2024-06-15 22:05:44 738

原创 【LVGL v8.3】修改 ARC 控件指针图片风格

在车辆仪表中,ARC 控件作为仪表指针,常用图片做特定显示指针Guider 1.7.2 初始化目前不能指定图片风格通过修改代码,追加效果。

2024-06-15 17:20:19 458

原创 【STM32】基于RTOS的CAN异步接收转发数据

现象:全局变量在 CAN 中断中存储数据,并设置同步标志,在主程序中检测标志后,打包并转发 CAN 数据,会出现 CAN 数据错乱现象分析:CAN 数据打包处理过程中,新的数据到来,导致数据包部分覆盖;解决方法:1. 在打包过程中,使用中断屏蔽,保护全局 CAN 数据;2. 使用环形缓冲区保存数据;3.使用队列同步数据方法分析:方法1裸机平台最简单,但会造成中断响应不及时,丢失部分数据,同样会干扰其他中断数据的接收,比如串口中断等;方法2需要对数据结构进行处理,协商存放和取出的规则;

2024-06-15 11:56:19 1089

原创 【LVGL】Guider 界面分析

分析Gui Guider-1.7.2-GA 生成的 LVGL 界面切换,资源管理等处理。

2024-06-15 11:10:40 806

原创 【CH32V305FBP6】USBD HS 中断分析

所有数据都通过中断 USBHS_IRQHandler 处理。

2024-06-13 11:12:42 707

原创 【CH32V305FBP6】USBD HS 描述符修改

USB HS 复合设备,CDC+HID功能:串口、DAP、CAN-HID、RS485。

2024-06-12 21:41:44 576

原创 【CH32V305FBP6】SysTick 配置

使用 SysTick 作为芯片的时基源。

2024-05-31 18:54:15 321

原创 【CH32V305FBP6】UART 配置

使用 PB15 和 PA8 作为串口1引脚。

2024-05-31 17:18:09 421

原创 【CH32V305FBP6】外部晶振

使用 USBD HS 必须开启外部高精度晶振。

2024-05-31 15:00:46 463

原创 【CH32V305FBP6】GPIO 操作

熟悉芯片的第一步,点亮一颗 LED 灯珠。

2024-05-31 14:48:45 438

原创 【CH32V305FBP6】调试入坑指南

避开 CH32V305FBP6 初步开发的一些常见问题。

2024-05-31 14:40:26 1243 1

原创 【PySide6】QML 与 Python 交互

在QML中直接调用Python定义的类和函数

2024-05-20 22:06:29 938 1

原创 【PySide6-QML】1. 创建 ApplicationWindow 项目

基于 Python 创建上位机应用

2024-05-20 22:00:10 455

原创 【瑞萨RA6M3】3. GPIO 实验

实验:LED 控制,高电平灭,低电平亮。初始化已经默认调用,直接写业务逻辑。配置为输出,默认高电平。

2024-05-18 12:53:19 232

原创 【瑞萨RA6M3】2. UART 实验

使用 uart9。

2024-05-14 20:04:50 244

原创 【瑞萨RA6M3】1. 基于 vscode 搭建开发环境(后续)

或者创建快捷指令:删除 .vscode/tasks.json,

2024-05-14 18:12:05 389

原创 【lv_port_win_codeblocks】lvgl 添加 freetype 支持

lvgl 仿真项目添加 freetype 支持

2024-04-10 15:45:27 988 1

原创 【瑞萨RA6M3】1. 基于 vscode 搭建开发环境

基于 vscode 调试瑞萨 ra6m3 芯片,使用 pyocd、gcc、gdb 等工具进行交叉编译及调试

2024-04-05 11:15:47 1847

原创 【C语言】函数入参写 uint8_t *data 和 uint8_t data[]有什么区别

C 语言中数组在传递给函数时会退化为指针,因此这两种表示方法在实际使用中没有区别。

2023-04-13 11:08:56 9818

原创 【单片机】添加printf函数后,gcc编译出来的固件大小明显比armcc大

库差异:GCC 和 ARMCC 可能使用不同的库实现,例如 C 标准库、启动文件和其他辅助库。在使用 GCC 时,可以考虑使用较小的库实现(如。要减小使用 GCC 编译器生成的固件大小,请尝试调整优化设置、库实现和链接选项。链接选项:在链接过程中,可以通过设置链接器选项来移除未使用的代码和数据。)和 ARMCC 编译器时,可能会注意到它们生成的固件大小有所不同。优化设置:不同编译器的优化选项和优化策略可能导致生成的二进制文件大小不同。(平衡性能和大小),以减小 GCC 生成的固件大小。),以减小固件大小。

2023-04-12 20:35:37 1582

原创 【Python】python 使用 log 打印

使用标准 log 加速调试

2023-03-30 12:04:12 893

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除