- 博客(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
原创 【PySide6】Repeater 子控件分析
修改 Column 控件下使用 Repeater 生成的子控件,但是没有 id 无法操作,使用 children 层层递归分析。
2024-06-26 15:34:56
324
原创 【开关电源】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
原创 【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
原创 【瑞萨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
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人