自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(117)
  • 资源 (5)
  • 收藏
  • 关注

原创 基于exiv2 库在照片中写入exif &xmp信息详细介绍

exiv2 可以接受内存中的数据作为参数,因此它可以直接从内存中加载图像数据,而不必依赖于文件

2024-04-10 18:12:44 184

原创 crc16 code

【代码】crc16 code。

2023-10-08 10:13:26 99

原创 check sd总容量或者剩余容量

code 学习

2022-09-28 15:49:21 189 1

原创 ubuntu 安装samba 服务

1、安装Samba服务2、配置需要共享的目录3、添加samba用户注:添加samba用户,用于其他人或设备认证,这里添加的用户需要在系统账号中存在,否则添加失败4、配置Samba先备份sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak,以防改错,sudo vim /etc/samba/smb.conf 修改配置,添加共享,可直接加到文件尾新建一个user(××××), 该user有权限登录samba,在smb.conf中 配置如下:.........

2022-06-17 11:51:21 5045

原创 UTC转周秒 & 具体时间接口

1. UTC转周秒#define UNIX_GPS_DIF 315964800 // utc time base 1970.1.1; gps time base 1980.1.6, 3657 * 24 * 3600#define GPS_TIME_LEAPSEC 18#define SECONDS_PER_WEEK 604800//7*24*3600int utc_to_gps_time(uint32_t *Week, double *

2021-11-22 15:27:59 1624 2

原创 linux读取解析文件中字段key=value值

**/tmp/test.txt 内容如下:test_field=23test_field1=“test”****> > int check_file_fields(const char *file, char *dst, int len) {> > #define FILEBUFSIZE 128> > FILE *stream = NULL;> > char line[FILEBUFSIZE] = {0};> &

2021-09-26 10:01:57 781

原创 https SSL/TLS 详解

1.TLS/SSL的前世今生SSL(Secure Sockets Layer)最初由Netscape定义, 分别有SSLv2和SSLv3两个版本(SSLv1未曾对外发布); 在SSLv3之后SSL重命名为TLS。TLS(Transport Layer Security)版本从TLSv1.0开始, TLSv1.0是在SSLv3的基础上升级而来。多年以来已弃用的SSL协议也暴露出了一些高危漏洞(例如: POODLE, DROWN); 因此建议服务器禁用SSL3.0及SSL2.0, 只启用TLS协议。2

2021-07-15 11:04:50 1477 3

转载 (调试)图像调试基本术语(转)

图像调试基本术语

2021-03-03 11:24:44 450

转载 H264中的时间戳(DTS和PTS)

参考一下连接,有比较详细的介绍:https://blog.csdn.net/youzhouliu/article/details/78270238

2020-12-31 10:59:59 858

原创 linux 通过nand 存储、读取参数配置

1./dev/mtd9, 其nand块大小可以通过/proc/mtd查看。mtd9 size为0x001c0000, erasesize大小为0x20000.2.如要存储/读取数据,可以以mtd9为列。可以调用如下接口参数:#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>#include <dirent.h>#include &lt

2020-09-28 09:03:54 922

原创 linux- c检测USB/SD卡热插拔(netlink)

可以参考 :**https://blog.csdn.net/u013566722/article/details/78806217拔插USB 或者SD卡,系统会打印相关的log信息,recvmsg 就会捕获到,然后解析相应的关键字段信息来判断usb或者sd卡是否拔掉或者插入。比如:sd卡拔插事件收到后,可以解析buf,解析方法如下:**static int parse_date(char *buf, int len){ if (strstr(buf, "ACTION=add") !

2020-07-29 12:37:36 2721

原创 usb挂载网口设备问题

[ 4.042909] ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI)Driver [ 4.057210] ohci_hcd: USB 1.1 ‘Open’ Host Controller (OHCI)Driver [ 4.063529] ambarella-ohci 60019000.ohci: Ambarella OHCI [4.068832] ambarella-ohci 60019000.ohci: new USB b.

2020-07-10 11:31:04 1799 5

原创 hi3519v101 demo板 在uboot模式下烧录 uboot &kernel&rootfs

首先确保板子通过hitool工具用串口已经烧录过 uboot确保linux 服务器上,安装tftp server . 安装的方法如下:1.安装xinetd: sudo apt install xinetd2.安装tftp和tftpd,sudo apt install tftp tftpd3.配置/etc/xinetd.d/tftp 文件 (没有文件的话就先 vim /etc/xinetd.d/tftp 创建文件再配置)service tftp{socket_type = dgr.

2020-05-18 15:12:26 553

原创 hi3519v101 sdk demo 系统异常

升级uboot &kernel & rootfs后,在demo板上上电启动,发现系统运行异常,异常log如下:mousedev: PS/2 mouse device common for all micei2c /dev entries driverhisi-i2c-v110 12110000.i2c: HISILICON I2C V110 bus driverhisi-i2c-v110 12110000.i2c: mapped registers from 0x12110000

2020-05-18 13:27:07 607

原创 linux如何修改文件夹所属用户名和用户组

格式:chown 账号名称 文件或目录实例:chown www vpsss增加权限给当前用户 chmod +wx filenamechmod -R 777 /upload用户组 chgrp -R foldname zdzchown -R 所有者用户名.组名 文件夹名称例如:chown -R zdz.nginx KooBox...

2020-05-18 08:29:08 3560

原创 Hi3519v101 修改u-boot默认启动参数

如何更改uboot默认启动参数,让其自动加载kernel&rootfs:从sdk中找到osdrv\opensource\uboot\u-boot-2010.06\include\configs\hi3519v101.h找到如下配置: mtdparts:SPI Flash和Nand Flash的分区划分 格式 mtdparts=flashtype:size(name),size(name),…,-(others);flashtype:size(name),size(name),…,-(o

2020-05-15 10:19:13 850

原创 ffmpeg安装libx264 &libx265 & libmp3lame.

当前网络中常见的视频编码格式要数H264最为火热, 支持h264的封装格式有很多, 如FLV,MP4,HLS(M3U8),MKV,ts等格式,FFmpeg本身并不支持H264的编码器,而是由FFmpeg的第三方模块对其进行支持,例如x264 和OpenH264,二者各有优势,由于OpenH264开源比较晚,所以x264还是当前最常见的编码器,下载x264最新的版本, http://downl...

2020-05-06 13:18:04 1979

原创 视频编解码GOP(Group of Pictures)

GOP(Group of Pictures)策略影响编码质量:所谓GOP,意思是画面组,一个GOP就是一组连续的画面。MPEG编码将画面(即帧)分为I、P、B三种,I是内部编码帧,P是前向预测帧,B是双向内插帧。简单地讲,I帧是一个完整的画面,而P帧和B帧记录的是相对于I帧的变化。没有I帧,P帧和B帧就无法解码,这就是MPEG格式难以精确剪辑的原因,也是我们之所以要微调头和尾的原因。   MPEG...

2020-04-24 09:15:38 1754

原创 linux 获取网络接口参数源码

net_network.cpp#include <net/if.h>#include <net/if_arp.h>#include <stdio.h>#include <string.h>#include <stdlib.h>#include <stdint.h>#include <ctype.h>...

2020-04-16 15:17:35 388

原创 linux 检查设备wifi连接的状态

typedef enum { NO_AP, HAVE_AP_NO_STA, HAVE_AP_HAVE_STA,}wifi_t;int getwifi_status(void){#define WIFI_FLAG_STR "sta's macaddr:" char buf[64] = {0}; int n = 0; FILE *m_pStream ...

2020-04-03 14:36:36 4022

原创 system V共享内存shm+ 信号量

#include <stdio.h>#include <sys/shm.h>#include <sys/types.h>#include <string.h>#include <error.h>#include <unistd.h>#include <sys/ipc.h>#include <sy...

2020-04-03 10:01:20 295

原创 进程间共享 命名管道FIFO

#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <signal.h>#include <pthread.h>#include <sys/types.h>#include <errno.h>#include <str...

2020-04-03 09:45:34 242

原创 linux 命名管道FIFO

#define FIFO_FILE_NUM 5 /*3*/char *fifo_name[FIFO_FILE_NUM] = {"/tmp/testfifo1", "/tmp/testfifo2", "/tmp/testfifo3", "/tmp/testfifo4", "/tmp/testfifo5"};fifo_file_handle *fifo_handle[FIFO_FILE_NUM];...

2020-04-03 09:23:28 173

原创 uart 485串口接口代码

#include <unistd.h>#include <stdlib.h>#include <stdio.h>#include <signal.h>#include <string.h>#include <unistd.h>#include <sys/types.h>#include <sys...

2020-04-02 16:59:38 717

原创 linux MTD子系统框架

1. MTD:Memory Technology Device,内存技术设备2. MTD分块设备和字符设备. 在/dev/目录下,可以看到类似mtd× / mtdblock× 文件3. 打开 “/proc/mtd” 文件即可解析出MTD分区信息,从这里可以知道MTD数目,SIZE,擦写块大小及DEV NAME。可看出每个mtd设备有两个:一个是RW设备,另一个的RO,一般使用不带ro后缀...

2020-03-26 09:11:44 759

原创 linux epoll 代码

socket通信 / epoll检测接入client#include <sys/socket.h>#include <sys/wait.h>#include <netinet/in.h>#include <netinet/tcp.h>#include <sys/epoll.h>#include <sys/sendfile...

2020-03-20 13:20:02 325

转载 linux内存管理——mmap函数详解

mmap函数是unix/linux下的系统调用。当存在客户-服务程序中复制文件时候,其数据流如下,要经历四次数据复制,开销很大。如果采用共享内存的方式,那么将大大优化IO操作,数据流变成了如下,数据只复制两次:映射文件或设备到内存中,取消映射就是munmap函数。语法如下:void *mmap(void *addr, size_t length, int prot, int fla...

2020-03-20 09:53:35 166

原创 linux select应用

用select来解决socket中的多客户问题使用select以后最大的优势是用户可以在一个线程内同时处理多个socket的IO请求。在网络编程中,当涉及到多客户访问服务器的情况,我们首先想到的办法就是fork出多个进程来处理每个客户连接。现在,我们同样可以使用select来处理多客户问题,而不用fork。服务器端#include <sys/types.h> #include ...

2020-03-19 14:01:51 194

原创 linux 系统启动脚本

/etc/init.d/rcS#! /bin/sh/bin/mount -aecho " _ _ _ _ _ _ _ _ _ _ _ _ \ _ _ _ _ _ ___ / /__/ \ |_/ / __ / - _ ___ / / / / / / ...

2020-03-19 09:33:38 338

原创 进程间通信 posix-共享内存

posix_sem_write.c#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>#include <sys/mman.h>#include <errno.h&...

2020-03-17 20:55:33 154

原创 进程间通信 posix-信号量

POSIX信号量有两种:有名信号量和无名信号量,无名信号量也被称作基于内存的信号量。有名信号量通过IPC名字进行进程间的同步,而无名信号量如果不是放在进程间的共享内存区中,是不能用来进行进程间同步的,只能用来进行线程同步System V的信号量一般用于进程同步, 且是内核持续的, api为semgetsemctlsemopPosix的有名信号量一般用于进程同步, 有名信号量是内核持续的....

2020-03-17 15:44:22 547

原创 进程间通信 posix-消息队列

Posix消息队列消息队列可以认为是一个消息链表,某个进程往一个消息队列中写入消息之前,不需要另外某个进程在该队列上等待消息的达到,这一点与管道和FIFO相反。Posix消息队列与SystemV消息队列的区别如下:对Posix消息队列的读总是返回最高优先级的最早消息,对System V消息队列的读则可以返回任意指定优先级的消息。当往一个空队列放置一个消息时,Posix消息队列允许产生一...

2020-03-16 13:31:35 284

原创 hisi3519 内核虚拟内存布局原理图

1. 用户空间与内核空间分段式布局如下截图:swapper_pg_dir用于存放内核PGD页表的地方,赋给init_mm.pgd。swapper_pg_dir被定义了绝对地址,在arch/arm/kernel/head.S中有如下定义。swapper_pd_dir的大小为16KB,对应的虚拟地址空间是从0xc0004000 - 0xc0008000,物理地址空间是0x6000400~0x...

2020-03-16 09:33:47 386

原创 linux用户空间与内核空间关系

A:内核空间和用户空间:Linux的虚拟地址空间范围为0~4G,Linux内核将这4G字节的空间分为两部分,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF)供内核使用,称为“内核空间”。而将较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF)供各个进程使用,称为“用户空间。因为每个进程可以通过系统调用进入内核,因此,Linux内核由系统内的所有进程共享。...

2020-03-13 10:51:26 1560

原创 进程通信system V IPC----共享内存

#include <stdio.h>#include <string.h>#include <stdlib.h>#include <unistd.h>#include <sys/ipc.h>#include <sys/shm.h>#include <sys/wait.h>void error_out...

2020-03-08 15:32:22 164

原创 进程通信system V IPC----信号量

信号量通信机制主要用来实现进程间同步,避免并发访问共享资源。信号量可以标识系统可用资源的个数。最简单的信号量为二元信号量下图为 Linux 信号量通信机制的概念图。在实际应用中,两个进程通信可能会使用多个信号量,因此,Linux 在管理时以信号量集合的概念来管理。具体代码如下,可以直接编译测试:sem_comm.c#include"sem_comm.h"int sem_P(int s...

2020-03-07 17:43:08 190

原创 进程通信system V IPC----消息队列1

msg_server.c#include "comm.h"int main(){ int msg_id=create_msg_queue(); char buf[_SIZE_]; while(1) { memset(buf,0,sizeof(buf)); printf("please enter >:")...

2020-03-06 10:15:00 180

原创 进程通信system V IPC----消息队列

往消息队列中发送消息,消息的类型如结构体Msg所示:#include<sys/types.h>#include <sys/msg.h>#include<stdio.h>#include<unistd.h>#include<fcntl.h>typedef struct { long type; char name[2...

2020-03-06 09:51:12 172

原创 pycharm & sublime text3 相关配置信息

首先下载Anaconda3, 里面集成了大量的python库,如果直接下载python安装,后期使用过程中,还需要自己手动下载。anaconda3下载路径:https://repo.anaconda.com/archive/Anaconda3-2019.10-Windows-x86_64.exe下载完成后,直接安装即可,并设置环境变量:然后在cmd下输入 python,如截图代表安装完...

2020-03-03 13:06:35 554

原创 linux如何计算当前系统进程栈的大小

如何确认进程栈的大小:我们要知道栈的大小,那必须得知道栈的起始地址和结束地址。栈起始地址 获取很简单,只需要嵌入汇编指令获取栈指针 esp 地址即可。栈结束地址 的获取有点麻烦,我们需要先利用递归函数把栈搞溢出了,然后再 GDB 中把栈溢出的时候把栈指针 esp 打印出来即可。代码如下:/* file name: stacksize.c */ void *orig_stack_pointe...

2020-03-02 11:22:34 1907

基于exiv2 库在照片中写入exif &xmp信息详细介绍

Arm64_exiv2lib_header.rar里面包含有 1:基于ARm aarch64 编译的libexiv2.so 2:exiv2头文件

2024-04-10

posix_msgqueue.rar

posix消息队列。支持进程间通信. 代码的编译makefile编写,代码结构分类存放,线程的创建。已经线程之间通过消息队列通信。适合初学者

2020-03-16

extlib_lcm.rar

lcm源码,可以直接编译,生成liblcm.so 库,可以用于多进程之间通信, 主要是轻量级的通信。用起来非常方便。

2019-12-05

python爬虫.rar

里面集成了大量的python 爬虫相关的代码,想自学爬虫的同学可以下载学习。

2019-08-21

ProxySpider-master.rar

python 检查有效代理ip,会把有效的代理ip地址通过文件的方式保存下来。

2019-08-21

vs_community__2139176787.1559359237.exe

vs 集成开发IDE,可以自行选择安装相关应用,支持多种语言,

2019-08-21

空空如也

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

TA关注的人

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