- 博客(41)
- 收藏
- 关注
原创 Git的使用教程
一、Git简介1.1Git特点: 版本控制:可以解决多人同时开发的代码问题,也可以解决找回历史代码的问题。分布式:Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。1.2Git的安装和配置: 1.安装命令如下: sudo apt-get install git 2.去git官网下载最新版git软件1.3创建一个版本库: 1. 新建一个目录git_test,在git_test目录下创建一个版本库,命令如下: git init 可以看到在git_test
2022-06-01 16:52:22
221
原创 Ubuntu 压缩多个vmdk文件
问题:主机是Windwos,安装了VMWare。在VMWare中安装了虚拟机Ubuntu操作系统。Ubuntu本身不大,但是*.vmdk很大。网上搜索各种方法都不管用。 说明:因为Ubuntu系统占用了空间,系统未释放,所以使用各种工具逼它释放并不能达成目的。在Ubuntu操作:cat /dev/zero> zero.fillrm -f zero.fill在VMware Workstation16目录下进入dos:补充DOS操作:验证失败!!!!!!!...
2022-03-22 15:10:25
1867
1
原创 【无标题】cat /proc/meminfo
[root@realhost /]# cat /proc/meminfoMemTotal: 688576 kB 总内存MemFree: 153736 kB 空闲内存MemAvailable: 339884 kB 可用内存Buffers: 16 kB 给文件的缓冲大小Cached: 267672 kB 高速缓冲存储器SwapCached: 36 kB ......
2022-02-25 17:44:04
263
原创 sprintf函数报警报
sprintf(szCmd, "/tmp/wlan_tools/wpa_supplicant -B -P /var/run/wpa_supplicant.pid -i %s -c /tmp/wpa_supplicant.conf", pWlanState->szIfName);解决办法: 原来 char szCmd[128] --------> 改为 char szCmd[256];
2021-11-22 15:59:44
444
原创 位率=位速=码率=比特率
长度是4分44秒,而位率是320kbps,文件大小怎么计算呢,我们首先要明确,这里的kbps中的k是“千”的意思,也就是1000。然后我们解释后面的bps,通信中经常用这个单位,我们常说自己家的宽带是100M的,但是你知道这100M的单位就是bps吗?bps说白了就是每秒可以传输多少个1/0。下面我们再来更详细的解释一下。看到这篇文章,屏幕前的你应该知道计算机中我们的信息都是通过高低电平的形式来传输的,也就是1/0。而既然是传输,那肯定就会有个速度,就像自来水,管子粗就会流量大,单位时...
2021-11-17 17:09:03
4404
原创 Send函数和Recv函数解析
1.send函数intsend(SOCKETs,constcharFAR*buf,intlen,intflags);不论是客户端还是服务器端应用程序都用send函数来向TCP连接的另一端发送数据。客户端程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。该函数的:第一个参数指定发送端套接字描述符;第二个参数指明一个存放应用程序要发送数据的缓冲区;第三个参数指明实际要发送的数据的字节数;第四个参数一般置0。...
2021-11-15 20:17:52
429
原创 Hi3519AV100编译busybox
root@ubuntu:/opt/arm/Hi3519AV100_SDK_V2.0.1.0/osdrv/opensource/busybox/busybox-1.26.2#编译busybox1、make menuconfig2、make ARCH=arm CROSS_COMPILE=arm-himix200-linux-3、make install4、如需重新编译 make clean
2021-11-04 19:23:21
170
原创 tack smashing detected 错误的处理
分配空间不足引起的错误:‘Stack smashing detected’ 在程序编译的时候,加上一个选项即可:"-fno-stack-protector"举个简单的例子,比如,原来编译时使用的命令为:gcc -o xxxx source.c则需要改为:gcc -o xxxx "-fno-stack-protector" source.c如果是通过makefile文件进行编译,除了那个生成最终二进制文件的编译命令之外,记得将其中每个“.o”文件的编译命令中也加上"-fno-st...
2021-04-07 17:26:22
811
原创 sprintf、fprintf、fscanf函数
1、sprintf函数 snprintf(aszFileName[i],32, "stream_chn%d_%d%s", i, u32PictureCnt[i],szFilePostfix); //sprintf(scan_str, "%s=%%d.%%d.%%d.%%d", type_str); pFile[i] = fopen(aszFileName[i], "wb"); if (!pFile[i]) { ...
2021-01-16 18:01:49
225
原创 网络知识
首先解释一下“内网”与“外网”的概念: 内网:即所说的局域网,比如学校的局域网,局域网内每台计算机的IP地址在本局域网内具有互异性,是不可重复的。但两个局域网内的内网IP可以有相同的。 外网:即互联网,局域网通过一台服务器或是一个路由器对外连接的网络,这个IP地址是惟一的。也就是说内网里所有的计算机都是连接到这一个外网IP上,通过这一个外网IP对外进行交换数据的。也就是说,一个局域网里所有电脑的内网IP是互不相同的,但共用一个外网IP。(用ipconfig/all查到的IP是你本机的内网...
2020-11-25 10:40:00
168
原创 makefile 中 $@ $^ $< 使用
源程序编译Makefile的编写程序库的链接程序的调试头文件和系统求助1.源程序的编译在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器。 下面我们以一个实例来说明如何使用gcc编译器。假设我们有下面一个非常简单的源程序(hello.c):int main(int argc,char **argv){printf("Hello Linux\n");}要编译这个程序,我们只要在命令行下执行:gcc -o hello hello.cgcc 编译器就会为...
2020-09-23 10:29:55
12211
原创 Ubuntu16.04 修改用户名和密码
在修改某个用户的用户名和密码之前,首先确定你的root用户是设置了密码的,因为之后我们可能无法操作你的当前用户,这是有风险的。下面给出我的操作步骤(实测):修改root密码sudo passwd root注意,上述指令要求的第一个输入是你当前用户的密码,之后两个是你要为root用户更新的密码。2. 修改用户密码passwd xxxxxx表示当前用户名,指令执行后需要输入三次,第一个是当前密码,第二个和第三个是新的密码。3. 修改用户名sudo gedit /etc/pa
2020-09-10 10:56:17
1142
原创 YCbCr与YUV
YCbCr是DVD、摄像机、数字电视等消费类视频产品中,常用的色彩编码方案。YCbCr 有时会称为 YCC.。Y'CbCr 在模拟分量视频(analog component video)中也常被称为 YPbPr。YCbCr不是一种绝对色彩空间,是YUV压缩和偏移的版本。1、YUV与YCbCr的区别 正如几何上用坐标空间来描述坐标集合, 色彩空间用数学方式来描述颜色集合。常见的3 个基本色彩模型是RGB,CMYK和YUV。 YCbCr 则是在世界数字组织视频标准研制过程中作为ITU - R ...
2020-09-09 17:00:03
4079
2
原创 嵌入式五种重要概念串口、COM口、TTL、RS232、RS485的区别详解
一个嵌入式工程师,无论你做硬件还是软件都会接触到串口、COM口、TTL、RS232、RS485这些概念的。你是否也会一遇到这个概念就要百度一下,谷歌搜过呢?下面就为大家介绍它们之间恩怨情仇吧。1、串口、COM口是指的物理接口形式(硬件)。而TTL、RS-232、RS-485是指的电平标准(电信号)。2、接设备的时候,一般只接GND RX TX。不会接Vcc或者+3.3v的电源线,避免与目标设备上的供电冲突。3、PL2303、CP2102芯片都是常用的USB转TTL串口的芯片,用USB来扩展串口(
2020-07-18 17:36:34
1226
转载 常用视频像素格式NV12、NV2、I420、、Yv12、YUYV
https://blog.csdn.net/cgwang_1580/article/details/79595958
2020-04-24 17:46:49
622
原创 配VO用户时序
Hi3519APLL 频率计算方法PERI_CRG_PLL15FREF PLL输入参考时钟Hi3519A要求固定输入 24MHzFOUTVCO =FREF...
2020-01-09 10:15:49
717
原创 GDB调试
我们打算使用gdb去解决为什么下面的程序(文件为segfault.c)引起了段错误的问题。下面的这段程序是从用户那里读入一行文本字串然后显示在屏幕上。然而,如下当前的程序并不会如期执行...#include <stdio.h>#include <stdlib.h>int main(int argc, char **argv){char *...
2019-09-25 15:16:23
160
原创 TortoiseSVN 右键选项
TortoiseSVN是windows下其中一个非常优秀的SVN客户端工具。通过使用它,我们可以可视化的管理我们的版本库。不过由于它只是一个客户端,所以它不能对版本库进行权限管理。TortoiseSVN不是一个独立的窗口程序,而是集成在windows右键菜单中,使用起来比较方便。TortoiseSVN每个菜单项都表示什么意思01、SVN Checkout(SVN取出)点击SVN ...
2019-08-14 11:42:49
2896
原创 Compare 4
beyondcompare 4密钥w4G-in5u3SH75RoB3VZIX8htiZgw4ELilwvPcHAIQWfwfXv5n0IHDp5hv1BM3+H1XygMtiE0-JBgacjE9tz33sIh542EmsGs1yg638UxVfmWqNLqu-Zw91XxNEiZF7DC7-iV1XbSfsgxI8Tvqr-ZMTxlGCJU+2YLveAc-YXs8ciRTtssts7...
2019-08-14 11:12:02
1348
转载 视频参数
1、分辨率(Resolution)视频分辨率是指视频成像产品所成图像的大小或尺寸,它的表达式为:“水平像素数*垂直像素数”。常见的图像分辨率有QCIF(176×144),CIF(352×288),D1(704×576),720P(1280×720),1080P(1920*1080)。摄像机成像的最大分辨率是由CCD或CMOS感光器件决定的。现在有些摄像机支持修改分辨率,是通过摄像...
2019-07-08 17:36:03
444
转载 华为海思系列芯片开发学习中常见缩写详解
1. 系统控制Hi —— HiSilicon 海思半导体公司MPP —— Media Process Platform 媒体处理平台MPI —— MPP Programe Interface MPP程序接口DDR —— Double Data-Rate 双倍速率,DDR SDRAM=双倍速率同步动态随机存储器,人们习惯称为DDR,其中,SDRAM 是Synchronous Dynam...
2019-07-01 14:09:22
724
转载 Linux动态库.a与动态库.so的生成与区别、以及.so库文件的封装与使用
https://blog.csdn.net/psy6653/article/details/78529054
2019-06-15 10:00:52
224
转载 线程的互斥锁与条件变量
1.初始化条件变量pthread_cond_init#include <pthread.h>int pthread_cond_init(pthread_cond_t *cv,const pthread_condattr_t *cattr);返回值:函数成功返回0;任何其他返回值都表示错误初始化一个条件变量。当参数cattr为空指针时,函数创建的是一个缺省的条件变量。否则...
2019-04-30 14:39:42
186
转载 嵌入式 hi3519平台uboot引导nfs文件系统
首先贴出来我的bootargs的设置(注没有换行符!!!):setenv bootargs noinitrd mem=64M root=/dev/nfs init=/linuxrc rw nfsroot=10.10.2.59:/opt/rootfs/ ip=10.10.1.156:10.10.2.59:10.10.1.1:255.255.255.0:skdkjzz:eth0:off conso...
2019-04-29 09:54:46
638
转载 nfs挂载(虚拟机和开发板)
首先来说一下来说一下,我所用到的软硬件配置ubuntu11.04开发板内核芯片是S3C2440,烧录内核版本是linux2.6.29,如果要实现两台设施之间的通信的话,首先要能ping通,值得注意的事Ping命令只能说明七层网络中,物理层,和链路层是好使的但是这在我们的嵌入式开发中就足够了。因为用的事虚拟机VMware7.0,所以实际上整个网络可以分成三部分。即开发板...
2019-04-29 09:29:05
929
转载 编译海思Hi3518EV200 报错serve_image.c:32:18: error: storage size of ‘hints’ isn’t known
checking for C++ compiler default output file name…configure: error: C++ compiler cannot create executablesSee `config.log’ for more details.cp: cannot stat ‘/home/leaf/Hi3518E/Hi3518E_SDK_V1.0.3.0...
2019-04-26 15:45:48
687
转载 mkfs.ubifs/hashtable/hashtable_itr.c:42:1: error: redefinition of ‘hashtable_iterator_key
https://blog.csdn.net/longcheng217/article/details/88950693
2019-04-26 15:31:34
1531
原创 source insight配置
最近分析DPDK代码的时候遇到 __attribute__这种东西。就无法解析对应的函数,跳转苦不堪言:如果你遇到这个问题,然后有幸,看到了我的文章。告诉你有幸啦打开 source insight 安装目录C:\Program Files (x86)\Source Insight 3里面的C.tom添加如下语句;For __attribute____attribute__(t...
2019-04-19 09:52:24
301
转载 Hi3516 sample学习心得
嵌入式系统通常是一个资源受限的系统,因此直接在嵌入式系统的硬件平台上编写软件 比较困难,有时候甚至是不可能的。 目前的解决方法是采用宿主机、目标机的开发模式。在宿主机上编写程序,通过交叉编 译器生成目标板上可以执行的二进制代码。然后通过文件系统,将二进制代码放在特定 目录下,在目标板上运行。 宿主机:VMWARE \ ubuntu(服务器:192.168.1.101) 环境:交叉开发工具包,nfs...
2019-04-17 10:44:31
2580
6
转载 linux page buffer cache
Page cache和buffer cache一直以来是两个比较容易混淆的概念,在网上也有很多人在争辩和猜想这两个cache到底有什么区别,讨论到最后也一直没有一个统一和正确的结论,在我工作的这一段时间,page cache和buffer cache的概念曾经困扰过我,但是仔细分析一下,这两个概念实际上非常的清晰。如果能够了解到这两个cache的本质,那么我们在分析io问题的时候可能会更加得心应手...
2019-04-17 10:11:27
88
转载 海思Hi3516A 的mpp编码
系统初始化(SYS INT):1、配置VB视频缓冲池;2、初始化VB3、配置系统(字节对齐)4、初始化系统配置视频捕获(VI+ISP):5、配置MIPI6、初始化ISP7、运行ISP线程8、配置开启VI 设备捕获9、配置开启VI 通道捕获配置视频处理子系统(VPSS):10、创建VPSS的group11、获取,配置group属性12、启动gr...
2019-04-12 14:18:21
445
原创 source insight卸载
完全卸载方式:1、清除注册表信息:“win ”+ R 或者 “开始” -> “运行”,输入“regedit”,回车; 在弹出的注册表管理器中,选择“编辑”-> “查找”->“source insight”,或按照下述路径展开:HKEY_CURRENT_USER -> software -> Source Dynamics -> S...
2019-04-11 11:37:05
3662
原创 ubuntu14.4环境搭建
1. 找到文件并作如下修改命令:sudo vim /etc/network/interfaces修改(添加)如下部分auto loiface lo inet loopback# The primary network interfaceauto eth0#iface eth0 inet dhcpiface eth0 inet staticaddress 192.168.1.10...
2019-04-09 16:34:37
601
转载 GPIO模拟I2C总线进行通信
I2C总线的通信过程(见图4-8)主要包含三个主要阶段:起始阶段、数据传输阶段和终止阶段。1. 起始阶段在I2C总线不工作的情况下,SDA(数据线)和SCL(时钟线)上的信号均为高电平。如果此时主机需要发起新的通信请求,那么需要首先通过SDA和SCL发出起始标志。当SCL为高电平时,SDA电平从高变低,这一变化表示完成了通信的起始条件。在起始条件和数据通信之间,通常会有延时要求,具...
2019-03-12 15:30:14
299
转载 类型取值范围
IEEE754浮点数的表示方法。C语言里对float类型数据的表示范围为-3.4*10^38~+3.4*10^38。double为-1.7*10^-308~1.7*10^308,long double为-1.2*10^-4932~1.2*10^4932. 类型 比特(位)数 有效数字 数值范围 floa...
2019-03-11 10:04:13
181
转载 STM32串口通信配置(USART1+USART2+USART3+UART4)
一、串口一的配置(初始化+中断配置+中断接收函数) 1 /*=============================================================================== 2 Copyright: 3 Version: 4 Author: 5 Date: 2017/11/3 6 Description: 7...
2019-03-05 11:32:57
2271
转载 STM32 USART 串口 DMA 接收和发送的源码详解
硬件平台:STM32F103ZET6; 开发环境:KEIL 4;先说说应用通讯模式,串口终端的工作方式和迪文屏差不多,终端被动接受MCU发的指令,终端会偶尔主动发送一些数据给MCU(像迪文屏的触摸信息上传)。串口DMA发送:发送数据的流程:前台程序中有数据要发送,则需要做如下几件事1. 在数据发送缓冲区内放好要发送的数据,说明:此数据缓冲区的首地址必须要在D...
2019-02-27 11:59:37
769
转载 STM32用SPI方式控制OLED模块
https://blog.csdn.net/Zach_z/article/details/72902591
2019-02-25 10:28:20
1885
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人