![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
linux
linux
【鹰击司马】
高级嵌入式工程师
展开
-
git的密钥配置
第一步 下载安装git第二步 配置git私钥1.打开git bash,使用git命令。2.ssh-keygen -t rsa -C 邮箱名称(首先 ssh-keygen 会确认 密钥的存储位置(默认是 .ssh/id_rsa),然后它会要求你输入两次密钥口令。 如果你不想在使用密钥时输入口令,将其留空即可。 然而,如果你使用了密码,那么请确保添加了 -o 选项,它会以比默认格式更能抗暴力破解的格式保存私钥。 你也可以用 ssh-agent 工具来避免每次都要输入密码)。3.查看cd ~/.ssh4转载 2021-03-18 19:01:29 · 5266 阅读 · 2 评论 -
dirname: missing operand 问题解决
以下问题在网上找了许久没找到资料,问题解决了,在这里贴出来。问题错误信息:/bin/bash: /usr/local/cross_compiler/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-gcc: command not founddirname: missing operandTry `dirname --help’ for more information.这是因为我们在64位的机器上运行32位的gc转载 2021-03-18 15:08:28 · 5379 阅读 · 1 评论 -
C语言中结构体与字符数组之间的相互转换
#include <stdio.h>#include <stdlib.h>#include <string.h>#pragma pack(push)#pragma pack(1) typedef struct strcChange{ unsigned int B; unsigned short C; unsigned char A;}ST...原创 2018-12-07 14:46:19 · 2303 阅读 · 0 评论 -
错误“a label can only be part of a statement and a declaration is not a statement”解决方法
原文:https://blog.csdn.net/weiyuefei/article/details/31775043 之前写代码的时候用了一个goto语句,结果编译提示a label can only be part of a statement and a declaration is not a statement,一开始并不理解,因为之前一直没碰到过类似的错误,google了一下也找...转载 2018-12-20 19:04:11 · 3655 阅读 · 0 评论 -
wifi配网原理
原文:https://blog.csdn.net/a13698709128/article/details/81566155 智能家电逐步迈进百姓家,作为一个技术员,必须知道智能单品是怎么接入网络。怎么理解配网呢,简单说就像你家里来了一个新朋友,你要把自家的wifi账号密码告诉她。主流的配网方式分为两大类,一类是手动配网,一类是自动配网(个人理解)。手动配网: 手动配网就是主动...转载 2019-01-16 17:46:25 · 1159 阅读 · 3 评论 -
海思HI3518ev200处理器uboot分析
作者:?QIanQ原文:https://blog.csdn.net/study_deer/article/details/78606769程序启动的第一阶段:G:\u-boot-2010.06\arch\arm\cpu\hi3518ev200\start.S.globl _start_start: b resetreset: /* * set the c...转载 2019-03-21 16:02:08 · 943 阅读 · 0 评论 -
UBOOT 学习心得(UBOOT流程分析)
网上找到的UBOOT研究文章,结合自己这几天看的。目前是明白了UBOOT主干程序流程了。开始分析细节部分了。下面是别人写的UBOOT分析。参考了fzb和赵春江两位大牛的,研究了2010.06版本的和2011.06版本两个经典版本,也对比了TQ(我买的板是天嵌的)自己写的U-BOOT,学到了不少,也发现了很多东西,以下便记录以下自己的心得吧,以便以后可以自己参考下。U-BOOT的两个阶段启动...转载 2019-03-21 17:19:37 · 388 阅读 · 0 评论 -
Linux top命令的用法详细详解
查看多核CPU命令mpstat -P ALL 和 sar -P ALL说明:sar -P ALL > aaa.txt 重定向输出内容到文件 aaa.txttop命令经常用来监控Linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解。本文通过一个运行中的WEB服务器的...转载 2019-04-03 14:45:29 · 187 阅读 · 0 评论 -
设置Linux下中文显示
作者:ZWE7616175原文:https://blog.csdn.net/zwe7616175/article/details/79598769在编译一个程序的时候,我们往往会出现或多或少的错误,在Linux下默认的是英文显示,对于查错就不是很方便了,此篇博客重在给大家介绍一个简单的方法,来更改Linux下的显示为我们熟悉的中文显示。首先在command输入locale,可以看到L...转载 2019-04-16 14:50:29 · 1677 阅读 · 0 评论 -
linux下 console ,tty 和tty0有什么区别!
1、串行端口终端(/dev/ttySn) 串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。有段时间这些串行端口设备通常被称为终端设备,因为 那时它的最大用途就是用来连接终端。这些串行端口所对应的设备名称是/dev/tts/0(或/dev/ttyS0), /dev/tts/1(或/dev/ttyS1)等,设备号...转载 2019-05-02 11:51:22 · 11311 阅读 · 0 评论 -
通俗理解同步通信与异步通信
同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。所以,要我请你吃饭就用同步的方法,要请我吃饭就用异步的方法,这样你可以省钱。同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。 异步是指:发送方发出数据后,不等接收方发回...转载 2019-05-02 16:54:18 · 1462 阅读 · 3 评论 -
termios结构体详解
作者:IronLavender原文:https://blog.csdn.net/wumenglu1018/article/details/53098794/termios 结构是在POSIX规范中定义的标准接口,它类似于系统V中的termio接口,通过设置termios类型的数据结构中的值和使用一小组函数调用,你就可以对终端接口进行控制。可以被调整来影响终端的值按照不同的模式被分为如...转载 2019-05-03 17:29:59 · 4614 阅读 · 0 评论 -
把结构体与数组之间的转换
作者:文石_2009原文:https://blog.csdn.net/farsight_2098/article/details/86614527二维数组和一维数组的转换很简单,直接是强制转换即可,例如:#include<stdio.h>#include<string.h>unsigned char aa[4][4] = {{1,2,3,4},{5,6,7...转载 2019-05-09 11:03:36 · 2921 阅读 · 0 评论 -
Linux 错误码对照表
errno 在 <errno.h> 中定义,错误 Exx 的宏定义在 /usr/include/asm-generic 文件夹下面的 errno-base.h 和 errno.h,分别定义了 1-34 、35-132 的错误定义。strerror() 函数依据 errno 值返回错误描述字符串,下面程序打印对照表:#include <errno.h>#incl...原创 2019-05-14 16:51:57 · 286 阅读 · 1 评论 -
iperf测试网络性能指标
RTT(Round-Trip Time): 往返时延,在计算机网络中它也是一个重要的性能指标,它表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延;(未完待续)...原创 2019-05-23 11:56:26 · 757 阅读 · 0 评论 -
音视频的同步机制
1. 音视频同步的原理2. 音视频同步的较正方法3. 音视频同步时遇到的问题声明:以下所有内容均为转载1.原文转自:http://bbs.chinavideo.org/viewthread.php?tid=1183&extra=page%3D1%26amp%3Bfilter%3Ddigest&page=1下面贴出部分:音视频同步这一块,我一直...转载 2019-06-05 15:26:18 · 266 阅读 · 0 评论 -
TCP、UDP数据包大小的限制
原文:https://blog.csdn.net/caoshangpa/article/details/51530685 1、概述首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层。 其中以太网(Ethernet)的数据帧在链路层 IP包在网络层 TCP或UDP包在传输层 TCP或UDP中的数据(Data)在应用层 它们的关系是 数据帧...转载 2018-12-19 19:04:53 · 302 阅读 · 0 评论 -
两个字节合并成一个16位short类型
1、例如将两个char类型,合并成一个short类型思路:如下代码所示unsigned short func = 0;func = func | data[7];func = func << 8;func = func | data[8];如上代码所示,先将temp的低八位与st[1]进行或运算,然后temp的第八位就是st[1]了,在将temp左移8位,将第八位...转载 2018-12-06 10:51:05 · 5125 阅读 · 0 评论 -
linux下的jrtplib和jthread
这两天有个项目是 用RTP协议进行音视频的实时传输,目前暂用开源代码进行实现,发现用到jrtplib和jthread两个库,后者看到thread,很明显关于线程的,两者的关系自然联想到线程收发数据,但是一定要用到jthread吗,发现并不是关于 jrtp 的一些说明:jrtp 有两种数据接收方式:第一种是用 jthread 库提供的线程自动在后台执行对数据的接收。第二种是用户自己调用 RT...原创 2018-09-19 09:11:02 · 724 阅读 · 0 评论 -
jrtplib 3.9.1 交叉编译 linux arm
下面是具体步骤:1.修改CMakeList.txt,以生成交叉编译的makefile。打开jthread3.9.1目录中的CMakeList.txt,在开头加入下面几句话 #告知当前使用的是交叉编译方式 SET(CMAKE_SYSTEM_NAME Linux) #设置c编译器 SET(CMAKE_C_COMPILER "arm-hisiv300-linux-g...原创 2018-09-19 12:01:19 · 690 阅读 · 0 评论 -
ioctl在socket中的一些用法及示例
ioctl在socket中的一些用法及示例函数 : ioctl(int fd, int request, void * arg)定义 : 功能 : 控制I/O设备, 提供了一种获得设备信息和向设备发送控制参数的手段.参数 : int fd 文件句柄. 用于socket时, 是socket套接字. int request 函数定义的所有操作. 关于socket的...转载 2018-10-13 11:16:26 · 1827 阅读 · 0 评论 -
挂载
NFS(Network File System)即网络文件系统mount -t nfs -o nolock 192.168.2.179:/home/nfs /nfsroot(未完待续)原创 2018-10-20 10:09:48 · 105 阅读 · 0 评论 -
linux中write和read函数的阻塞试验
原文:https://blog.csdn.net/hyman_c/article/details/52979317刚刚接触网络编程时,很容易被客户端和服务器之间的交互搞晕,例如各种函数的阻塞和非阻塞就让人头疼。例如在我的印象中linux中用于用于对文件描述符进行读写的write()函数和read()函数是非阻塞函数,但是在一次网络通信的试验中发现它们又是阻塞的,后来man了一下write和r...转载 2018-10-31 16:58:25 · 12277 阅读 · 7 评论 -
arm-linux-strip作用:
用strip处理过后,将去掉其中的调试信息,执行文件大小也将小很多。命令如下:#arm-linux-strip button其中button是用arm-liunux-gcc编译生成的二进制文件....原创 2018-10-30 11:01:27 · 1070 阅读 · 0 评论 -
Linux之#pragma的用法
预编译指令#pragma的用法原文:https://blog.csdn.net/tigerjibo/article/details/7000861 最近在看开源项目中的代码时,发现许多地方都用到了#pragma的程序。因此,就问了下谷歌老师,总结了下#pragma预编译指令的常用用法,现在和大家分享下。一.#pragma最常用的方法1. #progma pack(n)1>...转载 2018-11-06 10:53:00 · 2544 阅读 · 0 评论 -
UDP 单播、广播和多播
使用UDP协议进行信息的传输之前不需要建议连接。换句话说就是客户端向服务器发送信息,客户端只需要给出服务器的ip地址和端口号,然后将信息封装到一个待发送的报文中并且发送出去。至于服务器端是否存在,或者能否收到该报文,客户端根本不用管。 单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信。单播和广播是两个极端,要么对一个主机进行通信...转载 2018-11-27 10:59:30 · 933 阅读 · 0 评论 -
socket编程 send() recv() sendto() recvfrom()
原文:https://blog.csdn.net/keen_zuxwang/article/details/72872802 socket编程 send() recv() sendto() recvfrom()int socket( int af, int type, int protocol); af: 指定一个协议簇(协议域),常见有AF_INET──指定为IPv4协议,AF_IN...转载 2018-12-01 12:35:47 · 680 阅读 · 0 评论 -
Linux编程之select
select系统调用的的用途是:在一段指定的时间内,监听用户感兴趣的文件描述符上可读、可写和异常等事件。select 机制的优势为什么会出现select模型?先看一下下面的这句代码:int iResult = recv(s, buffer,1024);这是用来接收数据的,在默认的阻塞模式下的套接字里,recv会阻塞在那里,直到套接字连接上有数据可读,把数据读到buffer里后...转载 2018-11-28 19:39:09 · 141 阅读 · 0 评论 -
学习笔记之gethostbyname函数
本文地址:http://www.cnblogs.com/wunaozai/p/3753415.html 我们现在认知一台计算机主机通常采用直观可读的名字。例如博客园我们会记住 www.cnblogs.com 而不是记住42.121.252.58这个IP。对于大多数的应用程序来说应该是处理名字而不是处理地址。如果说对于一个点分十进制来说还好记住,那么当使用IPv6时,IP地址就不是那么好记了。...转载 2018-12-05 11:47:32 · 424 阅读 · 0 评论 -
数组指针和指针数组的区别
数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。 p=a; //将该二...转载 2018-12-05 14:29:10 · 126 阅读 · 0 评论 -
linux 网络编程 inet_pton & inet_ntop函数
原文:https://www.cnblogs.com/zendu/p/4988106.html#include <arpa/inet.h>int inet_pton(int family,const char * strptr,void * addrptr); 返回:1--成功, 0--输入不是有效的表达格式 , -1--出错const char * inet_...转载 2018-12-05 14:31:22 · 1638 阅读 · 0 评论 -
linux下RTP编程(使用JRTPLIB)
流媒体指的是在网络中使用流技术传输的连续时基媒体,其特点是在播放前不需要下载整个文件,而是采用边下载边播放的方式,它是视频会议、IP电话等应用场合的技术基础。RTP是进行实时流媒体传输的标准协议和关键技术,本文介绍如何在Linux下利用JRTPLIB进行实时流媒体编程。自己直接使用RTP收发h.264数据,这样有一个麻烦就是RTP协议的各个参数需要自己一个一个位的去填充,这样不利于发送也不方便...转载 2018-09-18 16:16:16 · 699 阅读 · 0 评论