自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (4)
  • 收藏
  • 关注

原创 使用libgpiod获取GPIO输出模式的值

最近我使用的Linux环境完全弃用了sysfs的gpio系统。gpiod提供了许多工具,例如gpioget、gpioset、gpioinfo等。写一篇随意一点的博客吧,因为我的时间总是不够用。世界是他们的,但也是我们的,但终究还是我们的!会把要操作的GPIO口先设置为输入模式,这明显不满足我的要求。该选项说是保留GPIO原有的模式。下面是我写的一个读取输出状态的GPIO口值的示例程序。我碰到一个问题,就是读取输出模式下的GPIO口的值,我没有找到合适的工具。如果你喜欢我的理想,请加入我们,行动起来。

2023-11-09 19:35:44 347

原创 简单使用USB rndis驱动

当一个设备没有网口,你又想用网络时,检查一下你有没有USB口。如果有USB口你的开发板还可以抢救一下。那就是选择USB 网络工具驱动,在开发板和连接端都需要有相应的驱动。linux内核怎么配置,网上很多。自行google。今天主要是介绍连接端PC驱动安装和配置。

2023-09-19 14:40:18 2074

原创 内网穿透frp简单安装

最近看了一些视频,想研究一下内网穿透frp方案,该文档记录了frp的测试和配置过程。能给新入门的朋友一些过程记录。

2023-09-12 20:19:34 1534

原创 Swupdate的aarch64交叉编译

上一篇博客我们简单测试了swupdate的基础功能,当时使用的是buildroot进行编译的,依赖关心有buildroot进行处理了。今天我自己手动编译一些swupdate。下面记录了编译swupdate的过程。基本过程就是下载源码,配置选项,然后进行编译。

2023-06-27 17:50:17 1669 1

原创 swupdate linux ota故障安全升级方案

swupdate是一个基于嵌入式的Linux平台的升级服务框架程序,它提供了分区升级,文件升级,差分升级(补丁应用)功能,并提供了开放接口,方便用户添加自定义升级处理函数。swupdate提供了故障安全的升级方案。支持Recovery方案和A/B系统方案来保证断电等异常情况下能保证升级正常。它提供了完整性,签名验证,固件加密等功能,保证了升级固件的安全性和私密性。swupdate 采用cpio的方式进行归档,第一文件是描述文件,默认名称为sw-description。

2023-06-20 21:16:04 2622 3

原创 sqlite3免费加密开源项目sqlcipher简单使用

使用sqlite3的免费版本加密数据库sqlcipher的边缘,应用开发,数据库备份等基础操作。

2023-05-31 17:15:06 4217

原创 RockChip3568 MPP硬解码和gstreamer1.0编译

rockchip 3568芯片简单编译gstreamer过程记录。

2023-05-26 16:57:05 5192 1

原创 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 539

原创 小白学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 1786

原创 TTL 传输中过期

作为网络小白的我,就着五一放假在家里给自己充一下电。首先先是看了一下《B智能路由器开发指南》,然后就动手openwrt运行在vmware上试一下。折腾了半天总算是把下载的openwrt img(不是自己编译的)运行在了vmware上,并且ssh登录成功了。挺高兴的,在操作(瞎搞)VMware Network Adapter VMnet* 的时候,突然我的pc上不了网了。我开始方了,ping qq....

2020-05-03 22:54:11 11783 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 478

翻译 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 906

翻译 介绍一个关于小米Zigbee的开源项目

AqaraHub说明:这个是一个开源项目,我只是为了让跟多人看到这个开源项目。项目名称:Frans-Willem/AqaraHub:github连接:https://github.com/Frans-Willem/AqaraHub#get-in-touch项目介绍: 这是...

2020-01-03 18:04:14 3394

原创 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 970

原创 安卓at指令与模组通信的ril模块的学习

2019-12-09 17:49:01 297

原创 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 459

原创 GPIO控制输出高低电平

gpio.h/* * GPIO user space helpers * * Copyright 2009 Analog Devices Inc. * Michael Hennerich ([email protected]) * * Licensed under the GPL-2 or later */ #ifndef __GPIO_H_YP...

2019-11-05 19:33:52 9640 2

原创 网络安全通信ssl之证书的前世今生

文中很多地方用到了网友的资源,谢谢你们。知识来源于网络,回馈于网络。一) 在网络数据传输过程中的问题 在现实世界中,没有人愿意裸奔;在互联网世界里也一样。数据在互联网中传播,要解决3+1个问题。分别为数据防偷窥,防篡改(完整性),防伪冒。还有+1问题就是身份认证。二) 解决上述3个问题的办法2.1数据偷窥问题 只要加好密,将明文加密得...

2019-10-31 20:46:08 403 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 163

原创 ecos运行流程分析

先实践后理论,我使用一块CPE301G-QCA9535的开发板进行分析。这块开发板是在开发中的ecos。一)宏观分析ecos的运行我们从启动日志入手,去一步一步了解ecos的运行。总所周知,板子(soc)启动有3阶段。分别为运行ROM上的固化程序,运行u-boot-spl 和运行uboot。所以我们打包的uboot的名称经常叫uboot-with-spl.bin。细节可以自行百度。...

2019-10-23 21:18:23 840

原创 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 746

原创 如何使用gcc的__attribute__((section (__sect__)))

__attribute__((section("section_name")))其作用是将作用的函数或数据放入指定名为"section_name"输入段。这里还要注意一下两个概念:输入段和输出段 输入段和输出段是相对于要生成最终的elf或binary时的Link过程说的,Link过程的输入大都是由源代码编绎生成的目标文件.o,那么这些.o文件中包含的段相对li...

2019-10-23 15:57:21 2163

原创 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 1625

原创 C 之观察者模式

这节课是无聊的马克思主义 讲得都是大海全他妈的是水 螃蟹全他妈的是腿 诸如此类 尔等无聊的在抠脚 这时跳出了一个王八 王八想让班长助纣为虐帮忙放哨 防止班主任看到要挂科 于是这个5大洲最黑的班长竟让答应了 毕竟..... 生活你...

2019-10-22 11:37:06 117

原创 从字符串中获取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 1055

原创 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 907

原创 杨氏程序大括弧写法

这个是我的独创,将来是要写到教科书上的,请尊重我的劳动成果。大括弧写法一:if(){ if () { } else { }}大括弧写法二:if (){ if (){ } else{ }}中和写法一和二,将最外层和跨度大的{}按方式一来写,将内层和跨度小的按方式二写:if (){ if(){ } else{ ...

2019-10-15 15:36:56 210

原创 设置时区

Ubuntu系统里没有/etc/sysconfig/clock(此文件只存在rehat)情况下又想设置CST时区timedatectl set-timezone Asia/Shanghai ==============>设置时区timedatectl set-ntp true ============================>同步网络时间...

2019-09-29 10:37:52 101

原创 编译问题

有些人总是编译报错,而且还不知怎么解决。哈哈,我在这里记录一下。有奖问答。请听题:请问报下面错误是什么造成的?//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 857 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 6044 1

原创 realloc一个有意思的测试

百度百科: realloc 先判断当前的指针是否有足够的连续空间,如果有,扩大mem_address指向的地址,并且将mem_address返回,如果空间不够,先按照newsize指定的大小分配空间,将原有数据从头到尾拷贝到新分配的内存区域,而后释放原来mem_address所指内存区域(注意:原来指针是自动释放,不需要使用free),同时返回新分配的内存区域的首地址。即重新分配存储...

2019-09-04 18:28:13 279

原创 c/c++代码的静态检查工具 tscancode

有了代码自动检查工具,妈妈再也不用担心我的程序有bug了。说笑了,但是确实令我很鸡冻。因为我从编写程序以来(时间不长)只写过一些很小的,功能型的代码。所以一般都是写好了,动几下,看功能满足没有,ok了就完事了。出现bug了就再去看代码。做代码检查+测试,这是我在编程路上又向前走了一步。墙裂推荐向我们这些刚入门的人去用一下子。 可以看一下这个博客c++代码质量扫描主流工具深度比较,...

2019-09-04 11:56:05 5417

原创 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 375

原创 展示一下telnetd的协商状态机

一)telnetd选项协商简介 telnet工作在不同的平台上和终端上,为了比较灵活,很多选项和配置采用协商的机制。就是说素未蒙面的终端与主机之间,开始的时候,相互之间协商开启什么配置和选项。telnetc与telnetd协商时是完全平等对称的。 telnet的协商指令WILL (251)WONT (251) DO (253) DONT (254),指令格式是 IA...

2019-08-21 10:47:33 432

原创 终于看到了一次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 672

原创 VS code使用ssh登录服务器去编辑代码

开发基本过程,就是编辑代码,然后进行编译,最后进行运行测试。但是有个问题就是,编辑代码一般在windows下进行,编译代码在Linux进行。当在本地主机上搭建一个虚拟机时,可以使用共享目录的方式,nfs或者samba或者ubuntu的共享目录(windows)。但是当你的编译环境移到服务器上的时候(docker),你发现共享目录就行不通了。如何在一个远端服务器上开始工作。(docker...

2019-08-20 15:05:54 8583 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 6539

原创 老马失前蹄,阴沟里翻船了

哈哈,记录下逗比的事。段错误代码:/* 消息结构体 */typedef struct _message_{ uint headSign; // 消息标识头 uint type; // 消息类型 uint len; // 消息内容长度 char* data;} MESSAGE_T, *MESSAGE_PT;...

2019-08-09 12:27:52 227

原创 简单的从调试配置文件获取调试参数

#include <unistd.h>#include <stdio.h>#include <string.h>#include <stdlib.h>#include <sys/stat.h>#include <fcntl.h>#define DEBUG_FILE1 "/tmp/dbg_param.txt"...

2019-08-07 17:00:10 178

原创 linux使用uclibc库时,pthread_cleanup_push无效

我本来开开心心的写了一个select的server和client,在ubuntu上跑的开开心心的。然后就就把程序移植到mips的君正T21的开发板上,后来发现重复调用server(退出再进入),后发现bind err(Address already in use)。 netstat -apn | grep 108 一直被占用着,但是线程确实退出了。我有2个可疑点1)可能是tcp端...

2019-07-26 19:38:14 309

移植ahub至openwrt.rar

开源项目AqaraHub 移植到openwrt。里面包含了移植过程和Makefile。希望能帮到你。

2020-01-10

QRCode.rar

QT生成二维码所依赖的文件

2019-10-23

TelProxy-20190827.rar

c++写的一个简单的转发服务器。物超所值,我的知识来源于网络,我将我积累回馈给网络

2019-08-28

qt5的配置,移植mips架构的嵌入式平台

我按照上面的配置成功过。成功的将QT5.6.2移植到mips上了。

2018-09-14

空空如也

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

TA关注的人

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