Linux-笔记 嵌入式gdb远程调试
目录
前言
实现
1、内核配置
2、GDB移植
3、准备调试程序
4、开始调试
前言
gdb调试器是基于命令行的GNU项目调试器,通过gdb工具我们可以实现许多调试手段,同时gdb支持多种语言,兼容性很强。
在桌面 Linux 系统(如 Ubuntu、CentOS 等)上,我们通常可以直接运行 gdb 来调试程序。然而,在嵌入式系统中,由于芯片性能较弱,直接运行 gdb 不太现实(除非是性能较强的嵌入式芯片)。因此,我们通常在 PC 端运行 gdb 工具,源码也在 PC 端,而对应的可执行文件则放在开发板上运行。为了实现这一点,我们需要在开发板上运行gdbserver,通过网络与 PC 端的 gdb 进行通信。因此,要在 PC 上通过 gdb 调试嵌入式程序,需要两个工具:gdb 和 gdbserver,其中 gdb 在 PC 上运行,gdbserver 则需要移植到开发板上运行。
一般的交叉编译器已经自带了GDB工具,主要为:gdb与gdbserver。在交叉编译器安装目录的bin目录内就有这两个工具。需要注意的是,不同的交叉编译工具链编译的可执行文件是不一样的,要注意开发平台上的文件系统编译使用的是什么交叉编译工具链,不然在执行gdbserver的时候会一直报错说找不到文件以及“During startup program exited with code 127”的报错信息。
实现
平台:T113
服务器:Ubuntu 16.04
交叉编译器:gcc-arm-linux-gnueabi
1、内核配置
Kernel hacking --->[*] Kernel debugging[*] KGDB: kernel debugger[*] Compile the kernel with debug info[*] KGDB: use kgdb over the serial console
2、GDB移植
进入交叉编译器安装目录的bin目录内,可以看到里面自带了gdbserver工具,将其放置到开发平台的根文件系统的/usr/bin目录即可。
3、准备调试程序
简单编写一个应用程序,使用交叉编译器编译成可执行文件,记得要加上“-g”,表示编译的时候加上调试信息,编译后使用scp传输到开发平台上。
#include <stdio.h>
#include <unistd.h>int main(int argc, char *argv[])
{unsigned int times = 0;for (int i=0; i<5; i++) {printf("runing times:%d\r\n", times);times++;sleep(1);}
}
4、在开发平台输入命令开启gdbserver等待PC端连接
gdbserver 192.168.31.54:2001 gdbtest
·gdbserver 工具
·192.168.31.54 PC端IP
·2001 端口 随便整一个
·gdbtest 应用程序
如果输入后报错说找不到文件或者报错“During startup program exited with code 127”那就可能是交叉编译器不对,编译出来的文件不可执行,这是本人遇到的情况。
5、PC端运行gdb工具进行调试,运行后就会如下图等待我们输入命令。
./arm-linux-gnueabi-gdb /<具体路径>/gdbtest
6、连接到开发平台,输入命令连接
//连接到开发板上
target remote 192.168.31.28:2001
·192.168.31.28 开发板IP
·2001 端口
看看开发板的情况,可以看到已经连接上了,接下来就可以进行调试了。
4、开始调试
在调试前先了解一下gdb的命令
命令 | 作用 |
l | 列出所有程序源码 |
b | 设置断点 |
c | 运行到断点处 |
s | 单步运行(会运行到函数里面) |
n | 单步运行(不会进函数里) |
p | 打印某个变量值 |
q | 退出gdb调试界面,运行后开发板上的gdbserver也会停止 |
1)列出程序源码
2)设置断点到main函数
3)运行程序,遇到断点会停下,可以看到停在了main起始位置
4)单步运行(进函数内),运行四次
5)打印变量值,可以看到已经=1了,因为我们运行过一次完整的循环了
6)自动执行程序,输入命令c,可以看到运行结束了,同时开发板也会打印出调试信息。
7)PC端退出gdb调试
相关文章:
![](https://img-blog.csdnimg.cn/direct/a10d381f266e42b694af573f3ff5a457.png)
Linux-笔记 嵌入式gdb远程调试
目录 前言 实现 1、内核配置 2、GDB移植 3、准备调试程序 4、开始调试 前言 gdb调试器是基于命令行的GNU项目调试器,通过gdb工具我们可以实现许多调试手段,同时gdb支持多种语言,兼容性很强。 在桌面 Linux 系统(如 Ubuntu、Cent…...
![](https://img-blog.csdnimg.cn/img_convert/71ac9c7ce23ef8f98a8393fb2ad708cc.gif)
观测云产品更新 | Pipelines、智能监控、日志数据访问等
观测云更新 Pipelines 1、Pipelines:支持选择中心 Pipeline 执行脚本。 2、付费计划与账单:新增中心 Pipeline 计费项,统计所有命中中心 Pipeline 处理的原始日志的数据大小。 监控 1、通知对象管理:新增权限控制。配置操作权…...
![](https://img-blog.csdnimg.cn/direct/5bf75448820040f4bb63c12ad7907d0f.png)
docker 拉取不到镜像的问题:拉取超时
如果每次拉取的时候遇到超时 error pulling image configuration: download failed after attempts6: dial tcp 31.13.94.10:443: i/o timeout 解决方法如下: 设置国内镜像源: sudo mkdir -p /etc/docker 然后 sudo gedit /etc/docker/daemon.json 或…...
![](https://img-blog.csdnimg.cn/direct/d04e360208d2483aa1e5dca0aff252a5.png)
防火墙双机热备
防火墙双机热备 随着移动办公、网上购物、即时通讯、互联网金融、互联网教育等业务蓬勃发展,网络承载的业务越来越多,越来越重要。所以如何保证网络的不间断传输成为网络发展过程中急需解决的一个问题。 防火墙部署在企业网络出口处,内外网之…...
![](https://img-blog.csdnimg.cn/direct/7f798216f1ff4b348d2fad6af5e78916.png#pic_center)
30分钟学习如何搭建扩散模型的运行环境【pytorch版】【B站视频教程】【解决环境搭建问题】
30分钟学习如何搭建扩散模型的运行环境【B站视频教程】【解决环境搭建问题】 动手学习扩散模型 点击以下链接即可进入学习: B站视频教程附赠:环境配置安装(配套讲解文档) 视频 讲解主要内容 一、环境设置 1.本地安装…...
![](https://www.ngui.cc/images/no-images.jpg)
使用Java连接数据库并且执行数据库操作和创建用户登录图形化界面(1)
创建一个Java程序,建立与本机mysql服务器上student数据库的连接,实现在tb_student学生表上插入一条学生信息:学号21540118,姓名王五,性别男,出生日期2003-12-10,所在学院5。 使用JDBC连接数据库…...
![](https://img-blog.csdnimg.cn/direct/7249532843354e4cb371f7405a6d78b3.png#pic_center)
HarmonyOS Next开发学习手册——弹性布局 (Flex)
概述 弹性布局( Flex )提供更加有效的方式对容器中的子元素进行排列、对齐和分配剩余空间。常用于页面头部导航栏的均匀分布、页面框架的搭建、多行数据的排列等。 容器默认存在主轴与交叉轴,子元素默认沿主轴排列,子元素在主轴…...
![](https://img-blog.csdnimg.cn/direct/4a3fce7baefd45689016d97c71aa6ac1.png)
centOS7网络配置_NAT模式设置
第一步:查看电脑网卡 nat模式对应本地网卡的VMnet 8 ,查看对应的IP地址。 第二步:虚拟网络编辑器 打开VMWare,编辑--虚拟网络编辑器,整个都默认设置好了,只需要查看对应的DHCP设置中对应的IP的起始&#…...
![](https://img-blog.csdnimg.cn/img_convert/3961d1beac4349ee3b23e85a152cfc64.png)
喜报 | 极限科技获得北京市“创新型”中小企业资格认证
2024年6月20日,北京市经济和信息化局正式发布《关于对2024年度4月份北京市创新型中小企业名单进行公告的通知》,极限数据(北京)科技有限公司凭借其出色的创新能力和卓越的企业实力,成功获得“北京市创新型中小企业”的…...
![](https://www.ngui.cc/images/no-images.jpg)
整合Spring Boot和Pulsar实现可扩展的消息处理
整合Spring Boot和Pulsar实现可扩展的消息处理 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 在现代分布式系统中,消息队列是实现异步通信和解耦…...
![](https://img-blog.csdnimg.cn/direct/c010a32578174d898f3875cfc13cf885.png)
如何给WPS、Word、PPT等办公三件套添加收费字体---方正仿宋GBK
1.先下载需要的字体。 下载字体的网站比较多,基本上都是免费的。随便在网上搜索一个就可以了,下面是下载的链接。 方正仿宋GBK字体免费下载和在线预览-字体天下 www.fonts.net.cn/font-31602268591.html 注意:切记不要商用,以免…...
![](https://img-blog.csdnimg.cn/direct/800bfa985c19477e80f70d70f9bca87b.png)
《重构》读书笔记【第1章 重构,第一个示例,第2章 重构原则】
文章目录 第1章 重构,第一个示例1.1 重构前1.2 重构后 第2章 重构原则2.1 何谓重构2.2 两顶帽子2.3 为何重构2.4 何时重构2.5 重构和开发过程 第1章 重构,第一个示例 我这里使用的IDE是IntelliJ IDEA 1.1 重构前 plays.js export const plays {&quo…...
![](https://img-blog.csdnimg.cn/direct/afee05b8d6e146e5a8c831c4e40517e0.png)
学会整理电脑,基于小白用户(无关硬件升级)
如果你不想进行硬件升级,就要学会进行整理维护电脑 基于小白用户,每一个操作点我都会在后续整理出流程,软件推荐会选择占用小且实用的软件 主要从三个角度去讨论【如果有新的内容我会随时修改,也希望有补充告诉我,我…...
![](https://img-blog.csdnimg.cn/img_convert/517dd9ffbdbdb3424faa3bf9e5c80b78.png)
使用ioDraw,AI绘图只需几秒钟!
只需几秒钟,就能将文字或图片转化为精准的思维导图、流程图、折线图、柱状图、饼图等各种图表! 思维导图 思维导图工具使用入口 文字转思维导图 将文本大纲或想法转换成可视化的思维导图,以组织和结构化您的想法。 图片转思维导图 从现有…...
![](https://img-blog.csdnimg.cn/direct/3c106ab046304b1ea3fcf047a2fc91f0.png)
Websocket解析及用法(封装一个通用订阅发布主题的webSocket类)
1、什么是WebSocket? websocket的目标是通过一个长连接实现与服务器全双工,双向的通信。是一种在单个TCP连接上进行全双工通信的协议,使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 js中创建websocket…...
![](https://www.ngui.cc/images/no-images.jpg)
Foxit Reader(福昕阅读器)详细安装和使用教程
第一部分:Foxit Reader简介和基本信息 1.1 什么是Foxit Reader? Foxit Reader(福昕阅读器)是一款功能强大的PDF阅读和编辑软件,以其快速、轻巧和丰富的功能而闻名。它不仅支持常规的PDF阅读功能,还提供了…...
![](https://img-blog.csdnimg.cn/direct/b2f5d8f1aeed4a4dbd03c0dc40e24b78.png)
c++静态成员变量和静态成员函数
1)C入门级小知识,分享给将要学习或者正在学习C开发的同学。 2)内容属于原创,若转载,请说明出处。 3)提供相关问题有偿答疑和支持。 我们可以使用 static 关键字来把类成员定义为静态的。当我们声明类的成…...
![](https://img-blog.csdnimg.cn/img_convert/55d760199cc61873f551076bbd128019.png)
视频共享融合赋能平台LntonCVS统一视频接入平台数字化升级医疗体系
医疗健康事关国计民生,然而,当前我国医疗水平的地区发展不平衡、医疗资源分布不均和医疗信息系统老化等问题,制约了整体服务能力和水平的提升。视频融合云平台作为推动数字医疗的关键工具,在医疗领域的广泛应用和普及,…...
![](https://img-blog.csdnimg.cn/direct/991824bc6ea8474b8e78f2879fd79e14.png)
Gin框架基础
1、一个简单的Gin示例 下载并安装Gin: go get -u github.com/gin-gonic/gin1.1 一个简单的例子 package mainimport ("net/http""github.com/gin-gonic/gin" )func main() {// 创建一个默认的路由引擎r : gin.Default()// 当客户端以GET方式访问 /hello…...
![](https://img-blog.csdnimg.cn/direct/1abe671de784450187dfc117efb51262.png)
用GPT-4纠错GPT-4 OpenAI推出CriticGPT模型
根据OpenAI周四(6月27日)发布的新闻稿,该公司新推出了一个基于GPT-4的模型——CriticGPT,用于捕获ChatGPT代码输出中的错误。CriticGPT的作用相当于让人们用GPT-4来查找GPT-4的错误。该模型可以对ChatGPT响应结果做出批评评论&…...
![](https://www.ngui.cc/images/no-images.jpg)
SQL CASE WHEN语句的使用技巧
SQL CASE WHEN语句的使用技巧 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 在SQL查询中,经常需要根据不同的条件进行分支处理,这时就…...
![](https://img-blog.csdnimg.cn/direct/106e604bb5304bbaba87a35603c530b7.png)
虹科技术丨跨越距离障碍:PCAN系列网关在远程CAN网络通信的应用潜力
来源:虹科技术丨跨越距离障碍:PCAN系列网关在远程CAN网络通信的应用潜力 原文链接:虹科技术 | 跨越距离障碍:PCAN系列网关在远程CAN网络通信的应用潜力 欢迎关注虹科,为您提供最新资讯! #PCAN #网关 #CA…...
![](https://img-blog.csdnimg.cn/375e98bb5f234607a3a0ba46513175e1.gif#pic_center)
【UE 网络】RPC远程过程调用 入门篇
目录 0 引言1 RPC基本概念1.1 定义1.2 分类 2 RPC的使用2.1 Client RPC2.2 Server RPC2.3 Multicast RPC 🙋♂️ 作者:海码007📜 专栏:UE虚幻引擎专栏💥 标题:【UE 网络】RPC远程过程调用 入门篇❣️ 寄语…...
![](https://img-blog.csdnimg.cn/img_convert/281c02884e183042eafaede9f2c1c592.png)
安装maven与nexus
安装maven与nexus Maven官网下载地址:http://maven.apache.org cd /data/software/wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.8.1/binaries/apache-maven-3.8.8-bin.tar.gz# 解压 tar xf apache-maven-3.8.1-bin.tar.gz -C /opt/[rooth…...
![](https://img-blog.csdnimg.cn/direct/27c992fa40c54d318a196c09d32ac5c1.png)
如何用DCA1000持续采集雷达数据
摘要:本文介绍一下如何通过mmwave studio软件,搭配DCA1000数据采集卡,对AWR1843BOOST进行不间断的数据采集。本文要求读者已经掌握了有关基础知识。 本文开放获取,无需关注。 到SensorConfig页面下,一步步操作…...
![](https://www.ngui.cc/images/no-images.jpg)
怎么用JavaScript写爬虫
随着互联网技术的不断发展,爬虫(web crawler)已经成为当前最热门的爬取信息方式之一。通过爬虫技术,我们可以轻松地获取互联网上的数据,并用于数据分析、挖掘、建模等多个领域。而javascript语言则因其强大的前端开发工…...
![](https://www.ngui.cc/images/no-images.jpg)
Leetcode 3203. Find Minimum Diameter After Merging Two Trees
Leetcode 3203. Find Minimum Diameter After Merging Two Trees 1. 解题思路2. 代码实现 题目链接:3203. Find Minimum Diameter After Merging Two Trees 1. 解题思路 这一题的话算是一个拓扑树的题目?总之就是从树的叶子节点不断向上遍历ÿ…...
![](https://www.ngui.cc/images/no-images.jpg)
【抽代复习笔记】24-群(十八):循环群的两道例题
例1:证明: (1)三次交错群A3是循环群,它与(Z3,)同构,其中Z3 {[0],[1],[2]}; (2)G {1,i,-1,-i},G上的代数运算是数的乘法,则G是一个循环群&…...
![](https://img-blog.csdnimg.cn/direct/6c6c8a86cb9749cdba2186629d30f7e9.png)
Linux常见操作问题
1、登录刚创建的用户,无法操作。 注:etc/passwd文件是Linux操作系统中存储用户账户信息的文本文件,包含了系统中所有用户的基本信息,比如用户名、用户ID、用户组ID、用户家目录路径。 注:etc: 这个目录存放所有的系统…...
![](https://img-blog.csdnimg.cn/direct/539485dd136a4d358a9717e8aaf5bd58.jpeg)
鲁工小装载机-前后桥传动轴油封更换记录
鲁工装载机 因前后桥大量漏齿轮油,故拆开查看、更换油封 一: 如图圈起来的地方是螺丝和钢板相别,用200的焊接电流用电焊机点开一个豁口后拆除螺丝。 转轴是拆除传动轴后的样子。 这就是拆下来的样子,这玩意插上边那图&…...
![](https://img-blog.csdnimg.cn/b5d166f9b12b4ce9ba4ef9adcc88eaa1.png)
商城自动化测试实战 —— 登录+滑块验证
hello大家好,我是你们的小编! 本商城测试项目采取PO模型和数据分离式架构,采用pytestseleniumjenkins结合的方式进行脚本编写与运行,项目架构如下: 1、创建项目名称:code_shopping,创建所需项目…...
![](https://img-blog.csdnimg.cn/direct/7ae136b0fcb04a969c5b465dda565a19.png)
8.计算机视觉—增广和迁移
目录 1.数据增广数据增强数据增强的操作代码实现2.微调 迁移学习 Transfer learning(重要的技术)网络结构微调:当目标数据集比源数据集小得多时,微调有助于提高模型的泛化能力。训练固定一些层总结代码实现1.数据增广 CES上的真实故事 有一家做智能售货机的公司,发现他们…...
![](https://img-blog.csdnimg.cn/direct/5e6b9511c0ad491282e7c4f1d5ebfb66.jpeg#pic_center)
【Matlab】-- BP反向传播算法
文章目录 文章目录 00 写在前面01 BP算法介绍02 基于Matlab的BP算法03 代码解释 00 写在前面 BP算法可以结合鲸鱼算法、飞蛾扑火算法、粒子群算法、灰狼算法、蝙蝠算法等等各种优化算法一起,进行回归预测或者分类预测。 01 BP算法介绍 BP(Backpropag…...
![](https://www.ngui.cc/images/no-images.jpg)
【Python】 数据分析中的常见统计量:众数
那年夏天我和你躲在 这一大片宁静的海 直到后来我们都还在 对这个世界充满期待 今年冬天你已经不在 我的心空出了一块 很高兴遇见你 让我终究明白 回忆比真实精彩 🎵 王心凌《那年夏天宁静的海》 众数(Mode)是统计学中另…...
![](https://www.ngui.cc/images/no-images.jpg)
Karabiner-Elements 设置mac键盘
软件下载地址: Karabiner-Elements 修改键盘位置,但是重启后,就消失了。 {"description": "New Rule (change left_shiftcaps_lock to page_down, right_shiftcaps_lock to left_commandmission_control)","manip…...
![](https://www.ngui.cc/images/no-images.jpg)
Mybatis实现流程
一,UserDAO 接口定义 首先,定义 UserDAO接口,包含 getList()方法,定义类型为List<User>: package dao;import model.User; import java.util.List;public interface UserDAO {List<User> getList(); }二,…...
![](https://www.ngui.cc/images/no-images.jpg)
简单的springboot整合activiti5-serviceImpl部分(1)
简单的springboot整合activiti5.22.0-serviceImpl部分(1) 原来的流程serviceImpl部分代码过多,所以此处单独记录一下,此处记录的是serviceImpl第一部分代码 package cn.git.workflow.service.impl;import cn.git.cache.api.BaseCacheApi; import cn.gi…...
![](https://img-blog.csdnimg.cn/direct/1f5b3797fe04437b8e13a6d9542ad53e.png)
snat、dnat和firewalld
目录 概述 SNAT源地址转换 DANT目的地址转换 抓包 firewalld 端口管理 概述 snat :源地址转换 内网——外网 内网ip转换成可以访问外网的ip 也就是内网的多个主机可以只有一个有效的公网ip地址访问外部网络 DNAT:目的地址转发 外部用户&#…...
![](https://img-blog.csdnimg.cn/direct/185af7b38a51411690f9e998bb471ed8.gif)
[数据集][目标检测]鸡蛋缺陷检测数据集VOC+YOLO格式2918张2类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2918 标注数量(xml文件个数):2918 标注数量(txt文件个数):2918 标注…...
![](https://www.ngui.cc/images/no-images.jpg)
前后端防重复提交
数据重复提交是一个大忌,会带来无效数据,应该在前端和后端都建议检测防范。 前端一般是按钮按下触发数据提交,如果用户鼠标操作习惯不好,或者鼠标或系统设置问题会导致鼠标连击,如果前端不做相关处理,可能会…...
![](https://img-blog.csdnimg.cn/direct/09006fa234cc40e9a5fed5d6b15878db.png)
JVM专题八:JVM如何判断可回收对象
在JVM专题七:JVM垃圾回收机制中提到JVM的垃圾回收机制是一个自动化的后台进程,它通过周期性地检查和回收不可达的对象(垃圾),帮助管理内存资源,确保应用程序的高效运行。今天就让我们来看看JVM到底是怎么定…...
![](https://www.ngui.cc/images/no-images.jpg)
binary_cross_entropy_with_logits函数的参数设定
binary_cross_entropy_with_logits 该函数参数: logits (Tensor) - 输入预测值。其数据类型为float16或float32。 label (Tensor) - 输入目标值,shape与 logits 相同。数据类型为float16或float32。 weight (Tensor,可选) - 指定每个批次二…...
![](https://img-blog.csdnimg.cn/direct/2269388ca0b341d6b54899163a10e13c.png)
Python 面试【★★★★★】
欢迎莅临我的博客 💝💝💝,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…...
![](https://www.ngui.cc/images/no-images.jpg)
C# StringBuilder
以下是一些基本的 StringBuilder 使用方法:创建 StringBuilder 实例:追加字符串:插入字符串:删除字符串:替换字符串:清空 StringBuilder:转换 StringBuilder 为字符串:使用容量&…...
![](https://img-blog.csdnimg.cn/direct/c9eb88475b5a4f249300ee1b4b9e4502.jpeg)
4个文章生成器免费版分享,让文章创作更轻松便捷
在当今这个信息飞速传播的时代,文章创作的重要性愈发凸显。无论是从事内容创作的专业人士,还是偶尔需要撰写文章的普通大众,都希望能更高效地完成文章创作任务。而在实际操作中,我们常常会遇到思路卡顿、没有创作灵感的问题。今天…...
![](https://img-blog.csdnimg.cn/direct/e41bea60654e4236b68f91586d86b633.png)
redis-cluster(集群模式搭建)
redis中间件版本: redis-5.0.5环境介绍 这里使用服务器数量3,分别为172.0.0.1,172.0.0.2,172.0.0.3,每台机器redis节点数量2个,共6个redis节点构成redis-cluster模式。编译安装包 在172.0.0.1的机器上进入安装目录 cd …...
![](https://img-blog.csdnimg.cn/direct/99ae95575e9c4737ada106ecd197efb2.png)
使用vite官网和vue3官网分别都可以创建vue3项目
问: npm init vitelatest 和 npm create vuelatest创建的vue3项目有什么区别? 回答: npm init vitelatest 和 npm create vuelatest 分别是使用 Vite 和 Vue CLI 工具创建 Vue 项目的两种方式,它们之间有几个主要区别: 1. **构建工具:** …...
![](https://img-blog.csdnimg.cn/img_convert/b005f95a32b78053cb6ffc638a2bfd6a.png)
PDF处理篇:如何调整 PDF 图像的大小
将视觉效果无缝集成到 PDF 中的能力使它们成为强大的通信工具。然而,笨拙的图像大小会迅速扰乱文档的流程,阻碍清晰度和专业性。幸运的是,GeekerPDF 和Adobe Acrobat等流行的应用程序提供了用户友好的解决方案来应对这一挑战。这个全面的指南…...
![](https://img-blog.csdnimg.cn/direct/2b8497a06b044634988c7a137b56b78f.png)
STM32 HAL库里 串口中断回调函数是在怎么被调用的?
跟着正点原子学习的HAL库写串口接收程序的时候一直有困惑,使用HAL_UART_Receive_IT开启接收中断后,为啥处理函数要写在HAL_UART_RxCpltCallback里,中断发生的时候是怎么到这个回调函数里去的? void MX_USART1_UART_Init(void) {h…...
![](https://img-blog.csdnimg.cn/direct/727a93c4a8154a5f8ec0517ae33524a4.png)
音视频入门基础:H.264专题(5)——FFmpeg源码中 解析NALU Header的函数分析
音视频入门基础:H.264专题系列文章: 音视频入门基础:H.264专题(1)——H.264官方文档下载 音视频入门基础:H.264专题(2)——使用FFmpeg命令生成H.264裸流文件 音视频入门基础&…...
![](https://i-blog.csdnimg.cn/direct/d4be0f929ea74f809a42fb79940040f3.png)
昇思25天学习打卡营第17天|ChatGLM-6B聊天demo
一、简介: 本次实验,基于MindNLP和ChatGLM6B模型搭建一个小的聊天应用,ChatGLM6B 是基于 GLM-4 模型开发的开源对话机器人,拥有 62 亿个参数,能够进行自然流畅的语言交流。在对话中,ChatGLM6B 可以胜任文案…...
![](https://i-blog.csdnimg.cn/direct/52c5e43d86594cc1b96abea94111e75e.png)
类继承-多继承虚继承
#include<iostream> using namespace std; class A1 { public:int a 10;}; class A2 { public:int b 20; }; class B :public A1, public A2 { public:int c 30; }; int main(){B b;cout << b.a << b.b << b.c << endl;return 0; } 如果基类…...
![](https://img-blog.csdnimg.cn/direct/901f8af29dab4151babb33f6711631db.png)
快手矩阵系统源码:构建高效短视频生态的引擎
在短视频内容创作和管理领域,快手矩阵系统源码提供了一套全面的解决方案,帮助用户和企业高效地构建和管理自己的短视频平台。本文将深入探讨快手矩阵系统源码的核心功能,以及它如何助力用户在短视频领域取得成功。 快手矩阵系统源码概述 快…...
![](https://www.ngui.cc/images/no-images.jpg)
golang实现网卡流量监控
获取当前时刻一分钟前的网卡流量排序 package mainimport ("fmt""github.com/mackerelio/go-osstat/network""log""net/http""sort""strconv""time" )var arr []map[string]int var arr2 []map[string]…...
![](https://i-blog.csdnimg.cn/direct/41de9e0e9fc8488c9a1cb7ab2a39930a.png)
电脑win7缺失dll文件一键修复的详细方法,dll文件的科学解析
电脑win7缺失dll文件其实要解决还是比较简单的,目前有很多种方法都可以直接进行dll文件修复,但是如果是一键修复这种方法的话就只有dll修复工具了,这是一种专门用来修复dll文件的工具,下面一起来详细的了解一下吧, 一.…...
![](https://img-blog.csdnimg.cn/direct/7ba106640b7b4d929f4c0a2e44a8c623.png)
【RabbitMQ实战】Springboot 整合RabbitMQ组件,多种编码示例,带你实践 看完这一篇就够了
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、对RabbitMQ管理界面深入了解1、在这个界面里面我们可以做些什么? 二、编码练习(1)使用direct exchange(直连型交换机)&a…...
![](https://www.ngui.cc/images/no-images.jpg)
湖北荆州:“铁娘子”战高温开展带电作业
但是,如果停电施工的话,会影响附近几百户居民用电,供电公司决定通过低压带电作业解决这一难题。荆州区供电公司铁娘子低压带电作业队接到任务后,发动荆州区公司低压带电作业区域协作中心成员,成立了两男三女组成的工作团队,迅速出发前往现场勘察,开展拉线更换。大家分工…...
![](https://www.ngui.cc/images/no-images.jpg)
加量不加价!问界新M7Ultra导购哪款更值得买?
本以为是焕新版,最终命名为Ultra版 名字不重要我们扒一扒新的M7 Ultra有哪些升级 哪款车型才是更值得入的呢?四款车型,5座车以及6座车分别对应单电机后驱版+四驱版车型1.5T发动机、42度电池包两驱车型纯电续航240公里四驱车型纯电续航210公里代替新M7的四款智驾车型7月1日前…...
![](https://www.ngui.cc/images/no-images.jpg)
魏牌咖啡系列车型OTA升级智能体验再跃升领跑高阶新势力
5月28日,魏牌新能源咖啡系列车型迎来OTA重磅升级。其中,魏牌蓝山迎来极具颠覆性的第6次OTA升级,备受用户关注的语音大模型、卡片式桌面、露营模式等功能全部上车;魏牌高山迎来第2次OTA升级,语音大模型、卡片式桌面、插枪远控等功能全部就位;摩卡、拿铁、玛奇朵则开启第8次…...
![](https://www.ngui.cc/images/no-images.jpg)
全新领克01vs同级竞品:颜值与性能谁更胜一筹?
在这个追求个性与品质的时代,豪华SUV市场竞争愈发激烈。然而,全新领克01以其独特的外观设计、科技感十足的内饰配置以及卓越的性能表现,成功脱颖而出,成为了市场上的一颗璀璨明珠。它颠覆了传统豪华SUV的刻板印象,以全新的姿态定义了未来豪华SUV的新标准。与此同时,作为同…...
![](https://www.ngui.cc/images/no-images.jpg)
被冷落的美系中级车!迈锐宝XL跌幅达6万,可惜30天才卖311辆
这两年国内新能源的崛起,让曾经在中级车销量边缘的车型,真的是更加艰难了,其中典型的例子就有迈锐宝XL、起亚K5、现代索纳塔、别克君威等车型,如果没有新势力的崛起,或许它们还能够在市场上取得不错的销量表现,但是从现在的汽车市场局面来看,它们已经很难有一番作为了。…...
![](https://www.ngui.cc/images/no-images.jpg)
Rosetta PyRosetta 源码包 安装包 下载
--- pyrosetta_src.zip包含以下包: | --- PyRosetta4.Debug.python27.ubuntu.release-185.tar.bz2 | --- PyRosetta4.Release.python27.linux.release-215.tar.bz2 | --- PyRosetta4.Release.python38.ubuntu.release-349.tar.bz2 --- pyrosetta_whl.zip包含…...