上一页 1 2 3 4 5 6 ··· 8 下一页
摘要: 在Linux Driver开发中,经常要用到延迟函数:msleep,mdelay/udelay. 虽然msleep和mdelay都有延迟的作用,但他们是有区别的. 1.)对于模块本身 mdelay是忙等待函数,在延迟过程中无法运行其他任务.这个延迟的时间是准确的.是需要等待多少时间就会真正等待多少时 阅读全文
posted @ 2020-04-03 19:32 zxiaocheng 阅读(719) 评论(0) 推荐(0) 编辑
摘要: popen可以是系统命令,也可以是自己写的程序a.out。 假如a.out就是打印 “hello world“ 在代码中,想获取什么,都可以通过popen获取。 比如获取ls的信息, 比如获取自己写的程序的内容:“hello world” 。 https://www.cnblogs.com/syla 阅读全文
posted @ 2020-04-01 16:09 zxiaocheng 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 简单说一下popen()函数 函数定义 1 2 3 #include <stdio.h> FILE * popen(const char *command , const char *type ); int pclose(FILE *stream); 函数说明 popen()函数通过创建一个管道,调 阅读全文
posted @ 2020-04-01 15:58 zxiaocheng 阅读(1359) 评论(0) 推荐(0) 编辑
摘要: Linux对于每个用户,系统限制其最大进程数。为提高性能,可以根据设备资源情况,设置各linux 用户的最大进程数 可以用ulimit -a 来显示当前的各种用户进程限制。 下面我把某linux用户的最大进程数设为10000个: ulimit -u 10240 对于需要做许多 socket 连接并使 阅读全文
posted @ 2020-03-31 15:03 zxiaocheng 阅读(482) 评论(0) 推荐(0) 编辑
摘要: 简介 从目前蜂窝物联网发展的态势看,LTE Cat 1承担4G物联网连接主力的时机已经开启。其中,Category 1作为最低版参数配置的用户终端等级,让业界能够低成本地设计“低配版”的4G终端,一般简称Cat 1。因此,发展Cat 1网络及相关产业,对于补齐物联网主要场景需求很有意义。不过,目前N 阅读全文
posted @ 2020-03-27 15:53 zxiaocheng 阅读(6194) 评论(0) 推荐(0) 编辑
摘要: sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法 sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。在一般 sed 的 阅读全文
posted @ 2020-03-18 17:20 zxiaocheng 阅读(937) 评论(0) 推荐(0) 编辑
摘要: NOR(或非)和NAND(与非)是市场上两种主要的Flash闪存,sNORFLASH 和CPU之间不需要其他电路控制,NOR flash可以芯片内执行程序,而NAND FLASH 和CPU 的接口必须由相应的控制电路进行转换, NAND FLASH 以块的方式进行访问,不支持芯片内执行。 NAND 阅读全文
posted @ 2019-12-23 17:58 zxiaocheng 阅读(2407) 评论(0) 推荐(0) 编辑
摘要: uIP是专门为8位和16位控制器设计的一个非常小的TCP/IP栈。完全用C编写,因此可移植到各种不同的结构和操作系统上,一个编译过的栈可以在几KB ROM或几百字节RAM中运行。uIP中还包括一个HTTP服务器作为服务内容。 uIP是专门为8位和16位控制器设计的一个非常小的TCP/IP栈。完全用C 阅读全文
posted @ 2019-11-26 11:05 zxiaocheng 阅读(1249) 评论(0) 推荐(0) 编辑
摘要: USB Accessory 模式USB附件模式允许用户连接专为Android设备设计的USB主机硬件。配件必须遵守Android配件开发套件文档中概述的Android附件协议。这使得无法充当USB主机的Android电源设备仍然可以与USB硬件交互。当Android设备处于USB附件模式时,所附的A 阅读全文
posted @ 2019-11-12 11:33 zxiaocheng 阅读(2141) 评论(0) 推荐(0) 编辑
摘要: 中断有两种,一种是CPU本身在执行程序的过程中产生的,一种是由CPU外部产生的。外部中断,就是通常所讲的“中断”(interrupt)。对于执行程序来说,这种“中断”的发生完全是异步的,因为不知道什么时候会发生。CPU对其的响应也完全是被动的,可以通过“关中断”指令关闭对其的响应。由软件产生的中断一 阅读全文
posted @ 2019-11-08 18:33 zxiaocheng 阅读(4829) 评论(0) 推荐(2) 编辑
摘要: 为了安全考虑,通常会对一些重要文件进行加密备份或加密保存,下面对linux下的文件加密方法做一简单总结: 方法一:gzexe加密这种加密方式不是非常保险的方法,但是能够满足一般的加密用途,可以隐蔽脚本中的密码等信息。它是使用系统自带的gzexe程序,它不但加密,同时压缩文件。示例如下: 1 2 3 阅读全文
posted @ 2019-09-19 16:17 zxiaocheng 阅读(994) 评论(0) 推荐(0) 编辑
摘要: 1 内存寻址 1.1 物理地址、虚拟地址以及线性地址 物理地址: 物理内存的内存单元地址 虚拟地址: 程序员看到的内存空间定义未虚拟地址,intel X86 CPU寻址使用了段机制,最初的8086中有4个16位的段寄存器:CS、DS、SS、ES,分别用于存放可执行代码的代码段、数据段、堆栈段和其他段 阅读全文
posted @ 2019-08-13 17:19 zxiaocheng 阅读(594) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/ljxt523/article/details/52068241 1. What is PCM? PCM(Pulse-code-modulation)是模拟信号以固定的采样频率转换成数字信号后的表现形式。 Sample Rate : 采样频率单位为:Hz。采 阅读全文
posted @ 2019-07-30 20:32 zxiaocheng 阅读(8775) 评论(0) 推荐(1) 编辑
摘要: PCM(Pulse Code Modulation),脉冲编码调制,PCM总线用于传输数字语音信号,包括4根信号线:FSYNC(同步)/PCLK(时钟)/DTX(发送)/DRX(接收) PCM分为Master和Slave. Master提供PCLK及FSYNC。 PCM CLK是时钟信号,由mast 阅读全文
posted @ 2019-07-30 20:13 zxiaocheng 阅读(2449) 评论(0) 推荐(1) 编辑
摘要: MTU & MSS 详解记录(转) 先学习理解一下帧的封装格式: 需要注意的是,区别两种帧封装格式:802标准帧和以太网帧 1,在802标准定义的帧格式中,长度字段是指它后续数据的字节长度,但不包括C R C检验码。RFC 1042(IEEE 802) 2,RFC 894(以太网) 所以,以太网帧报 阅读全文
posted @ 2019-07-26 16:59 zxiaocheng 阅读(1149) 评论(0) 推荐(0) 编辑
摘要: linux中,无论是oss还是alsa体系,录音和放音的数据流必须分析清楚。先分析alsa驱动层,然后关联到alsa库层和应用层。 二,链接分析: 1)链路一 usr/src/linux-source-3.0.0/sound/core/pcm_native.c文件中注册部分.mmap = snd_p 阅读全文
posted @ 2019-04-08 15:41 zxiaocheng 阅读(4129) 评论(0) 推荐(0) 编辑
摘要: usb_control_msg是没有用到urb的在USB中简单进行发送和接收的一种机制,用于少量的数据通信。原型为: 程序代码 linux+v2.6.35/drivers/usb/core/message.c104/**105 * usb_control_msg - Builds a control 阅读全文
posted @ 2019-04-02 11:12 zxiaocheng 阅读(3451) 评论(0) 推荐(0) 编辑
摘要: 到2021年,估计全球会有更多的人拥有移动电话(55亿),将超过用上自来水的人数(53亿)。与此同时,带宽紧张的视频应用将进一步增加对移动网络的需求,其会占移动流量的78%。使用大规模多输入多输出(MIMO)技术的 5G网络将是支持这种增长的关键。根据Strategy Analytics的数据,预计 阅读全文
posted @ 2019-03-17 10:44 zxiaocheng 阅读(1428) 评论(0) 推荐(0) 编辑
摘要: 1. USB总线 USB1.1: ——-低速模式(low speed):1.5Mbps ——-全速模式(full speed): 12Mbps USB2.0:向下兼容。增加了高速模式,最大速率480Mbps。 ——-高速模式(high speed): 25~480Mbps USB3.0:向下兼容。  阅读全文
posted @ 2019-03-08 10:11 zxiaocheng 阅读(3241) 评论(0) 推荐(0) 编辑
摘要: 1、select函数作为定时器使用 it_value.tv_sec = 0; it_value.tv_usec = 100000; select(1,NULL,NULL,NULL,&it_value); 上面的代码并不是立即返回而是等待100ms,可以作为定时器使用,并且准确度比sleep高。2、l 阅读全文
posted @ 2018-11-14 10:21 zxiaocheng 阅读(3058) 评论(0) 推荐(1) 编辑
摘要: 一、数据成员 termios 函数族提供了一个常规的终端接口,用于控制非同步通信端口。 这个结构包含了至少下列成员:tcflag_t c_iflag; /* 输入模式 */tcflag_t c_oflag; /* 输出模式 */tcflag_t c_cflag; /* 控制模式 */tcflag_t 阅读全文
posted @ 2018-11-09 11:37 zxiaocheng 阅读(1221) 评论(0) 推荐(0) 编辑
摘要: 这两个命令都是查看系统进程信息的命令,但是用处有点儿不同 1.ps命令--提供系统过去信息的一次性快照 也就是说ps命令能够查看刚刚系统的进程信息 命令:ps aux或者ps lax [root@Linux ~]# ps auxUSER PID %CPU %MEM VSZ RSS TTY STAT 阅读全文
posted @ 2018-11-08 14:49 zxiaocheng 阅读(3310) 评论(0) 推荐(0) 编辑
摘要: ioctl 函数 本函数影响由fd 参数引用的一个打开的文件。 #include<unistd.h> int ioctl( int fd, int request, .../* void *arg */ ); 返回0 :成功 -1 :出错 第三个参数总是一个指针,但指针的类型依赖于request 参 阅读全文
posted @ 2018-08-21 15:55 zxiaocheng 阅读(16087) 评论(0) 推荐(1) 编辑
摘要: 转自(https://www.cnblogs.com/yinheyi/p/6080244.html) 什么是protocol Buffer呢? Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准. 我理解的就是:它是一种轻便高效的结 阅读全文
posted @ 2018-08-03 10:34 zxiaocheng 阅读(506) 评论(0) 推荐(0) 编辑
摘要: 转自https://blog.csdn.net/qq_20405005/article/details/77967358 前一阵子在做dying gasp功能测试,过程中恰好测试到了Linux的响应速度,特来分享一下。 这里的dying gasp是用GPIO(input mode)实现的,在DC掉电 阅读全文
posted @ 2018-06-12 17:26 zxiaocheng 阅读(1007) 评论(1) 推荐(0) 编辑
摘要: 转自:http://developer.51cto.com/art/201209/357501_all.htm 目录 1.tty框架 2.uart框架 3.自底向上 4.自顶向下 5.关系图 在这期间有一个问题困扰着我,那就是来自用户空间的针对uart设备的操作意图是如何通过tty框架逐层调用到ua 阅读全文
posted @ 2018-05-23 10:35 zxiaocheng 阅读(578) 评论(0) 推荐(0) 编辑
摘要: sync命令用于强制被改变的内容立刻写入磁盘,更新超块信息。 在Linux/Unix系统中,在文件或数据处理过程中一般先放到内存缓冲区中,等到适当的时候再写入磁盘,以提高系统的运行效率。sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。用户通常不需执行sync命令,系统会自动执行updat 阅读全文
posted @ 2018-04-19 10:51 zxiaocheng 阅读(743) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://blog.163.com/luge_arm/blog/static/6774972620071018117290/ 从驱动开发网看到一篇《USB枚举详细过程分析》,依据自己的理解和经验对原文稍加改动。本文仅供参考,一些顺序并不是固定的。 本文描述的是Windows系统的USB 阅读全文
posted @ 2018-03-28 16:24 zxiaocheng 阅读(677) 评论(0) 推荐(0) 编辑
摘要: 内核早期内存分配器:memblockLinux内核使用伙伴系统管理内存,那么在伙伴系统工作前,如何管理内存?答案是memblock。memblock在系统启动阶段进行简单的内存管理,记录物理内存的使用情况。在进一步介绍memblock之前,有必要先了解下系统内存的使用情况:首先,内存中的某些部分是永 阅读全文
posted @ 2018-03-28 15:23 zxiaocheng 阅读(1036) 评论(0) 推荐(0) 编辑
摘要: 一个MBSFN区域是由一个或多个传输相同内容的小区组成的特殊区域。如图1所示,小区8和9都属于MBSFN区域C。一个MBSFN区域可由多个小区组成,一个小区也可以属于多个(至多8个,从36.331中的maxMBSFN-Area取值为8可知)MBSFN区域的一部分。如图1所示,小区4和5同时属于MBS 阅读全文
posted @ 2018-03-27 19:54 zxiaocheng 阅读(1280) 评论(0) 推荐(0) 编辑
摘要: jiffies在内核中是一个全局变量,它用来统计系统启动以来系统中产生的总节拍数,这个变量定义在include/linux/jiffies.h中,定义形式如下。 unsigned long volatile jiffies; 想要理解jiffies的含义,我们需要首先理解时钟 节拍率 节拍的概念。 阅读全文
posted @ 2018-03-26 14:19 zxiaocheng 阅读(1293) 评论(0) 推荐(0) 编辑
摘要: MTP的全称是Media Transfer Protocol(媒体传输协议),它是微软公司提出的一套媒体文件传输协议。早在智能手机普及前,数码相机和MP3播放器等都使用了MTP的前身PTP(Picture Transfer Protocol)进行媒体文件传输,Android从3.0开始支持MTP。 阅读全文
posted @ 2018-03-08 09:24 zxiaocheng 阅读(3401) 评论(0) 推荐(0) 编辑
摘要: 1.安装驱动程序命令devcon安装好WINDDK之后,devcon.exe在"C:\WINDDK\3790.1830\tools\devcon"目录下。>devcon update C:\WINDOWS\system32\drivers\DjKBoard.inf "PCI\VEN_1204&DEV 阅读全文
posted @ 2018-02-27 10:26 zxiaocheng 阅读(763) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/u012814201/article/details/44919125 工作的原因打算通过devcon.exe实现自动打包的功能,由于之前一直在Linux那个神奇的世界里遨游,初到Windows这个世界真是茫然失措,开始之前公司一哥们告诉我想实现什么功能,大 阅读全文
posted @ 2018-02-27 10:25 zxiaocheng 阅读(1196) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.csdn.net/weixin_29796711/article/details/72822052 用户在使用我们用windriver开发的硬件驱动时,需要先安装windriver的必备文件还有硬件的驱动,过程比较麻烦,为方便用户,可以将它们打包成一个安装程序,让用户一 阅读全文
posted @ 2018-02-09 17:30 zxiaocheng 阅读(1194) 评论(1) 推荐(0) 编辑
摘要: 一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(一) 基本设置一 前言 Installshield可以说是最好的做安装程序的商业软件之一,不过因为功能的太过于强大,以至于上手和精通都不是容易的事情,之前都是用Installshield的Project Assistant对付 阅读全文
posted @ 2018-02-09 17:29 zxiaocheng 阅读(1524) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/iamliuyanlei/article/details/52625968 阅读全文
posted @ 2018-02-09 16:55 zxiaocheng 阅读(704) 评论(0) 推荐(0) 编辑
摘要: 转自http://blog.csdn.net/droidphone/article/details/7165482 1. ASoC的由来 ASoC--ALSA System on Chip ,是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频Codec的一套软件体系。在ASo 阅读全文
posted @ 2018-02-09 16:54 zxiaocheng 阅读(374) 评论(0) 推荐(0) 编辑
摘要: completion是一种轻量级的机制,它允许一个线程告诉另一个线程工作已经完成。可以利用下面的宏静态创建completion: DECLARE_COMPLETION(my_completion); 如果运行时创建completion,则必须采用以下方法动态创建和初始化: struct complt 阅读全文
posted @ 2018-01-22 17:19 zxiaocheng 阅读(447) 评论(0) 推荐(0) 编辑
摘要: dmesg 的时间戳处理 dmesg_with_human_timestamps () { $(type -P dmesg) "$@" | perl -w -e 'use strict; my ($uptime) = do { local @ARGV="/proc/uptime";<>}; ($up 阅读全文
posted @ 2018-01-19 15:36 zxiaocheng 阅读(554) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 8 下一页