自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Stlink在线调试方法(KEIL)

本文介绍了使用STLink在线调试的KEIL配置方法:1)选择正确的芯片型号;2)输出配置勾选Debug信息;3)C/C++设置为优化等级0;4)调试器关键配置:选择实际调试器、启用Reset and Run、配置Flash编程算法、SW模式接口,特别注意要取消缓存选项的三个勾选才能设置断点;5)Utilities设置正确配置。这些步骤可确保硬件在线调试顺利进行。

2025-07-23 21:05:33 234

原创 Linux中core文件调试

本文介绍了Linux系统中core dump(核心转储)的概念与使用方法。core dump是程序崩溃时自动生成的内存快照文件,包含崩溃时的内存、寄存器状态等信息,主要用于事后调试定位问题原因。文章列举了常见的core错误类型(如段错误、空指针引用等),并详细说明如何使用gdb工具分析core文件,包括常用调试命令。针对找不到core文件的问题,提供了系统配置检查、核心转储开启方法以及core文件路径查找技巧。最后介绍了如何永久开启核心转储功能及修改core文件生成位置的方法。本文内容涵盖core dump

2025-06-25 22:46:03 895

原创 为什么STM32重定向printf一定需要使用microLIB

摘要 在STM32开发中,重定向printf到串口通常需要改写fputc而非printf本身,因为printf的高级格式化输出最终依赖底层fputc实现字符传输。Keil MDK环境下,使用MicroLIB库可简化此过程:该库默认关闭ARM半主机模式(避免调试依赖),且代码体积更小。实现时只需勾选MicroLIB选项并重写fputc(调用HAL库/标准库/寄存器的串口发送函数)。若禁用MicroLIB,则需手动关闭半主机模式并补充相关函数。两种方法均通过底层I/O重定向达成调试输出功能,MicroLIB方案

2025-06-13 22:13:56 1108

原创 RTL8723BS蓝牙模块驱动移植

本文在瑞芯微RV1103芯片上成功移植了RTL8723BS模块的蓝牙驱动,实现了通讯连接。由于RTL其他SDIO接口的蓝牙WIFI芯片接口相似,通过更换固件库即可移植其他型号驱动。移植流程包括下载编译驱动、添加固件、配置内核和设备树、修改buildroot软件包、测试并撰写启动脚本。所有相关程序及配置均在GitHub中提供。硬件上,将蓝牙使能引脚引至空闲GPIO。调试步骤涵盖加载驱动、重启dbus、配置串口连接蓝牙、启动rfkill及bluetoothd服务,最终实现了蓝牙设备的连接与通信。

2024-09-04 11:53:33 1771 1

原创 Linux系统安装gradle和配置环境变量

这里一定要对应自己的安装路径,最好到该目录下看看是否有bin文件夹,bin文件夹里面是否有gradle和gradle.bat两个文件。这里有二进制版本和完全版本,只需要下载二进制包就可以了,点击binary-only。接下来,需要配置环境变量,以便在系统的任何位置都能通过命令行访问Gradle,打开下载链接,在下载链接中找到想要下载的版本,如7.3版本。可以看到我安装的是7.3版本,对应的JVM为17.02。直接解压到你想安装的路径,如/user/local。下载完毕,找到下载包。

2024-09-03 22:25:12 2267 1

原创 保证Roborescue仿真救援项目运行的技巧(含网络问题)

Gradle的下载、安装、环境配置及仓库源设置全面指南。下载指定版本Gradle,解压并设置GRADLE_HOME及环境变量。配置本地仓库路径(GRADLE_USER_HOME),优化Gradle仓库源,通过init.gradle文件添加阿里云等镜像,提升依赖下载速度。在IDEA中灵活配置Gradle,支持使用gradle-wrapper.properties或指定本地安装路径,方便多人协作与项目构建。

2024-09-03 22:04:59 1072

原创 无线网络SSH登录开发板&&WIFI开机自启动

在本文中,我们介绍了如何通过编写bash脚本启动WIFI,并且通过无线网络SSH登录到开发板。首先,我们移植了WIFI网卡驱动,并将其配置为自动连接到指定的网络。然后,我们创建了一个bash脚本来执行这些配置,并将其放置在固件目录中。最后,我们在开发板上运行脚本并检查WIFI连接是否成功。通过这个方法,我们可以通过无线网络连接到开发板,从而方便进行文件传输和设备调试。

2024-07-26 14:51:54 1342

原创 RTL8723模块WIFI驱动移植

本文章在瑞芯微RV1103芯片移植了RTL8723BS模块的WIFI部分,实现了网络的链接。教程应该适配RV1103、RV1106、RV1126、RK3588等瑞芯微的芯片,对其他arm架构的Linux芯片的瑞昱WIFI移植也具有参考价值。RTL8723BS是一个集成了蓝牙和WIFI的模块,S代表的意思是SDIO。

2024-07-08 16:07:44 2502

原创 有效解决虚拟机Ubuntu网卡消失问题

引言怎么查看网卡解决网卡消失。

2024-07-04 11:07:32 4689

原创 C++的指针和引用问题

关于C++的指针和引用问题,查看注释部分,跑一下就知道了。

2024-07-04 10:30:28 141

原创 luckfox pico SDK环境部署方法

比较推荐的Ubuntu版本是22.04版本,因为官方指令中的一部分软件包(例如python-is-python3只有22.04及其以上才有)。指令一共两步,第一步获取最新的软件包信息,第二步下载并安装所有需要用到的软件包。LuckfoxPico官方给了相应的交叉编译的环境,一般都是用Ubuntu。运行了第二个指令后,会连续安装很多软件,具体安装内容查看指令。本小结介绍交叉编译环境搭建的过程。从git上直接下载,没什么好说的。下载官方给的软件开发套件。

2024-06-12 14:25:09 1112

原创 实用PCB设计(基于AD)

这个功能可以用来检查网表的链接情况。

2024-03-30 15:26:11 734

原创 电路设计学习笔记

当F为低频时,C越大,Xc越小;所以大电容比小电容更容易滤波;当F为高频时,Xc由于电感成分的原因,很大;这个时候,小电容要比大电容更容易滤波;所以得出了一个结论: 大电容滤低频信号,小电容滤高频信号。这里涉及到了寄生电感的知识。由上图可以看出,当C点电压大于A点电压的时候,即第一次峰值的时候,电容开始放电。一直放到A点电压高于C点电压开始充电,然后进入放电和充电的循环。放电和充电不断补充,波形基本平稳,接近直流,即为滤波电容。

2024-03-27 00:33:13 371

原创 简明Python语法

这个帖子的主要对Python的一些语法进行了总结,主要包括的是Python语言与其他编程语言所不同的部分,内容大多来源于网络。数据类型序列类型元素是否可重复是否有序列表list可变序列可重复有序元组tuple不可变序列可重复有序字典dict可变序列Key不可重复,Value可重复无序集合set可变序列不可重复无序函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。

2024-01-28 21:23:52 1052 1

原创 3.1线性回归:最小二乘法+岭回归

介绍了线性回归模型,包括最小二乘法的原理、最小二乘法中的注意点以及代码实现方法。回归分析是一种统计学方法,当给定样本的时候,用于估测多个变量之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。举个简单的例子,二元回归就是学习自变量x和因变量y之间的关系,当给定x之后能够大致估测出y的数值。当数据的维数比较高的时候,学习各个变量之间的关系的过程为多元回归。其中,自变量即相当于机器学习中的特征,因变量相当于机器学习中的标签。误差越小,一般就意味着我们学习得到的模型越好。误差。

2023-08-25 15:26:15 241 1

原创 RoboCup仿真救援项目基础教程

该博客为RoboCup Rescue仿真救援的入门教程,帮助大家快速入门学习并运行比赛的工程项目

2023-07-13 01:27:13 5084 25

【Linux环境高级编程】C/C++开发环境搭建与多进程编程关键技术详解在Linux环境下进行

内容概要:本文档《Linux环境高级编程.docx》全面介绍了Linux环境下高级编程的核心知识点和技术细节。首先,文档讲解了Linux的基础入门,包括环境搭建和C/C++编译器的安装与升级。接着,深入探讨了静态库和动态库的概念及其制作和使用方法,强调了动态库的优势和优先使用原则。此外,文档还详细介绍了Makefile的编写、main函数参数的解析、GDB调试工具的使用、时间操作函数、目录和文件操作函数、信号处理机制、进程创建与终止、僵尸进程的避免方法、多进程通信中的共享内存技术,以及循环队列、信号量和生产者/消费者模型的具体实现。 适合人群:具备一定Linux基础和编程经验的研发人员,特别是对Linux环境下的高级编程技术感兴趣的开发者。 使用场景及目标:①掌握Linux环境下C/C++开发的全流程,从环境搭建到复杂项目构建;②理解并熟练运用静态库和动态库,优化程序性能和维护性;③学会使用Makefile自动化编译过程;④掌握GDB调试技巧,提高程序调试效率;⑤熟悉Linux系统调用和库函数,能够进行高效的文件和目录操作;⑥理解并实现多进程间的通信与同步机制,确保程序稳定性和可靠性。 其他说明:本文档不仅涵盖了理论知识,还提供了大量实用的代码示例和操作指南,便于读者实践和理解。通过学习本文档,读者不仅能掌握Linux环境下的高级编程技能,还能深入了解操作系统底层机制,为解决实际开发中的复杂问题打下坚实基础。

2025-07-15

### 【Linux环境高级编程】C++编译与调试技术详解:静态库与动态库、Makefile及GDB调试工具的应用

下载链接:https://www.bilibili.com/cheese/play/ss4503 内容概要:本文档《Linux环境高级编程.pdf》涵盖了Linux环境下C++编程的多个关键主题,包括基础入门、编译与链接、静态库和动态库的创建与使用、Makefile的编写、main函数参数处理、GDB调试工具的使用、时间操作、目录操作、系统错误处理、信号处理、进程创建与终止、共享内存、循环队列、信号量以及生产者/消费者模型的实现。文档详细介绍了每个主题的理论背景及其具体实现方法,并提供了丰富的代码示例。 适合人群:具备一定编程基础,特别是对C++有一定了解的研发人员,尤其是从事Linux环境下开发工作的工程师。 使用场景及目标:①掌握Linux环境下C++编程的基本技能,如编译、链接、调试等;②深入理解静态库和动态库的区别及应用场景;③熟练使用Makefile管理项目构建;④学会处理main函数参数,操作环境变量;⑤掌握GDB调试技巧,包括core文件调试和正在运行程序的调试;⑥熟悉Linux时间操作、目录操作及相关库函数;⑦理解并能处理系统错误;⑧掌握信号的概念、类型及其处理方法;⑨学习进程创建、终止的不同方式及其状态;⑩了解共享内存的创建、使用及销毁,掌握循环队列、信号量的应用;⑪实现多进程间的生产者/消费者模型。 阅读建议:本文档内容详尽,涉及知识点广泛且深入,建议读者按照章节顺序逐步学习,结合实际编程练习加深理解。对于复杂概念,如信号处理、共享内存等,建议多次实践并查阅相关资料,确保掌握。此外,文档中的代码示例应亲自运行调试,以巩固所学知识。

2025-07-02

嵌入式RTL8723蓝牙驱动程序及makefile

里面包含了RTL8723BS所用到的所有的蓝牙驱动程序,包含rtk_hciattach工具、HCI串口蓝牙驱动等。 RTL8723BS蓝牙驱动程序及其Makefile的配置主要涉及到驱动文件的添加、内核配置、设备树配置以及驱动编译等多个步骤。以下是一个概括性的指导,由于具体步骤可能因不同的硬件平台和Linux内核版本而异,因此在实际操作中可能需要根据具体情况进行调整。 rtk_hciattach是一个与蓝牙相关的工具,它专门针对Realtek(瑞昱)的蓝牙芯片设计,用于在Linux系统上将串行端口与蓝牙协议栈(Bluetooth Host Controller Interface, HCI)进行连接。这个工具在嵌入式系统和物联网(IoT)领域尤为重要,因为它允许开发者在这些系统中集成和调试蓝牙功能。 HCI_UART,即主机控制接口(Host Controller Interface)通过通用异步接收及发送接口(Universal Asynchronous Receive Transmitter,UART)进行通信,是蓝牙技术中一种重要的连接方式。HCI(Host Controller

2024-08-22

RTL8723蓝牙WIFI模块固件

RTL8723模块是一种集成了蓝牙和WiFi功能的无线模块,广泛应用于各种智能设备中,如无人收银机、智能音箱、POS机等。 一、主要功能 蓝牙功能:支持蓝牙通信,可用于数据传输、音频传输等多种场景。 WiFi功能:支持2.4GHz频段的WiFi通信,提供无线局域网连接能力。 二、接口与规格 接口类型:根据具体型号,RTL8723模块可能提供SDIO、USB等接口,方便与各种设备连接。 传输速率:部分型号支持高达150Mbps的传输速率,满足高速数据传输需求。 供电电压:通常为3.3V,适用于多种低功耗设备。 三、应用场景 智能家居:作为智能家居设备的通信模块,实现设备间的无线互联。 物联网设备:在物联网场景中,提供设备到云端或设备间的无线通信能力。 便携式设备:如智能音箱、POS机等,需要同时具备蓝牙和WiFi功能的设备。 四、技术支持与驱动 驱动移植:对于需要将RTL8723模块集成到特定设备中的开发者而言,可能需要进行驱动移植工作。这通常涉及到修改内核、配置设备树等步骤。 技术支持:供应商通常会提供技术支持服务,帮助解决在开发过程中遇到的问题。 五、注意事项 兼容性:在选择RTL

2024-07-05

STM32单片机激光打靶(可以实现激光走迷宫,圆形和正方形迷宫)

电子设计竞赛中常用的激光打靶问题,利用STM单片机实现激光的移动、激光的循迹,最终从迷宫中移动的过程。 迷宫的宽度约为0.8cm,激光距离迷宫约为0.8m,与2023年电子设计竞赛有一定的相似之处,可以作为参考。 此外,里面还包括PWM、USART,OLED,LCD,MPU6050和键盘、超声波模块的固件库源码。 一、简介 STM32单片机是意法半导体公司(STMicroelectronics)推出的一款基于ARM Cortex-M内核的32位微控制器。它具有高性能、低功耗、丰富的外设和强大的处理能力,非常适合用于各种嵌入式系统的设计和开发。STM32F103系列作为STM32家族中的一员,以其广泛的应用和稳定性在市场中占据重要地位。 1. 硬件连接 在激光打靶系统中,STM32单片机作为核心控制单元,需要与激光发射器、光电传感器(如光电二元件或光敏二极管阵列)、显示装置(如LCD屏或OLED屏)等外设相连。通过GPIO口和各个外设进行连接,确保数据的传输和控制正常。 2. 硬件初始化 在代码中,需要对STM32单片机进行初始化设置,包括时钟配置、GPIO口配置等,以便与外设正常通信

2023-08-02

RoboCup仿真救援项目的项目代码

RoboCup仿真救援项目的项目代码,里面包含服务器和客户端,可以在Linux系统中配置环境并运行。

2023-07-12

空空如也

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

TA关注的人

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