- 博客(195)
- 资源 (2)
- 收藏
- 关注
原创 IC卡、M1卡及各类卡的原理使用说明
请参考:https://blog.youkuaiyun.com/dancehole/article/details/126868829。
2025-02-20 17:05:38
317
原创 cppcheck 安装使用
官网下载:https://cppcheck.sourceforge.io/windows 需要下载安装包安装,ubuntu可以用apt安装。
2024-12-12 15:03:57
1332
原创 curl支持ssl错误:curl: (60) SSL certificate problem: certificate is not yet valid
在测试curl命令的时候发现curl: (60) SSL certificate problem: certificate is not yet valid出现这个错误,已经设置了ssl证书路径,最终发现是板子上时间不对,设置时间后可以正常使用。
2024-10-21 14:39:41
839
原创 curl支持ssl报错:SSL certificate problem: unable to get local issuer certificate
在使用curl时返回CURLE_OUT_OF_MEMORY,猜想可能是ssl的问题,用curl命令做实验发现访问http没问题,访问https会有问题,根据打印log判断是缺少证书,需要下载证书并声明证书路径。
2024-10-21 09:11:10
2082
原创 win10 提示pl2303hxa已停产,请联系供货商解决方案
需要下载老版的驱动,下载地址:https://www.pcsoft.com.cn/soft/211569.html。
2024-10-09 14:52:44
1285
1
原创 VSCode用ssh连接ubuntu虚拟机实现远程访问文件夹
参考链接:https://blog.youkuaiyun.com/m0_48418397/article/details/136920175。连接后就可以打开我们想要访问的文件夹,连接的时候会提醒输入明码,我们按提示输入即可。保存配置文件并刷新,注意观察右下角会有连接进度。
2024-07-09 16:33:05
755
原创 ubuntu虚拟机安装samba server实现windows访问虚拟机文件
第一次访问需要输入用户名和密码,用户名和密码是我们在ubuntu下添加的用户和密码,可以固定到快速访问下,方便每次打开。修改sudo vim /etc/samba/smb.conf配置文件,添加用户guomq的配置参数即可。ifconfig 查看ubuntu的IP地址,然后在windows下输入访问。
2024-07-09 15:57:44
243
原创 cbor的介绍及tinycbor的使用
CBOR(Concise Binary Object Representation)是一种轻量级的数据交换格式,类似于JSON,但它以二进制形式表示数据,而不是文本形式。CBOR设计用于在网络上传输数据时减少数据的大小和复杂性,同时保持良好的可读性和可扩展性。
2024-06-10 14:57:30
1953
原创 安装MinGW并在codeblocks下使用
选好以后在菜单栏选择 Installation->Apply changes 就会开始自动安装选中的包,安装好后就会在bin目录下看见安装好的exe可执行文件,也可以把bin文件夹添加到环境变量下。安装完成后会打开一个安装管理工具,在这个工具中我们选中想要安装的软件包然后安装到本地。安装好mingw后就可以在设置下编译器设置中的工具链设置中选择mingw使用。下载下来的知识一个安装器,我们双击安装会帮我们自动下载好相关文件。
2023-11-14 11:35:25
805
原创 python安装显示Requirement already satisfied: protobuf in xxx问题
这种问题一般是在环境变量中已经安装过此安装包,比如在anaconda3目录下。需要解决这个问题我们再用pip安装的时候就要指定绝对路径。
2023-05-22 17:13:03
664
原创 git仓库体积过大,如何减小?git仓库体积压缩,使用git-filter-repo删除历史大文件
如果我们在使用的过程中不小心将较大的二进制文件加入到仓库中,那么随着我们提交次数的增多仓库的体积将会不断的膨胀,例如我在项目中每次都会编译出一些so库文件,但是我并没有忽略这些文件,每次都会提交,随着时间的推移仓库体积不断膨胀,将不能再推送到远程仓库中我使用的是gitee远程仓库,由于仓库体积的不断膨胀,超出了最大限制,推送失败。
2023-03-31 14:17:08
4848
3
原创 交叉编译libxls和xlslib用于excel xls文件的读写
1. 交叉编译libxls(读取xls文件)下载地址:http://sourceforge.net/projects/libxls/交叉编译tar -xvf libxls-1.6.2.tar.gz # 解压库文件sudo apt install autoconf-archive # 安装automake相关工具autoreconf -if # 生成configure文件./configure --host=arm-linux CFLAGS=-fPIC CXXFLAGS=-fPIC CC
2021-12-14 18:05:32
3279
4
原创 iconv 编码转换
**使用iconv 转换utf-8到gb2312的时候出现 iconv Invalid or incomplete multibyte or wide character 错误**将gb2312换成GBK即可参考 :https://blog.youkuaiyun.com/zhangxuechao_/article/details/72769873
2021-09-26 12:02:34
890
原创 QT QImage显示图片后缀问题,不能显示图片(Image is a null image)
QImage在加载图片的时候是按图片后缀识别图片类型的,加入我们有一张png的图片,但是图片后缀却是jpg,这时候按jpg加载就会出错,所以我们加载图片的时候可以给QImage指定后缀列表QImage image(imgPath, "bmp,jpeg,png,jpg");if (!image.isNull()) { ...}...
2021-09-15 13:45:41
2962
原创 在linux系统中保存配置文件后重启系统内容不生效
前言我的设备是一个arm linux设备,在ui界面上写入ini配置文件后立即断电重启设备,发现被修改的内容并没有写入到配置文件中,还是原来的内容。1. 分析我的配置文件使用fopen()的方式打开,虽然在关闭之前调用了fflush()才fclose关闭文件,但是内容并没有被立即写入到真正的磁盘文件中, fflush()是一个c库的实现,并非系统调用,我们man 一下fflush, 在man手册中可以看到这样一句话:man 3 fflushfflush() 仅仅刷新用户空间的由 C 库提供的缓
2021-09-11 11:58:14
1111
原创 QT设置无边框窗口和透明窗口
前言有时候我们想做出比较好看的界面,这时候就要去掉qt原来的窗口标题栏。1. 去除边框和使窗口透明//去边框 同时保留窗口原有的属性setWindowFlags(Qt::FramelessWindowHint | windowFlags() );//把窗口背景设为透明setAttribute(Qt::WA_TranslucentBackground);2. 窗口置顶功能setWindowFlags(Qt::WindowStaysOnTopHint);...
2021-09-11 10:01:35
5967
原创 用 iperf 测试网卡吞吐率
1.下载iperfhttps://iperf.fr/iperf-download.php#windows下载好iperf后在windows下直接解压,然后在命令行启动iperf即可2.测试我们保证测试设备和pc在同一个局域网内,然后在windows上启动iperf,就可以开始测试pc端iperf -s // 启动iperf服务端设备iperf -c 192.168.5.21 -i 1 -t 60 -w 1M -p 5201-c 客户端-i 1 发包间隔1秒-t
2021-09-07 10:08:16
823
原创 vim 编辑文本会在最后添加一个空行问题解决
1. 前言今天在使用vim编辑文本的时候发现会在最后添加一个空行,这个空行用vim和great打开都是看不到的,用vscode或者其他编辑器打开就会发现后面多了一个空行,如果是普通的文本多个空行也就不用关心了,但是现在要用这个文本做一个进程的启动脚本用,多了一个空行让他的状态出现了错误。2. 解决方法vim -b xxxxset noeol或者写到.vimrc里set binaryset noendofline如果不是必须要用vim,可以使用vscode...
2021-07-08 15:58:40
1352
原创 QT UI线程错误(Backtrace stopped: previous frame identical to this frame (corrupt stack?))
1. 简述在qt程序中出现了Backtrace stopped: previous frame identical to this frame (corrupt stack?)错误,导致程序崩溃,gdb查看如下图:2. 原因分析自己是在一个QT线程中接收别的线程的消息,接收到消息后刷新主界面,所以刷新主界面的动作并不是在主线程做的,这有可能会导致Qt程序发生错误,后面做出了修改,界面的操作放在了主界面类的信号槽函数中,消息线程接收到消息后发送信号来通知主界面,由此解决了此问题,关于这个问题的具体原因
2021-06-02 19:39:41
4748
原创 嵌入式linux gdb调试(段错误调试)
1. 下载gdbftp://ftp.gnu.org/gnu/gdb 2. 交叉编译tar -xvv gdb-7.12.1.tar.gz./configure --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc --prefix=`pwd`/_installmakemake install编译完成后我们把gdb可执行文件拷贝到目标板上3. ulimit 打开core文件ulimit -c unlimited打开core
2021-06-02 19:28:47
492
原创 关闭内核printk打印
关闭内核printk打印有时候我们在应用层调试程序的时候想暂时屏蔽掉内核的无用打印,可以用以下方法暂时关闭echo 0 > /proc/sys/kernel/printk
2021-04-21 10:31:04
2436
原创 1126/1109嵌入式linux-ar下配置移远 EC200S 4G 模块
1. 简介要在嵌入式linux上支持EC200S模块我们需要按照移远的文档先配置usb的驱动,关于USB串口的配置我们不在此赘述,移远的文档写的很详细,我们重点在这里说下 ECM和RNDIS的配置。RNDIS即虚拟网卡,是分为主机和丛机的,如果使用从机的话我们的板卡可以虚拟成一个网卡使用,从机的配置如下:2. 板卡的RNDIS配置我们要是用EC200S模块那我们的板卡是作为RNDIS的主机(host)来使用的,那我们就需要开启RNDIS的支持,看官方的文档配置路径在下图:但是在上面的路径下我们
2021-04-19 21:11:16
1896
1
原创 gcc 的编译选项 -O 使用注意事项
1. 序言我们知道gcc 的 -O 选项是用来在编译时帮我们做优化的,但是这种优化是存在一定风险的,可能会导致代码并没有按照你的意图执行比如下面这段代码:#include <iostream>#include <pthread.h>#include <unistd.h>using namespace std;static int flag = 0;void test(){ int a = 10; int b = 20; c
2021-01-18 22:53:03
1210
原创 cmake交叉编译paho-mqtt-c并添加编译选项 -fPIC
1. 在交叉编译paho-mqtt-c时用的是cmake的方式编译的,如果我们想要添加一些额外的编译选项就需要我们修改CMakeLists.txtSET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fpic -shared")SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpic -shared")2. 交叉编译$ git clone https://github.com/eclipse/paho.mqtt.c.git #下载源码
2021-01-04 12:01:17
1631
原创 linux下编译动态库时提示:`Curl_cmalloc‘ can not be used when making a shared object; recompile with -fPIC
1. 序言我在linux下编译动态库,其中使用到了curl的静态库,但是编译时报出错误:“`Curl_cmalloc’ can not be used when making a shared object; recompile with -fPIC”我们知道编译动态库的时候编译 .o 文件的时候需要加 -fPIC 这个连接,而我连接的culr库是没有...
2021-01-04 11:48:58
590
原创 Linux shell脚本中用expect实现自动输入密码
1. 安装 expectsudo apt-get install tcl tk expect2. 使用示例下面是一个scp的使用例子#! /usr/bin/expect # 表示使用expect的shell的交互模式set timeout 100 # 设置超时100秒,如果要执行的shell的命令很长可以设置超时时间长一些,expect超过超时时间没有检测到要找的字符串,则不执行,默认超时时间为10秒set password "root" # set对password赋值spawn s
2020-12-28 10:48:36
840
原创 OpenSSH移植
1. 简介OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控制和文件传输过程中的数据,并由此来代替原来的类似服务。2. 下载移植的的时候需要用到openssh、openssl、zlib这三个库(openssh依赖于
2020-12-11 18:50:25
1691
原创 linux内核配置make menuconfig: 报错 Unable to find the ncurses libraries or the
linux内核 meke menuconfig 进行配置时出现如下错误 Unable to find the ncurses libraries or the这个错误是因为这是缺少 ncurses 库导致的问题解决,安装ncuress库sudo apt-get install libncurses5-dev
2020-12-06 23:05:45
417
原创 Windows下搭建QT开发环境
1. 下载 qt 的集成环境下载地址:http://download.qt.io/new_archive/qt/这里我们选择 5.11.1 这个版本下载下载exe文件即可2. 安装集成环境
2020-12-03 11:04:14
534
原创 在 linux 上安装 GitHub Desktop
1. ubuntu 安装 github desktop官方并没有提供github desktop,好在是开源的,所以有第三方的我们可以安装仓库地址安装方法$ wget -qO - https://packagecloud.io/shiftkey/desktop/gpgkey | sudo tee /etc/apt/trusted.gpg.d/shiftkey-desktop.asc > /dev/null$ sudo sh -c 'echo "deb [arch=amd64] https:/
2020-11-27 16:15:19
1542
原创 fatal error: sqlite3.h: 没有那个文件或目录
fatal error: sqlite3.h: 没有那个文件或目录这是因为没有安装sqllite3的相关库,安装以下库即可sudo apt-get install libsqlite3-dev
2020-11-27 14:17:15
1877
原创 ubuntu下NFS配置(用于嵌入式开发)
1. NFS简介NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。(引自百度百科)2. 配置ubuntu虚拟机如果开发使用的是虚拟机的话这块需要配置虚拟机的网络适配器为桥接模式,这样虚拟机才能跟主机在一个网段,跟你的目标板也才能在同一个网段3. 服务端安装3.1 使用命令安装直接使用apt inst
2020-11-26 17:06:57
289
原创 linux localtime_r()获取的时间比实际时间差八个小时
在linux下用localtime_r()获取的时间比实际时间差八个小时,这个一般是因为时区设置导致的,我们可以在 /etc/profile 中设置时区设置为CST时区,然后source /etc/profile export TZ='CST-8'关于时区的详解可以参考:https://www.douban.com/note/147740972/...
2020-11-19 18:20:41
2933
原创 linux下ntpdate网络对时引发的血案
序言事情是这样的,Mqtt里面用的时间超时是用系统时间戳来计算的,然后在测试的过程中偶然发现Mqtt 在进入yield 的过程中会出不来,就是一直在里面等待,然后我一路往下看代码也没发现有可能阻塞的地方,然后反过来看超时的地方用的是系统时间戳,这块引起了我的注意,果不其然,我用date查看系统时间是2036年,难道穿越了,这时间怎么不对,现在才2020年啊,难道是ntpdate对时的时候出问题了,这也不应该啊,我反复测试ntpdate也没出现问题,然后我发现这个问题只有在系统重启的时候才有可能出现看来是
2020-11-19 18:05:42
417
原创 Mqtt 客户端工具安装使用
1. 安装eclipse paho 工具下载地址:https://repo.eclipse.org/content/repositories/paho-releases/org/eclipse/paho/org.eclipse.paho.ui.app/选择版本:下载完解压就可以使用了,但是需要提前安装jdk环境,没有下载的可以到以下链接下载下载链接下载完根据提示直接安装即可2. eclipse paho 工具的使用打开工具,在文件下拉菜单下新建连接,在选项里可以配置详细参数
2020-11-16 18:06:48
398
原创 c++ 编译错误 vtable for xxx 未定义的引用
1. 问题描述在c++编译的时候出现了 vtable for xxx 斜体样式*未定义的引用 的错误,应该是虚函数导致的,代码如下:(ProcessBtData继承了虚类)class DeviceProcessData{public: virtual int processData(unsigned char *data, int len) = 0; /** * @brief Destructor */ virtual ~DeviceProcessData();};class
2020-11-11 09:33:34
4829
2
原创 QT之界面布局
1. Qt界面布局Qt的界面布局大致分为三类:水平布局、垂直布局、栅格布局(以下示例图出自一位灵魂画师)水平布局垂直布局栅格布局2. 我们为什么需要界面布局1. 美观美观是显而易见的,我们通过一个简单地示例来演示一下,下面这张图是没有布局的布局后的界面,布局后界面的控件都对齐了,所以整个界面显得更加的好看2. 防止在不同的屏幕上界面显示错乱(显示不全,越出边界)下面是在有布局的情况下我们随意拖动,放大,缩小窗口,改变分辨率,界面依然能完整的显示出来但是没有布局的情况下,
2020-11-08 14:59:22
2111
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人