自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 pyOCD + VS Code 调试 STM32H7R7 指南

本文介绍了使用 pyOCD 和 VS Code 调试 STM32H7R7 微控制器的完整指南。主要内容包括: 环境准备: 安装 pyOCD 调试工具(0.44.1版本) 安装 STM32H7RS 设备包 配置 ARM GCC 工具链(13.3.1版本) 安装 VS Code cortex-debug 插件(1.12.1版本) launch.json 配置详解: 提供 bootloader 和应用调试两种配置模板 关键配置项说明(servertype、serverpath、postAttachCommands

2026-07-21 09:48:53 309

原创 MCU GUI资源分离方案(TOUCHGFX/LVGL/其他)

本文提出一种MCU GUI资源分离方案,适用于TouchGFX/LVGL等框架。方案基于STM32H7R7平台,采用LRUN模式(代码从NOR Flash拷贝到HyperRAM执行),将GUI资源(图片、字体)从固件中剥离,单独存储在NOR Flash资源分区。通过XIP直接访问资源数据,节省RAM空间并优化性能。文章详细介绍了Flash分区布局设计(包含Boot、固件槽位、资源分区)、工程结构(Makefile构建系统)、链接脚本配置及资源访问机制,为解决GUI资源占用过大问题提供了实用方案,适用于嵌入式

2026-07-01 11:55:15 385

原创 CANOpen 移植+调试 LINUX(主站)+STM32(从站)

本文介绍了在STM32F407VG芯片上移植CANopenNode库实现CANopen从站的完整流程。主要内容包括:1)LINUX主站编译步骤;2)STM32工程结构及硬件配置(时钟、CAN、定时器);3)CANopenNode库移植方法(Makefile配置、对象字典生成);4)主程序集成(初始化、主循环处理、定时器中断)。项目实现了CANopen从站功能,包含LED控制、心跳检测和SDO/PDO通信,节点ID设为1,波特率为250kbps。通过STM32CubeMX生成基础工程,再集成开源CANopen

2026-03-24 17:11:05 919

原创 STM32 FreeModbus 移植(最详细)

本文档详细介绍了将 FreeModbus 协议栈移植到 STM32F407 微控制器的完整过程。移植基于 STM32CubeMX 生成的 HAL 库和 FreeRTOS 实时操作系统

2026-03-24 16:53:16 1361

原创 在ubuntu桌面环境中使用lvgl

本文介绍了在Ubuntu 22.04系统中编译运行LVGL图形库demo的完整流程。首先安装必要的编译工具和依赖库,包括gcc、cmake、SDL2开发库等。然后通过git获取lv_port_linux项目代码及其子模块。编译时可以选择SDL驱动配置或手动复制配置文件。最后生成的可执行文件lvglsim可直接运行,展示LVGL的图形界面演示效果。整个过程详细说明了从环境准备到成功运行的每个步骤。

2026-02-09 16:29:48 232

原创 EtherCAT 编译安装验证

从站必须使用专用的EtherCAT 从站控制器芯片接RJ45,不需要微处理器即可处理数据。也可以配置mcu通过SPI与从站芯片通信。建议根据实际需求选择框架,并优先进行小规模测试(如使用开源工具 EtherLab 或 SOEM 的示例代码验证通信)。EtherCAT数据直接嵌入在以太网数据帧中进行传输,没有协议栈的数据解析,使得数据延迟低,从站数据插入在报文中。主站没有特殊限制,使用标准的以太网卡就能实现,适配配所有以太网卡。Microchip的LAN9252芯片。的详细对比表格,涵盖核心维度。

2026-02-03 11:07:45 633

原创 vscode 中实现代码跳转功能

做c开发的程序员肯定被vscode函数跳转困扰,微软自带插件可以实现函数跳转,在十几个文件的小工程中还是挺好用,一旦文件数量有几百个几千个的时候,自带跳转功能就有点捉襟见肘了。C/C++ IntelliSense插件有一下几个缺点:1、只能适用小工程2、调转速度非常慢,一直在检索3、占用内存很大,内存莫名其妙被吃掉了4、占用大量的c盘空间以上几个问题,没有遇到说明工程很小,一旦工程数量变多,上面几个问题就会凸显。如何解决这些问题?

2025-01-04 14:34:13 7119

原创 vscode ssh远程时tmp都是preamble* 文件

preamble* 是clangd 语言分析服务器 产生的临时文件,有这个文件的话,就可以进行函数跳转,而且速度很快。但是会占用大量的空间,文件默认生成路径是/tmp。在多人使用的公共服务器上,/tmp目录创建文件或者某个用户占用很大空间显然是非常不好的,因此需要更改临时文件的生成路径。clangd 可以识别 TMPDIR作为tmp的路径,因此可以在 ~/.bashrc 添加 TMPDIR的环境变量。使vscode生效要使系统生效不能简单的 source 或者重启终端,这样是不可以的,必须重启code-

2022-06-24 14:05:34 1771 2

原创 使用小爱同学来控制电脑关机

使用小爱同学来控制电脑关机前言实现原理创建账号PC端程序编写连接mqtt前言做这个项目的原因是因为本人太懒,经常写完代码就没想着关电脑,然后去玩手游去了。接着洗完澡躺下准备睡觉的时候发现电脑的电源灯还亮着,已经进入温暖的被窝还要起床关电脑,这真是一种折磨。因此想能不能远程控制关机,向日葵还要打开,然后登录,接着找到关机按钮,实在繁琐。所以就在想能不能让我的小爱同学帮忙关电脑呢,因此这个项目就这样产生了。实现原理原理其实很简单,就是让手机给电脑发一条指令,让电脑的cmd执行shutdown -h这个指

2022-01-26 10:18:49 16188 15

原创 使用arm(orange pi r1 plus)开发板搭建私有云服务

使用arm开发板搭建私有云服务===========================================本篇文章是介绍使用一块arm的开发板构建一个私人的云服务器(nas),上篇文章介绍了如何构建orangepi r1 plus 的系统。接下来会使用这个系统搭建私有云。云服务器软件选择想要实现私人nas肯定需要一个云盘系统软件,在github上找到这个款功能强大的云服务软件Cloudreve,具体功能查看官方介绍下载并且运行选择一个自己需要的版本,如果没有那么只能编译,编译过程查

2021-08-17 11:04:01 2341

原创 构建orangePi r1 plus (RK3328)系统的整个过程

构建orangePi r1 plus 系统的整个过程前言 本内容是用于构建orangePi r1 plus系统的,不使用官方脚本构建,而是使用官方源码一点一点构建起来,适用有编译linux基础的开发者。下载toolchail地址解压之后 添加到环境变量中export PATH=$PATH:/home/lan/orangePi/tools/gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu/bin编译linux内核下载linux内核点击进入

2021-06-09 15:21:27 2332 1

原创 优化ubuntu18 窗口切换只能在不同程序之间切换的问题,修改ubuntu18 窗口切换快捷键

修改ubuntu18 窗口切换在ubuntu18中窗口切换变得很奇怪,按alt+tab只能在不同程序之间切换,相同程序的多窗口不能切换,比如打开了三个vscode需要来回切换看代码,然而ubuntu18不支持这样的操作。需要按alt+tab之后停住用鼠标选择,简直脱裤子fangpi。因此需要修改一下多任务切换的快捷键。进入设置->设备->键盘 找到切换窗口 修改快捷键为alt+tab,直接确认就行。这样窗口切换起来非常方便。二、使用步骤1.引入库代码如下(示例):import

2021-05-25 13:58:07 1199 2

原创 分析uboot顶层makefile解析uboot的编译过程生成u-boot.bin的过程

uboot的编译过程本篇文章通过思维导图解析uboot从.c文件到bin文件的整个过程,要理解文章内容需要对makefile语法有一定的了解、知道strip、filter、filter-out、if、patsubst等函数的用法,知道makefile目标与依赖的规则。一、生成过程...

2021-05-20 09:48:23 540

原创 8188eu usbwifi模块的ap模式,rtl8188_hostapd

8188eu usbwifi模块的ap模式,rtl8188_hostapd文章目录8188eu usbwifi模块的ap模式,rtl8188_hostapd前言一、编译8188eu.ko二、编译hostapd1.下载hostapd源码2.修改makefile编译3.复制需要的文件4.运行hostapd总结前言rtl8188的wifi模块ap模式的使用,写这篇文章也是为了让看到这篇我文章的人不至于采坑。hostapd是有坑的,不能直接下载编译。也是记录下自己解决的方法。一、编译8188eu.ko

2021-04-30 09:52:23 6293 4

原创 linux关闭socket不立即释放端口的问题

在linux终止一个程序之后不回立即释放端口,因端口上有处于TIME_WAIT的连接。需要等到一定的时间才能自动释放,如果有重启服务的要求,服务是无法启动的。解决办法就是端口复用,配置socket端口为SO_REUSEADDR模式。用以下代码:int opt = 1;setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, (const void *)&opt, sizeof(opt));在创建socket 之后执行这段代码即可。...

2020-12-30 15:03:00 4561

原创 嵌入式开发之开发板直连电脑双网卡配置

嵌入式开发之开发板直连电脑双网卡配置前言虚拟机连接开发板配置Ubuntuwindows配置开发板配置主机连接外网前言现在笔记本电脑逐渐取消了网口,移除了有线网卡,导致linux驱动开发的程序员无法通过网线直连开发板。当然可以使用usb有线网卡代替,往往这时候就需要关闭无线网卡,不然虚拟机的linux环境无法连通开发板,经过几天的研究发现无需禁用无线网卡也能实现虚拟机直接连通开发板,本地也可以连...

2020-04-09 21:15:49 2408 5

原创 浮点数与HEX之间快速转换

浮点数与HEX之间快速转换实际应用程序例程总结实际应用在很多物联网设备中数据传输的过程有时候需要将各种数据组包然后再发送,比如某个监控设备,需要将传感器获取到的温度、湿度、气压等信息上传至服务器,这时候就需要将三个数据组合传输。在串口或是SPI传输的时候是一个一个字节传输,这时候就需要将温度转换成相对应的四个字节HEX。具体怎么实现看下面的实例。程序例程比如当前温度为25.89摄氏度,这是...

2019-09-23 20:14:18 6749 4

空空如也

空空如也

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

TA关注的人

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