- 博客(60)
- 资源 (4)
- 收藏
- 关注
原创 解决docker指令卡住的场景之一
本文档用于记录我在开发过程中遇到的一个docker使用问题,记录和分享于此。docker所以指令都卡住不返回,或者提示下面内容。虚拟机Virtual Box + Linux ubuntu-18 4.15.0-20-generic #21-Ubuntu在使用Windows10时,由于串口原因发生了4次蓝屏事件。
2024-09-22 16:59:25
2195
1
原创 控制doxygen module的顺序
当你需要控制局部的doxygen 产生的modules的顺序时,可以在模块的最前方进行列好顺序。这样样子就能在局部控制module的顺序。
2024-08-02 11:59:29
258
翻译 翻译《SIGQUIT 内核中的 QMI/Gobi 管理》文章
qmi_wwan 驱动程序还包含对所有供应商的基于 Gobi 的设备的支持,因此无论您使用的是 Sierra Wireless 调制解调器还是华为调制解调器(仅举几例),该驱动程序都能够让您的设备在内核中按预期工作。qmi_wwan 的一个问题是,在给定时间内只有一个进程能够使用控制端口。为了解决这个问题,libqmi(自 1.8 版起)进行了扩展,以实现“qmi-proxy”进程,该进程将是唯一访问 QMI 端口的进程,但它允许不同的进程同时与设备通信(通过在连接的对等体之间共享和同步 CTL 服务)。
2024-06-11 16:20:51
111
原创 使用libgpiod获取GPIO输出模式的值
最近我使用的Linux环境完全弃用了sysfs的gpio系统。gpiod提供了许多工具,例如gpioget、gpioset、gpioinfo等。写一篇随意一点的博客吧,因为我的时间总是不够用。世界是他们的,但也是我们的,但终究还是我们的!会把要操作的GPIO口先设置为输入模式,这明显不满足我的要求。该选项说是保留GPIO原有的模式。下面是我写的一个读取输出状态的GPIO口值的示例程序。我碰到一个问题,就是读取输出模式下的GPIO口的值,我没有找到合适的工具。如果你喜欢我的理想,请加入我们,行动起来。
2023-11-09 19:35:44
1134
1
原创 简单使用USB rndis驱动
当一个设备没有网口,你又想用网络时,检查一下你有没有USB口。如果有USB口你的开发板还可以抢救一下。那就是选择USB 网络工具驱动,在开发板和连接端都需要有相应的驱动。linux内核怎么配置,网上很多。自行google。今天主要是介绍连接端PC驱动安装和配置。
2023-09-19 14:40:18
4757
原创 Swupdate的aarch64交叉编译
上一篇博客我们简单测试了swupdate的基础功能,当时使用的是buildroot进行编译的,依赖关心有buildroot进行处理了。今天我自己手动编译一些swupdate。下面记录了编译swupdate的过程。基本过程就是下载源码,配置选项,然后进行编译。
2023-06-27 17:50:17
2447
1
原创 swupdate linux ota故障安全升级方案
swupdate是一个基于嵌入式的Linux平台的升级服务框架程序,它提供了分区升级,文件升级,差分升级(补丁应用)功能,并提供了开放接口,方便用户添加自定义升级处理函数。swupdate提供了故障安全的升级方案。支持Recovery方案和A/B系统方案来保证断电等异常情况下能保证升级正常。它提供了完整性,签名验证,固件加密等功能,保证了升级固件的安全性和私密性。swupdate 采用cpio的方式进行归档,第一文件是描述文件,默认名称为sw-description。
2023-06-20 21:16:04
4619
4
原创 sqlite3免费加密开源项目sqlcipher简单使用
使用sqlite3的免费版本加密数据库sqlcipher的边缘,应用开发,数据库备份等基础操作。
2023-05-31 17:15:06
8481
原创 c++构造函数成员变量的构造顺序
#include <iostream>#include <string>#include <vector>class A{public: A():a(5),b(a) { std::cout<<"a:b="<<a<<":"<<b<<std::endl; }private: int b; int a;};class B{public: B():c(a+b),b(a),a(1291.
2020-05-19 15:02:29
610
原创 小白学openwrt 网络 -第一篇
在上一篇博客里,我们记录了在虚拟机上运行openwrt中遇到TTL过期问题。今天我们继续前行。尝试着去了解和设置openwrt基础网络配。首先快速学习了一下《B智能路由开发指南》的网络篇,然后就开始实操了。运行openwrt虚拟机1:充当普通路由器,命名为router-001。运行openwrt虚拟机2:充当普通pc,命名为pc-001。实操目标:pc-001从router-001获取ip,并能访问外网,一、openwrt 网络基础知识1.1 openwrt网络接口名称在open
2020-05-19 09:21:07
2114
原创 TTL 传输中过期
作为网络小白的我,就着五一放假在家里给自己充一下电。首先先是看了一下《B智能路由器开发指南》,然后就动手openwrt运行在vmware上试一下。折腾了半天总算是把下载的openwrt img(不是自己编译的)运行在了vmware上,并且ssh登录成功了。挺高兴的,在操作(瞎搞)VMware Network Adapter VMnet* 的时候,突然我的pc上不了网了。我开始方了,ping qq....
2020-05-03 22:54:11
13301
1
原创 串口协议要注意
/* Set input parity option */ if (parity != 'n'){ options.c_iflag |= INPCK; } tcflush(fd,TCIFLUSH); options.c_iflag &= ~(ICRNL | IXON | BRKINT |...
2020-03-13 17:26:30
536
翻译 AqaraHub开源项目mqtt介绍
1) 参考网站https://github.com/Frans-Willem/AqaraHub/blob/master/documentation/mqtt-topics.md2)zigbee 背景知识zigbee指定了很多不同的簇,通常每一个设备都会用到其中的一个或者多个簇。例如: "On/Off" 对于一个简单的状态切换设备 "Window Covering" 自动...
2020-01-03 22:11:38
1021
翻译 介绍一个关于小米Zigbee的开源项目
AqaraHub说明:这个是一个开源项目,我只是为了让跟多人看到这个开源项目。项目名称:Frans-Willem/AqaraHub:github连接:https://github.com/Frans-Willem/AqaraHub#get-in-touch项目介绍: 这是...
2020-01-03 18:04:14
3678
原创 vscode与docker的恩怨情仇
背景:docker服务器将docker容器根目录挂着载一个固态硬盘A上(安装软件),将工作区(存放平时的文件)挂着载硬盘B上。硬盘A快但是容量小,限制每个容器使用500M;硬盘B容量大且速度够用,限制每个容器使用好多G。问题1:使用vscode去远程编辑代码,vscode将执行程序安装在/root/.vscode-server-insiders和缓存/root/.cache,因为根目录挂载在硬...
2019-12-21 15:22:52
1096
原创 INI文件之字符串截取
main.cpp#include <stdio.h>#include <unistd.h>#include <string>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <string.h>#defi...
2019-11-05 20:36:50
560
原创 GPIO控制输出高低电平
gpio.h/* * GPIO user space helpers * * Copyright 2009 Analog Devices Inc. * Michael Hennerich (hennerich@blackfin.uclinux.org) * * Licensed under the GPL-2 or later */ #ifndef __GPIO_H_YP...
2019-11-05 19:33:52
10278
2
原创 网络安全通信ssl之证书的前世今生
文中很多地方用到了网友的资源,谢谢你们。知识来源于网络,回馈于网络。一) 在网络数据传输过程中的问题 在现实世界中,没有人愿意裸奔;在互联网世界里也一样。数据在互联网中传播,要解决3+1个问题。分别为数据防偷窥,防篡改(完整性),防伪冒。还有+1问题就是身份认证。二) 解决上述3个问题的办法2.1数据偷窥问题 只要加好密,将明文加密得...
2019-10-31 20:46:08
531
1
原创 C STL之list用法
main.cpp#include <stdio.h>#include <string>#include <list>using namespace std;class Test{public: explicit Test(int n) { num = n; } std::list<std::string> m_xx...
2019-10-24 11:06:40
205
原创 ecos运行流程分析
先实践后理论,我使用一块CPE301G-QCA9535的开发板进行分析。这块开发板是在开发中的ecos。一)宏观分析ecos的运行我们从启动日志入手,去一步一步了解ecos的运行。总所周知,板子(soc)启动有3阶段。分别为运行ROM上的固化程序,运行u-boot-spl 和运行uboot。所以我们打包的uboot的名称经常叫uboot-with-spl.bin。细节可以自行百度。...
2019-10-23 21:18:23
1009
原创 QT之二维码显示
main.cpp#include <QGuiApplication>#include <mainwindow.h>#include <QDebug>#include <QString>#include <QSize>#include <QCoreApplication>int main(int argc, ...
2019-10-23 19:01:45
827
原创 如何使用gcc的__attribute__((section (__sect__)))
__attribute__((section("section_name")))其作用是将作用的函数或数据放入指定名为"section_name"输入段。这里还要注意一下两个概念:输入段和输出段 输入段和输出段是相对于要生成最终的elf或binary时的Link过程说的,Link过程的输入大都是由源代码编绎生成的目标文件.o,那么这些.o文件中包含的段相对li...
2019-10-23 15:57:21
2905
原创 UDEV之USB检测
main.cpp#include <stdio.h>#include "monitorusb.h"int main(){ monitorusb* m_monitor = new monitorusb; m_monitor->run(); return 0;}monitorusb.h#ifndef MONITORUSB_H#d...
2019-10-23 15:41:35
1842
原创 C 之观察者模式
这节课是无聊的马克思主义 讲得都是大海全他妈的是水 螃蟹全他妈的是腿 诸如此类 尔等无聊的在抠脚 这时跳出了一个王八 王八想让班长助纣为虐帮忙放哨 防止班主任看到要挂科 于是这个5大洲最黑的班长竟让答应了 毕竟..... 生活你...
2019-10-22 11:37:06
150
原创 从字符串中获取mac地址的获取
记录一下,比较常用。我使用char mac[6]时运行报错。可能是"%02x:%02x:%02x:%02x:%02x:%02x" 每一个%02x对应输出的是4个字节导致mac数组访问越界了。parse_dev_id:105 id src:68:89:75:0A:95:37 dst:6889750a9537*** stack smashing detected ***: <un...
2019-10-15 19:49:44
1241
原创 C++ 读取 ini文件
iniclass.h#ifndef INICLASS_H#define INICLASS_H#include <string>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdio.h>#include <std...
2019-10-15 19:15:17
1045
原创 杨氏程序大括弧写法
这个是我的独创,将来是要写到教科书上的,请尊重我的劳动成果。大括弧写法一:if(){ if () { } else { }}大括弧写法二:if (){ if (){ } else{ }}中和写法一和二,将最外层和跨度大的{}按方式一来写,将内层和跨度小的按方式二写:if (){ if(){ } else{ ...
2019-10-15 15:36:56
254
原创 设置时区
Ubuntu系统里没有/etc/sysconfig/clock(此文件只存在rehat)情况下又想设置CST时区timedatectl set-timezone Asia/Shanghai ==============>设置时区timedatectl set-ntp true ============================>同步网络时间...
2019-09-29 10:37:52
143
原创 编译问题
有些人总是编译报错,而且还不知怎么解决。哈哈,我在这里记录一下。有奖问答。请听题:请问报下面错误是什么造成的?//usr/local/lib/liblua.a(loadlib.o): In function `lookforfunc':loadlib.c:(.text+0x534): undefined reference to `dlsym'loadlib.c:(.text+0x5...
2019-09-16 16:47:50
1016
1
原创 解决了git gitlab工程时Too many authentication failures的世界级问题
总结:运行了ssh agent + ssh-add -l(高速缓存)了很多私钥缓存+ssh验证次数比较少三者同时满足时,就会发生Too many authentication failures错误。解决就是把自己的私钥通过ssd-add添加进ssh agent的高速缓存里面,或者修改验证尝试次数。------------------------------------------------...
2019-09-07 11:11:46
6332
1
原创 realloc一个有意思的测试
百度百科: realloc 先判断当前的指针是否有足够的连续空间,如果有,扩大mem_address指向的地址,并且将mem_address返回,如果空间不够,先按照newsize指定的大小分配空间,将原有数据从头到尾拷贝到新分配的内存区域,而后释放原来mem_address所指内存区域(注意:原来指针是自动释放,不需要使用free),同时返回新分配的内存区域的首地址。即重新分配存储...
2019-09-04 18:28:13
369
原创 c/c++代码的静态检查工具 tscancode
有了代码自动检查工具,妈妈再也不用担心我的程序有bug了。说笑了,但是确实令我很鸡冻。因为我从编写程序以来(时间不长)只写过一些很小的,功能型的代码。所以一般都是写好了,动几下,看功能满足没有,ok了就完事了。出现bug了就再去看代码。做代码检查+测试,这是我在编程路上又向前走了一步。墙裂推荐向我们这些刚入门的人去用一下子。 可以看一下这个博客c++代码质量扫描主流工具深度比较,...
2019-09-04 11:56:05
5872
原创 sqlite3 增删改查 之demo
mysql.h:#ifndef MYSQL_H#define MYSQL_H#include <string>#include <sqlite3.h>using namespace std;class MYSQL{public: MYSQL(); void initDatabase();//string filePathupdate...
2019-08-23 16:47:04
424
原创 展示一下telnetd的协商状态机
一)telnetd选项协商简介 telnet工作在不同的平台上和终端上,为了比较灵活,很多选项和配置采用协商的机制。就是说素未蒙面的终端与主机之间,开始的时候,相互之间协商开启什么配置和选项。telnetc与telnetd协商时是完全平等对称的。 telnet的协商指令WILL (251)WONT (251) DO (253) DONT (254),指令格式是 IA...
2019-08-21 10:47:33
502
原创 终于看到了一次select的except set的使用
/* * Check a descriptor to see if out of band data exists on it. */int stilloob(int s) /* socket number */{ static struct timeval timeout = { 0, 0 }; fd_set excepts; int value; ...
2019-08-20 16:57:21
747
原创 VS code使用ssh登录服务器去编辑代码
开发基本过程,就是编辑代码,然后进行编译,最后进行运行测试。但是有个问题就是,编辑代码一般在windows下进行,编译代码在Linux进行。当在本地主机上搭建一个虚拟机时,可以使用共享目录的方式,nfs或者samba或者ubuntu的共享目录(windows)。但是当你的编译环境移到服务器上的时候(docker),你发现共享目录就行不通了。如何在一个远端服务器上开始工作。(docker...
2019-08-20 15:05:54
9178
2
原创 理解接口对接的授权
授权管理,简单介绍一下2种方式。1)apikey 2)oauth(Open Authorization) 一)apikey api(Application Programming Interface) key 就是一个秘钥。 简介一下google的apikey的含义,通过学习google的APIKey来了解一下什么是APIkey。 ...
2019-08-12 21:57:30
6978
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人