自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (7)
  • 问答 (2)
  • 收藏
  • 关注

原创 linux下带宽和流量的统计

out从500KBS到0的过程只是关闭了客户端的拉流,宏观看出流量。iperf3 -c 服务器ip地址 -t 65535。iperf3 -s开启服务。

2024-01-12 14:15:45 360

原创 一种磁盘上循环覆盖文件策略

当磁盘空间不足时,优先删除最开始写入的数据呢?循环覆盖的策略应该有很多,这篇文章抛砖引玉,希望更多个伙伴给出更好的方案出来!

2023-12-21 15:42:53 476

原创 Unix进程间通信之简介-总体概述和引子

进程间通信这块是学习linux-c编程的关键, 这篇为后续进程间通信技术的引子篇,后续讲到单独的某一个系统调用都附该引用。IPC是进程间通信(interprocess communication)的简称。系统上不同进程之间消息传递(message passing)的方式。共享内存需要某种实行的同步(synchronization)参与运作。发展阶段。管道(pipe) 是第一个广泛使用的IPC形式, 使用在Kernel之上的(应用程序或shell)。问题在于智能父子进程之间使用。

2023-12-18 21:02:09 1027

原创 OpenCV中的格式转换

实际音视频开发过程芯片是做了硬件加速的,主要涉及到视频编解码。二次开发过程中需要对SDK做一定的封装使用才行。写这篇文章的目的和硬编解码无关。只是如无硬件转换接口的情况下如何对原始数据的转换,以便后续查看。

2023-12-15 11:41:29 1327

原创 libevent服务GET/POST的简单使用

项目开发中经常需要使用到私有协议和Qt,Android等GUI前端通信,比较常用的使用POST和GET方式带出MESSAGE。实际使用中为了减少工作量和代码复用,经常使用到三方库,比较常用的服务有libevent或boost中的网络库、muduo, 也可自行写一套socket系统调用的二次封装, 当然这种方式不利于快速开发, 学习还是可以的。这篇文章主要使用libevent库,因为是c写的, 所以掌握libevent非常重要。

2023-12-14 20:00:07 1027

原创 Qt类库概述

这里主要做一些笔记加上个人的理解和随笔, 参考书籍。Qt本身不是语言,是跨平台的C++开发类库,为GUI而生,当然也可以面向学习c++等语言控制台,类似linux中的gcc吧。特点信号和槽对象属性元对象编译器MOC(Meta-Object Compiler)Qt Core是Qt的核心,其他模块都依赖于该模块信号与槽也不是新东西,参考操作系统相关的信号(中断)等知识,在内核态理解为任务。在函数指针的回调也有异曲同工之妙MOC。

2023-12-13 15:52:47 869

原创 Qt第一行代码

很久前就想拿到界面相关的技术栈,主要用于调试一些接口和小工具, 关于界面的框架比较多, 有Android,也有Qt之类的, 因为做的后端都是和c/c++打交道,加上Qt可移植很高, 所以就选择它吧。针对版本,因为前期没有接触太多Qt,索性就从最新的Qt6.6开始吧。整体感觉Qt还是比较简单的, 只要花销时间即可,不会遇到无法跨越的疑难问题。

2023-12-11 18:35:08 433

原创 图像叠加中文字体

最近在做图片、视频叠加文字,要求支持中文,基本原理是将图片或视频解码后叠加文件,之后做图片或视频编码即可。项目中是使用OpenCV的文字叠加,因为使用的版本不支持freetype自带,所以在此记录下,主要使用的方式做原始数据的文字叠加。

2023-12-08 15:23:53 449

原创 Linux性能系统学习之监控工具

在实际产品开发过程中遇到一些莫名其妙的问题,比如swap交换分区随着时间增多影响到系统调用,或CPU占用以及内存的监测等,所以有必要系统了解Linux的性能问题。

2023-12-05 17:10:38 966

原创 FFMPEG编译安装、简单使用

【代码】FFMPEG编译安装、简单使用。

2023-12-01 15:30:19 710

原创 深度相机评估

最近在做机器人上的应用开发,因为人民币暴跌,导致Realsense的深度相机价格猛涨,无奈只能评估国产的RGBD深度相机,目前评估了2款,分别是InuitiveR132和FHL-D435i。P.S : FHL-D435I在ARM上发力稍后,截止当前没有ARM的正式发布下载tfp。

2023-07-19 15:37:58 504

原创 GStreamer porting-list-0.11.txt

所有插件对应的port分组。

2023-04-27 15:37:43 150

原创 GStreamer第一阶段的简单总结

1)了解pipeline的使用,简单说就是通道的概念, 因为涉及到数据的复用和拓展, 里面有一个filter(tee插件), 通过tee和后续拓展的绑定关系复用数据,很像许多Soc编解码芯片中的vpss通道的概念。数据复用为视频编码通道, 数据jpeg通道以及对数据处理的通道。2)重点是去了解Pad Templates 中的Availability,这个关系到link的方式,另外关注Element Properties的属性设置。

2023-04-27 09:02:10 857

原创 c++回调

嵌入式中经常使用到回调事件,比如生产者生产数据后将数据回调到消费者的缓存中,这里面涉及到2个技术,一个是回调, 另外一个是数据的并发和同步, 本主题主要讲回调。

2023-03-13 02:03:39 98

原创 nvidia设置wifi和接口

每次设置一个新WIFI,将之前的配置都删除掉,让设备只连最近更新的WIFI,后面考虑合理性以及手机android等都采用保存配置的情况, 该功能就删除了。continue;

2023-02-09 19:48:05 605

原创 TF读写修复

此处做一个记录,记录自己犯下的致命错误,加上内核对TF的检举,一度导致设备基本成为白砖。

2022-09-22 13:50:34 419

原创 海康线阵相机调试指导

前段时间应公司结构要求,需评估结构和硬件,主要围绕线阵相机图像质量上,在此记录下调试过程中的一些经验,希望能给同行一些方向,互相学习。

2022-07-18 17:05:03 8845 3

原创 [ISSUE01]bin文件(二进制)android传输数据异常

将tar.gz包加密成二进制文件,通过W10有度或wchar传到客户,客户升级报传输失败。将升级包打zip或tar包, 客户端接收后再解压,通过对比X86下的bin包,确认文件内容一致待后续排查,可能是android和win下的传输二进制造成的,比如utf8或gb2312等,排除大小端问题。...

2022-07-11 11:19:06 618

原创 Ubuntu18.04(NVIDIA)使用网线连接华为路由器XD10无法ping通问题排查和轻解决

路由器互PING失败

2022-07-04 11:44:07 766

原创 串口系统调用(read,write)中的一些注意事项和优化

在使用涉及到系统调用的编程中,操作的文件描述符诸如管道之类的,获设备节点之类的(比如串口,USB口中讲usb作为camera的),涉及到内核态和用户态的数据读写,这时候经常遇到读写达不到理想,本文编写方式先列出问题点,后面给出对应的解决方案。该文章主要针对系统调用注意事项,未完待续…在串口编程中, 即使使用方式获取到内核态有数据可读,也可能无法满足你想的结果。比如算出需要读10个字节(理论按照私有协议有10字节才是一个完整包),有一定概率出现读小于10个字节的数据, 原因为因此针对该问题使用如下替代方案:

2022-06-01 10:42:04 1181

原创 确认主机大小端的方式

文章目录1. 前言2. 小端字节序和大端字节序3. 确认主机大小端的方法3-1) 采用联合方式3-2) 整型拆分3-3)采用linux中的工具读取1. 前言一般而言,上层语言最小单位按照字节来计算, 如果出现了多字节的数据,比如短整型,长整形等,他们在内存中的排列是如何的呢?目前架构上主要有两种, 分别是小端(little-endian)和大端(big-endian)。2. 小端字节序和大端字节序小端字节序: 低序字节存储在起始地址大端字节序: 高序字节存储在起始地址3. 确认主机大小端的方法

2022-05-31 15:32:00 131

原创 tcpdump基本使用和实战分析

文章目录1. tcpdump基本命令2. tcpdump过滤3. 实战1)客户端代码2) 服务端代码3)抓包和运行4) 分析1. tcpdump基本命令 tcpdump -n 将主机名转换为IP地址 tcpdump -v 信息增多 tcpdump -i lo 指定网络接口,eth或者lo这类的 tcpdump -w ./tcpdata.pcap 将信息保存为tcp

2022-05-31 14:12:03 1880

原创 UNIX网络编程之基础

文章目录前言1. 结构体相关1)sockaddr和sockaddr_in详解2)问题和结论2-1)编写协议无关的代码,支持IPV4和IPV62-2) 使用域名替代点分十进制的方式2. API相关1) connect函数3. 难点1)TCP是一个没有记录边界的字节流协议前言因为socket编程中涉及到的结构比较多,因此在此做了一些记录,方便后续的查阅。1. 结构体相关1)sockaddr和sockaddr_in详解sockaddr在很早的版本使用,其中成员sa_data把通信的IP地址和端口混合在

2022-05-30 17:41:39 174

原创 unpv13e在arm上编译

文章目录前言编译0) 查看README获取如何编译1)configure报错2)使用```--build=arm```即可解决3)编译通用的基本库4) 继续编译基础依赖库libfree5) 编译libroute6)编译测试程序测试1)启动服务端2)启动客户端前言unpv13e在NVIDIA上编译报错,记录该问题,方便后续移植到其他平台。编译0) 查看README获取如何编译Execute the following from the src/ directory: ./configur

2022-05-30 11:43:16 352

原创 muduo编程示例之五个简单TCP示例

文章目录前言五个简单TCP1. discard2.daytime3. echo4. time5. chargen前言五个简单TCP示例,分别是echo,discard, 插入跟, daytime, time。简介如下:discard: 丢弃所有收到的数据。daytime:服务端accept连接之后,以字符串形式发送当前时间,然后主动断开连接。time:服务端accept连接之后,以二进制形式发送当前时间,然后主动断开连接,我们需要一个客户程序来把收到的时间转换为字符串。echo:回显服务,把收到

2022-05-29 01:33:01 300

原创 libmuduo单独编译finger

文章目录前言编译1. 头文件位置和muduo库位置。2.编译失败,篇幅有限,截取部分。3. 确认库中是否包含链接问题。解决1. 使用更换位置方式,解决2. 使用Xlinker工具(推荐)思考和总结前言在学习muduo库的时候,想单独编译twisted的例子,发现尽然编译不通过,尝试确认库中已包括调用关系后,归档到文章链接: 动态库和静态库那些事中链接顺序问题。编译1. 头文件位置和muduo库位置。root@ubuntu:/opt/muduo/examples/twisted/finger# l

2022-05-28 18:34:18 97

原创 netstat工具使用

文章目录前言Recv-QSend-Q参数前言在TSocket进程间通信中,当遇到一些交互问题时,为了快速排查问题,可以使用tcpdump工具或wireshark工具,还有一个系统自带的工具netstat工具值得推荐。Recv-Q该值一般情况下接近0(或接近0),如果一直增大,通常表示服务进程的处理速度变慢,可能发生了死锁或阻塞。Send-Q保持不变或持续增加,有可能是对方服务器太忙,来不及处理, 也有可能是网络中某个路由器或交换机故障造成丢包,甚至对方服务器掉线,这些因素都可能表现出数据发送不

2022-05-27 17:56:24 195

原创 POSIX编程之互斥和条件变量

文章目录写在前面(问题)多线程对共享资源使用互斥量+sleep方式(`不推荐`)处理互斥加条件变量(c实现)互斥加条件(C++实现)写在前面(问题)在写这边文章之前很长一段时间,几乎关于多线程对共享数据的保护都是使用互斥量加非同步原语sleep实现,这样才能不影响并发性和性能。不要使用如下的代码块:while(true){ if(!dataAvailable) sleep(some_time); else consumeData();}后来发现一些问题: 如果sleep时间过长,会导致

2022-05-27 15:46:31 210

原创 社保异地办理

如何异地转入到当前所在工作地社保和医保?答:手机端下载12333 app进行异地转入网上操作,网上登录链接: 国家社会保险公共服务平台关系转移->社保转移申请。申请后进入到审核阶段;进入到国家社会保险公共服务平台后,如何查各地区的办事大厅(例如要查光广州社保等)?答: 进入到各地办事大厅后,选择查询条件即可;如何查找缴纳的社保地和社保卡号(带星)以及社保卡应用状态?答: 电脑进入国家社会保险公共服务平台后,点我的社保卡->社会保障卡应用状态查询即可;*如果异地的社保卡的手机号换了,

2022-05-25 13:48:09 394

原创 C++库libjsoncpp使用

文章目录前言1. C 库Json解析2. C++ libjsoncpp.a解析2-1. 下载和编译2-2. 使用Json::FastWriter封JSON包(不推荐)2-3.使用Json::Reader解析JSON包(不推荐)2-4.使用Json::StreamWriterBuilder封JSON包2.5 使用Json::CharReaderBuilder 和 Json::CharReader 解析 json 字符串前言1. C 库Json解析link2. C++ libjsoncpp.a解析2

2022-05-25 11:43:08 1377

原创 C库Json解析

文章目录前言1. c++库libjsoncpp.a解析链接:2. C解析,参考前言2中,在此只做备份,避免原链接失效。前言c++的json库参照行李转盘中的fcgidemo,项目中给出一个静态库libjsoncpp.a,目前暂无源码,如果需要,网站拿源码;c语言的库提供了源码,参照青果项目中的cJSON.c和cJSON.h即可(确认直接编译通过),另外可以参照如下链接: C语言cJSON库的使用,解析json数据格式1. c++库libjsoncpp.a解析链接:2. C解析,参考前言2中,

2022-05-25 11:04:11 538

原创 nm和ldd用法

文章目录前言1. 查看某个目标文件(.so/.a/.out)是否包含某个接口函数2. 查看某个动态库依赖的链接3. 查看某个可执行文件是否已链接到对应的库前言经常使用静态库和动态库的接口,有时候可以查看是否包含了哪些函数等,或可以查看某一库的依赖是否链接,是否包含。1. 查看某个目标文件(.so/.a/.out)是否包含某个接口函数nm -Au bar.a(foo.so/foo.out) |grep "function" -A 每行或显示全路径名称或显示对象库名-u 未定义符号functio

2022-05-25 10:49:26 270

原创 NVIDIA主控CPU/GPU设置频率

文章目录前言TK1 GET/SET频率NanoNX频率设置前言在开发过程中需要确认芯片的最大能力,可能会超频处理,如下针对不同的英伟达芯片的命令行处理方式。TK1 GET/SET频率sudo cat /sys/kernel/debug/clock/gbus/rate # 查看当前gpu频率cat /sys/kernel/debug/clock/gbus/possible_rates # 查看可设置的gpu频率值echo 0 > /sys/devices/system/cpu/cpuqui

2022-05-25 10:02:42 1782

原创 NVIDIA主控接入USB摄像头

文章目录前言一、采用udev规则二、检测USB设备的方式展望前言在使用USB摄像头经常遇到一些问题, 这种问题无论是驱动的稳定性还是硬件的小问题(采集异常),归根到底是设备节点/dev/video0没有,又或者在某一时刻片节点掉了后,又恢复了,节点编号变化了,因此导致应用层的服务终端。或者是 基于此, 做了如下几种方式解决一、采用udev规则1)创建一个rules文件, 可以参照/etc/udev/rules.d/下的文件创建,例如:KERNEL=="video[02]", SUBSYSTEM=

2022-05-25 09:48:10 582

原创 OpenCV一些常用工具

文章目录前言准备工作封装为cv::Mat格式格式转换ROI裁剪常见错误集锦前言在使用音视频处理芯片时,比较多的芯片支持硬件编解码以及格式转换等,减少了系统资源的耗损(CPU,GPU等)。在部分芯片中硬件编解码或转换需要自行按照demo封装,测试等可使用OpenCV前期先做测试处理,在使用过程中,遇到一些问题,在此做下记录。准备工作1)OpenCV中大量使用了二维数组,因此需要弄清楚宽高, 分辨率常使用宽x高表示, OpenCV中经常使用高x宽表示,对应的是rows和cols,即:1920(widt

2022-05-24 16:07:58 933 1

原创 nvidia相关的主控基操

文章目录说明自启动方式修改某个目录的所有者,比如在使用ssh发送win下资源到板端,发现目录是root权限,可以降权查看OpenCV版本或Cuda版本开启/关闭图形界面查看系统一些资源关于USB摄像头为同一家,如何固定串口号(VID,PID)链接: [双USB摄像头相同厂家解决方案](https://zhuanlan.zhihu.com/p/145030000)说明该文章记录一些NVIDIA关联的命令和工具。自启动方式自启动可使用传统的systemctl方式,也可以使用如下方式:开启自启动 upd

2022-05-21 00:04:50 258

原创 时间同步的几种方式和组合

文章目录前言C/S架构通过http(POST或GET)同步通过NTP客户端/服务器同步RTC同步前言做嵌入式这块,时间同步这块非常重要,特别在日志这块加入时间戳后,时间这块尤其重要,所以时间同步方案需要熟悉和了解。C/S架构通过http(POST或GET)同步这块比较常见,在此不做说明。通过NTP客户端/服务器同步该方案在局域网内搭配NTP服务器即可,客户端定时做个同步即可。RTC同步一般做法是在无上面2种同步的情况下使用,也可以搭配前面两种方案一起使用。目前项目中使用搭配网络同步后将rt

2022-05-20 17:55:55 1085

原创 ISP图像调优(支持工业相机)

文章目录关于一些音视频编解码的ISP相关的关于线阵相机相关的关于面阵相机相关的关于一些音视频编解码的ISP相关的目前比较熟悉海思系列的主控ISP,如果有这块的疑问,可以留言,给出一些想法,看看能否突破下, 只涉及相关主控ISP API调用和思路,不涉及到OpenCV或DSP图像算法的(因为我也不太熟悉)关于线阵相机相关的这块刚调完海康的线阵相机,效果还是不错的,仅提供相关的思路和API接口相关的,设计结构,硬件这块不熟悉。关于面阵相机相关的暂未接触过面阵相机这块,后续如有接触,会做更新。..

2022-05-20 17:38:08 1152

原创 动态库和静态库那些事

文章目录前言一、静态库使用中的一些坑二、动态库使用中的坑和注意事项,规避等三、项目中的动态库静态库常用基本问题前言经常事情到静态库和动态库,在使用过程中才到不少坑,以此写下经验之谈,持续跟进追加,希望有一些我没有遇到的,欢迎补充。(该行文内容使用在Makefile中,针对CMake部分后陆续更新)一、静态库使用中的一些坑链接顺序问题1)第一种方式使用Xlinker解决,例如LIBS += foot.aLIBS += bar.a${LD} 其他选项等略 -Xlinker "-(" $(LI

2022-05-20 14:32:42 889

原创 通过IP如何找到对应的MAC地址的

通过IP如何找到对应的MAC地址的文章目录通过IP如何找到对应的MAC地址的前言一、IP地址和硬件地址二、地址解析协议ARP前言因为分组需要经过数据链路层,数据链路层离不开MAC,网络层首部含有源IP地址和目标地址,如果通过IP地址找到MAC地址?一、IP地址和硬件地址1.当应用层发送数据时,需要从上层到硬件层发送。当IP数据报一旦交给了数据链路层,就被封装成MAC帧了。MAC帧在传送时使用的源地址和目的地址都是硬件地址,这两个硬件地址都卸载MAC帧的首部中。2. IP地址放在IP数据报的首

2022-05-20 11:49:49 14931 3

Opencv-Freetype-putText-chinese.zip

通过Opencv+freetype在图片/视频叠加中文等字体,细节见: https://editor.csdn.net/md?not_checkout=1&spm=1011.2124.3001.6192&articleId=134878308 通过该文章能快速运用到项目中

2023-12-08

UNIX网络编程源码unpv13e

配套编译和测试参考:https://editor.csdn.net/md/?articleId=125043113

2022-05-30

原始数据(yuv,rgb等)

1)该工具支持查看原始数据YUV420SP, YUV420P,RGB24,RGB32等; 2)当分辨率的宽或高小于100,需要手动输入宽高; 3)建议调试使用的原始数据打上分辨率,工具支持根据文件名自动打开。

2022-05-24

gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar

交叉编译链, 开发ARM系列使用ubuntu18.04(X86_64)交叉编译。

2022-03-29

Hi3519AV100 SDK实现rtsp服务器(c++)

功能: HI3519AV100 sample_venc demo中移植RTSP服务器,实现VLC播放 SDK版本Hi3519AV100-2.0.1.0 交叉编译链:arm-himix200-linux 编译: make -f makefile 编译sample_venc等,编译生成lib19AMediaComm.a库。实现对数据流送到RTSP缓存中。 make -f Makefile 链接ELF可执行文件rtsp_venc 详细见readme

2020-10-28

ar0130 datasheet

ar0130 datasheet,内容丰富

2016-04-09

OV9712 Datasheet

ov9712 datasheet开发文档,内容丰富.

2016-04-09

Quirc_nucong.rar

1. 此资源本人已经编译过,可以使用; 2. 需要安装的共享库: Dynamic section at offset 0x16ef4 contains 28 entries: 标记 类型 名称/值 0x00000001 (NEEDED) 共享库:[libm.so.6] 0x00000001 (NEEDED) 共享库:[libjpeg.so.8] 0x00000001 (NEEDED) 共享库:[libSDL-1.2.so.0] 0x00000001 (NEEDED) 共享库:[libSDL_gfx.so.13] 0x00000001 (NEEDED) 共享库:[libc.so.6]; 其中libSDL_gfx.so.13这个库是非标准,需要自己下载编译,ubuntu可以使用sudo apt-get install libsdl1.2-dev下载安装; 3.大家都知道,中国人使用的二维码大部分是qr二维码,而且95%以上的二维码解码器都是默认的qr,例如手机上的解码器,微信上面等; 4. 至于移植到板端,使用./configure --host=arm-linux-gcc.

2014-12-01

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

TA关注的人

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