自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 资源 (2)
  • 收藏
  • 关注

原创 gRPC SSL加密传输数据实例(C++版)

一、grpc SSL源码分析官方文档说明gRPC – AuthenticationgRPC 官方文档中文版_V1.0由于车载终端开发语言为C++,大致查阅了一下官方相关的文档,文档描述的内容比较简单。服务端认证加密使用的 SSL/TLS这是个最简单的认证场景:一个客户端仅仅想认证服务器并且加密所有数据。1.客户端处理流程// Create a default SSL Channel...

2020-04-23 17:24:59 6820 46

原创 一篇搞定小白对openssl加密的疑惑

最近在搞grpc ssl双向验证加密传输,刚好把最近网上搜索的资料与个人理解整理一下。一、背景介绍使用HTTP(超文本传输)协议访问互联网上的数据是没有经过加密的。也就是说,任何人都可以通过适当的工具拦截或者监听到在网络上传输的数据流。但是有时候,我们需要在网络上传输一些安全性或者私秘性的数据,譬如:包含信用卡及商品信息的电子订单。这个时候,如果仍然使用HTTP协议,势必会面临非常大的风险!相...

2020-04-21 15:48:23 6187 1

原创 实战搞定gRPC之移植篇

一、交叉编译protobuf1.配置交叉编译器export PATH=$PATH:/opt/EC20_crosstool/ql-ol-crosstool/sysroots/x86_64-oesdk-linux/usr/bin:/opt/EC20_crosstool/ql-ol-crosstool/sysroots/x86_64-oesdk-linux/usr/libsource /opt/...

2020-03-27 21:16:55 4507 16

原创 移植ffmpeg至海思平台

一、xvid、x264、ffmpeg源码下载链接:https://pan.baidu.com/s/13phSFrLqkGrKDGF3_a2cSA提取码:ls2s二、交叉编译1. xvidtar zxvf xvidcore-1.3.3.tar.gzcd xvidcore/build/generic./configure --prefix=/home/workspace/arm_sof...

2019-09-25 10:24:13 4103 5

原创 FOTA升级差分包编译服务器搭建

奈何公司测试组电脑没有Linux系统,每次测试FOTA升级用的差分包都需要找我来制作,实在麻烦。本想搞个QT界面弄得专业点,后面有时间再去搞吧,现在打算先临时写一个应急。一、Ubuntu端先搭建FTP服务器参考之前搭建的记录Ubuntu14.04搭建FTP服务器记录 - chenwr2018的博客 - CSDN博客 https://blog.csdn.net/chenwr2018/art...

2019-06-14 13:59:18 2349

原创 mmap内存映射用法总结

将最近网上搜索的资料统一整理下,方便后续复查。一、什么是mmapmmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系,函数原型如下void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);实现这样的...

2019-05-28 14:59:37 2954

原创 高通mdm9607 mcfg_sw.mbn配置编译流程

mdm9607 mcfg_sw.mbn修改编译方法一、平台实际遇到问题:1.未添加运营商mcfg_sw.mbn配置文件,存在设备找网速度慢的问题。2.添加高通默认配置mcfg_sw.mbn,出现问题: (1)设备插入移动卡,呼入会出现自动接听。 (2)设备插入电信4G卡,无法4G上网。 (3)设备插入特定物联网卡,UE无法正常切换对应运营商配置。默认切换至3GPP,...

2019-01-18 10:22:07 6468 1

原创 海思3515A移植记录

  第一次写博客,暂时就先粗略记录下自己移植lrzsz、samba服务器和ssh服务器的流程,方便日后提供思路快速解决同类问题。 lrzsz移植步骤平台:海思3515A系统:Ubuntu12.04作用:串口发送接收工具移植成功的源码版本压缩包存放地址a. lrzsz源码下载1.lrzsz源码包下载地址:https://ohse.de/uwe...

2018-09-06 19:45:06 822

原创 Linux-epoll机制

主要接口epoll_createepoll_ctlepoll_waitepoll_create头文件#include <sys/epoll.h>函数原型int epoll_create(int size);int epoll_create1(int flags);成功返回整型fd,失败返回-1作用创建一个epoll的句柄,size用来告诉内核这个监听的数目一共有多大。这个参数不同于select()中的第一个参数,给出最大监听的fd+1的值。需要注意的是,当创建好ep

2022-02-16 16:50:06 3118

原创 Linux-select机制

select中文释义表示选择为实现socket非阻塞。通过将fd句柄放在集合中(一维数组),通过轮询的方式来判断当前是否有事件发生。select作用监视文件描述符的变化(可读、可写或异常)在Linux系统中,一切都以文件的形式存在,包括网络通讯也是。因此select通常用来监视socket文件句柄。简单理解为#mermaid-svg-548N3Xo3KvW1MuC9 .label{font-family:'trebuchet ms', verdana, arial;font-family:var

2022-02-16 16:01:25 3631

原创 sqlite auto-vacuum的使用

背景sqlite有个不足的地方,就是当你对数据库的表进行删除时,数据库文件大小不会变小。根本原因是它只是将删除部分的页打了标记,意味着这部分数据是脏数据,可以直接覆盖。因此对于用户空间它的容量还是不变。这样导致应用如果要对每个业务数据库容量进行限制变得很麻烦。auto-vacuum作用auto-vacuum原理是把空闲页移到数据库末尾,从而减小数据库大小。但是存在个问题,会出现数据库碎片化。而vaccum刚好与之相反,该命令会对数据库进行反碎片化。vaccum原理是通过复制主数据库中的内容到一个临

2021-12-19 15:03:15 3193 2

原创 syslog RFC5424协议详解

RFC5424协议解读与报文分析。

2021-12-06 11:20:22 4499

原创 解决jinjia2 for循环变量作用域问题

问题描述for循环内部的值无法在for循环外部使用。{% set facility = "NULL" %}{% if s['log-filter'] is not none %} {% for PRI in s['log-filter'] %} {% set facility = PRI['facility'] %} test1 {{ facility }} {% endfor %} test2 {{ facility }}{% endif %

2021-12-05 15:54:53 1827

原创 免费录屏软件Captura安装配置

收费课程要到期了,该APP居然防录屏的功能。只能另辟蹊径,模拟器+电脑录屏了。CapturaCaptura下载地址设置中文安装FFMPEGFFMPEG安装包详细流程FFmpeg官网设置FFMPEG目录效果参考资料:有哪些值得推荐的电脑录屏软件与手机录屏软件? - 知乎为什么ffmpeg从官网下载不了? - 知乎...

2021-11-20 10:14:37 383

原创 rsyslog无法发送日志到server端问题定位

问题描述网络正常的情况下,代码端中使用openlog无法正常将日志发往syslog服务器。即使使用logger也无法正常发送。环境ARM设备充当client端。pc虚拟机Ubuntu充当server端。验证方式通过wireshark抓包设备端发送的syslog协议报文。rsyslog.conf与rsyslog.service网上有很多描述,这里就不展开赘述了。解决办法修改rsyslog.conf配置文件添加sysSock.Name="/dev/log"修订内容如下:module(lo

2021-11-07 15:53:31 6113

原创 解决enter键Typora不能单换行的问题

1.问题Typora Markdown编辑器有个问题是,换行实际上是另起两行。如果要单换行必须使用shift+enter键才能起到效果。2.解决办法2.1进入主题目录拉到最后,点击打开主题文件夹。演示效果主题为默认的Whitey2.2修改主题css样式文件找到whitey.css文件使用文本工具打开,全局搜索关键字 p (CSS当中p元素表示段落)将p,删除,并添加如下语句p { color: #c9d1d9; line-height: 1.50rem;

2021-07-20 17:03:21 8881 3

原创 vscode 解决正在下载程序包“C/C++ language components (Linux / x86_64)” 失败引起的符号找不到问题

1.问题vscode ssh远程查看代码时,大纲无法罗列函数列表。根本原因是远程c/c++插件没有安装成功错误信息如下正在下载程序包“C/C++ language components (Linux / x86_64)” 失败。正在重试... 失败。正在重试... 失败。正在重试...正在等待 8 秒... 失败。正在重试...正在等待 16 秒... 未能下载 https://go.microsoft.com/fwlink/?linkid=2161011在阶段 downloadPackage

2021-04-16 23:37:30 17671 5

原创 解决win10应用程序图标丢失问题

1.问题sublime 软件图标莫名其妙不显示。2.解决办法1.进入cmd命令提示符2.输入如下内容taskkill /im explorer.exe /fcd /d %userprofile%\appdata\localdel iconcache.db /astart explorer.exeexit已恢复,记录一下方便下次又遇到。...

2020-10-12 17:43:47 6175 11

原创 gRPC 如何确认TLS版本

一、问题因客户需求grpc必须支持SSL/TLS1.2以上的版本,之前纳闷没有查看支持TLS版本的选项和宏开关,后续想到可以通过抓包工具获取协议头的信息。但是我实际通过wireshark模拟抓包数据确不是TLSv1.2,而是TLSv1。二、原因后续排查发现,有可能是openssl版本的问题。加密组同事提供的版本是openssl 1.1.0f。模拟测试了一下。笔记本(openssl 1.0.1f)运行grpc server PLCN1(系统库 OpenSSL 1.0.1k)运行grpc cli

2020-09-25 17:41:50 1038

原创 【win10】搭建FTP服务器与上传脚本实现

1.创建FTP登录账号电脑桌面 计算机 右键->管理->本地用户和组->用户->“右键”新建用户->输入用户名和密码。(全名可以不填写,只勾选密码永不过期。)创建成功。2.创建本地目录任意磁盘,创建个目录用来当作FTP接受发送文件的目录。3.开启FTP服务打开控制面板 -> 程序 -> 启动或关闭windows功能开启相关服务。4.在IIS添加FTP站点​打开控制面板 -> 系统和安全 -> 管理工具 -> Inte

2020-08-25 15:19:06 619

原创 【ARM】简单移植adb与adbd过程记录

1.问题遇到一个比较苛刻的客户,测试程序adb push到开发板时间格式不一样,这都要算软件bug。没办法,只能想办法解决。后续在其他平台验证不会出现时间格式不一致的问题,所以把目标锁定在adbd版本的问题。于是打算重新移植个最新版本的adbd。后面发现根本原因是设备的系统时间小于adb push文件的属性时间,由于没有联网校时导致的,因此只会显示年份。不过还是把移植的过程记录下来。2.过程2.1 失败参考交叉编译arm Linux环境下的android-tools-adb_u011281

2020-08-20 11:47:50 6760 18

原创 virtualbox打开Ubuntu失败(VERR_INVALID_NAME)

1.virtualbox无法打开虚拟机虚拟机莫名其妙崩溃The virtual machine ‘Ubuntu14.04’ has terminated unexpectedly during startup with exit code 1 (0x1).2.解决办法按照提示重新安装virtualbox,也没用。瞎折腾一通才找到问题所在。我的原因是,电脑安装了Adsafe。当初主要目的是用来过滤广告的,没想到还会影响到虚拟机。把它卸载后问题就解决了。3.过程记录(1)卸载360(2)查看

2020-08-17 19:19:42 3747 1

原创 解决下载github-production-release-asset-2e65be.s3.amazonaws.com上release文件慢的问题

1.问题去github下载BloomRPC工具进行测试grpc,果然一如既往的慢。想到把github转到码云进行下载,奈何我要下载的是release的文件。(GitHub代下载服务·永久免费 )码云上居然不会转移过去。只能百度其他方法。看到最多的是修改hosts文件的方法。windowsC:\Windows\System32\drivers\etc\hostsLinux/etc/hostsDns检测|Dns查询 - 站长工具:http://tool.chinaz.com/dns

2020-07-21 19:09:54 9267

原创 【ARM】程序快速定位segmentation fault core dumped错误

1.应用场景ARM开发过程中经常进程运行着出现段错误,这时候单纯靠加日志打log效率太低。使用gdb的话,由于APP进程太多,生成的core的文件特别大,而且gdb再arm板子也不好单步调试,不太友好还是pass掉。目前使用段错误捕捉SIGSEGV信号,通过backtrace和backtrace_symbols函数进行堆栈信息定位,再使用addr2line工具将指令的地址和可执行映像转换成文件名、函数名和源代码行数。2.实现代码C代码接口。/****************************

2020-07-21 09:46:09 2591

原创 struct timeval用法与时间溢出问题

1.用法高精度计算时间的结构体struct timeval。头文件是sys/time.h网上查找的定义是#include "sys/time.h" struct timeval { __time_t tv_sec; /* Seconds. */ __suseconds_t tv_usec; /* Microseconds. */ };tv_sec成员为秒,tv_usec为微秒。1秒=1000000微秒。__time_t和__suseconds_t都为lon

2020-07-03 19:22:53 5959

原创 EC20 配置DHCP客户端自动获取IP

1.应用场景两台EC20开发板,通过以太网口进行连接通讯,其中一台当服务端,另外一台当客户端。(用于模拟客户的Network Manager网络设备)服务端使用dnsmasq这个工具来创建DHCP服务器。2.DHCP客户端配置开发板没有dhclient,差点dhclient与udhcpc是同一个概念的东西,都是用来配置DHCP客户端。...

2020-07-03 10:44:43 2431

原创 ** (java:10104): WARNING **: Could not open X display (MobaXterm无法打开smartgit)

1.问题平常都是windows这台主机通过MobaXterm远程到另外一台Ubuntu主机,今天突然smargit无法使用。报错:root@chenwr-pc:/home/workspace/project/grpc_project/build_ec20_grpc_demo# smartgit** (java:10104): WARNING **: Could not open X displayError invoking SmartGitjava.lang.reflect.Invocati

2020-06-28 17:07:46 2471

原创 gRPC client端请求响应速度慢问题

文章目录1.问题描述2.问题分析与解决3.DNS知识点补充3.1 什么是dns?3.2 主机名与域名是不是同一个概念?3.3 Linux端如何配置域名解析?3.4 127.0.1.1与127.0.0.1有啥区别?1.问题描述1.开发板验证测试服务端/usrdata/grpc_test # ./grpc_server_timestampSyncServer listening on localhost:50051[runtime] Create and run the server cost t.

2020-06-22 19:19:45 4381 1

原创 vscode 个人使用配置

因公司绿盾加密导致使用source insight远程访问代码受限,转战vscode。把自己第一次接触以来的操作记录一下。1. 插件安装2.设置中文3.设置ssh远程访问代码3.1 安装Remote - SSH插件3.2 配置config设置你远程的服务器主机ip右键ip输入密码后就可以登录绿色勾勾出现说明连接成功。但每次都要输入密码很烦。配置免密码登录十分有必要。本地和远程的插件都要安装一下。这个插件还是要装的。4.vscode配置免密登录ssh4.1 在本地机

2020-06-15 19:34:44 1338 1

原创 揭开gRPC神秘面纱

一、什么是RPCRPC(Remote Procedure Call):远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想。RPC 是一种技术思想而非一种规范或协议,常见 RPC 技术和框架有:应用级的服务框架:阿里的 Dubbo/Dubbox、Google gRPC、Spring Boot/Spring Cloud。远程通信协议:RMI、Socket...

2020-04-13 11:38:13 1054

原创 让gRPC动态库变得短小精悍

之前对strip还一脸懵逼,刚好在makefile中搜索到关键字,依葫芦画瓢测试一波,果然成功了,后来发现只要一条命令就解决的事情。还是记录下自己解决问题的过程吧。修改grpc目录下的makefile修改前:修改后:将自己要strip的库添加进去,库文件存放的路径是在grpc/libs/opt下。执行命令make strip-shared_c -j8 HAS_PKG_CONFIG=...

2020-03-31 16:12:44 1730

原创 小白入门之gRPC helloword

一、安装gRPC1.安装相关工具sudo apt-get install build-essential autoconf libtool pkg-configsudo apt-get install cmakesudo apt-get install libgflags-dev clang-5.0 libc++-dev点击yes即可。Ubuntu14.04 安装clang-5....

2020-03-26 08:58:56 513

原创 让gRPC源码下得飞起

一、遇到的问题按照github上的说明进行操作grpc/BUILDING.md at master · grpc/grpc Unix $ git clone -b v1.28.0-pre3 https://github.com/grpc/grpc $ cd grpc $ git submodule update --init克隆最新release版本v1.28.0-pre3,但...

2020-03-25 14:06:37 3450 10

原创 人脸识别demo分析(opencv版本)

一、faceRecognition接口说明/********************************************************************* 函数名: faceRecognition** 函数描述: 人脸识别** 参数: [int] recognitionPic: 识别的照片,[int] targetFaceIndex: 目...

2019-12-25 09:46:00 881 1

原创 cmake自动选择编译器脚本

一、什么是cmakeCMake 是一个跨平台的,开源的构建系统(BuildSystem)。CMake 可以通过 CMakeLists.txt 文件来产生特定平台的标准的构建文件,例如:为 Unix 平台生成makefiles文件(使用GCC编译),为 Windows MSVC 生成 projects/workspaces(使用VS IDE编译)或Makefile文件(使用nmake编译)。关键...

2019-12-11 15:43:37 685

原创 试玩dlib人脸识别

一、Ubuntu端试玩dlib源码下载:wget http://dlib.net/files/dlib-19.18.tar.bz2使用cmake进行编译。1.1 编译gcc版本dlibunzip dlib-19.18.zipcd dlib-19.18/mkdir buildcd buildcmake …make -j 8 release=1编译成功[100%] Link...

2019-11-09 16:07:25 590

原创 解决smartgit中文显示乱码

respository -> settings… -> Text Encoding

2019-10-17 11:17:45 985

原创 笔记本重装系统后蓝屏记录

大白菜制作U盘启动盘,刚好公司有个纯净版的系统iso镜像。然而重装系统的时候手贱勾选了USB3.0的驱动,导致安装后出现蓝屏。原因是驱动与设备不兼容导致。还以为是系统的问题,原先都是安装雨木林风的ghost版本,到没遇到这个问题。今天可把我折腾死了!...

2019-09-28 17:27:51 565

原创 Ubuntu 定时开关机

一、定时开机del主板 F12进入bios,其他品牌主板自行百度。进入bios setup进入power management选择auto on time 设置好启动时间 (注意有的时候date/time时区不一致,需要去设置与北京时间一致,这时候设置auto on time 就是你希望每天自动开机的时间)为了进行测试,设置下午3点20分开机,测试OK。二、定时关机cron...

2019-09-25 09:04:10 3694

原创 Ubuntu系统修复、系统安装与系统备份

一、Ubuntu系统修复1.正常开机无法进入图形界面卡logo,无法进入系统图形化界面,但是ctrl+alt+F1 能够进入tty1命令行界面进行操作。解决办法:通过命令行进入。需要重新配置网卡。ifconfig eth0 192.168.1.66 netmask 255.255.255.0route add default gw 192.168.1.1ifconfig eht0 u...

2019-09-23 17:45:50 4469

auto_fota_build.tar.bz2

自动编译FOTA升级差分包,包括Linux整个完整的编译工具和脚本。

2019-09-25

opencv检测人脸程序

使用opencv简单识别图片人脸的demo,检测脸部部分和眼睛部分,包含程序与makefile,可在Linux直接编译运行使用,方便参考学习。

2019-09-06

空空如也

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

TA关注的人

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