ESM335x Linux输出脉冲计数】的更多相关文章

1.综述   ESM335X具有4路PWM输出,其中PWM1和PWM2除了可以用于产生标准的PWM信号,现已支持输出脉冲计数功能,可以在应用程序中设置脉冲个 数,当输出脉冲个数达到指定值时,驱动程序自动停止PWM输出,由于系统响应延迟,使用输出脉冲计数功能时最高频率不应超过100KHz.本文将介绍 Linux系统下输出脉冲计数功能的使用方法. 2.应用程序 1.使用PWM输出功能需要设置如下结构体: struct pwm_config_info { unsigned intfreq; /* in…
1.当前目录下的文件数 ls -l |grep "^-"|wc -l 2.当前目录的目录树 ls -l |grep "^d"|wc -l 3.当前目录文件数包含子目录内容 ls -lR|grep "^-"|wc -l 4.指定目录与指定文件名 ls -lR /home/ |grep js|wc -l 或 ls -l "/home/"|grep "js"|wc -l 其他 统计文件夹下目录的个数,包括子文件夹…
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, 驱动开发中设计到的硬件: * 数字电路知识 * ARM硬件知识 * 熟练使用万用表和示波器 * 看懂芯片手册和原理图 4, linux内核源代码目录结构: * arch/: arch子目录包括了所有和体系结构相关的核心代码.它的每一个子目录都代表一种支持的体系结构,例如i386就是关于intel c…
专题:Linux内存管理专题 关键词:struct page._count._mapcount.PG_locked/PG_referenced/PG_active/PG_dirty等. Linux的内存管理是以页展开的,struct page非常重要,同时其维护成本也非常高. 这里主要介绍struct page中_count/_mapcount和flags参数. flags是页面标志位集合,是内存管理非常重要的部分. _count表示内核中引用该页面的次数:_mapcount表示页面被进程映射的…
科学计数法使用e标识数值,将科学计算学转化为数字的思路:按e右边的数字移动小数点位数.e右边的数字如果是负数,则向左移动小数点.示例如下: 1.2345678e2 = 123.45678 1.2345678e-2 = 0.012345678 1.7615562e+06 = 1761556.2 1.87982e7 = 18798200 1e3 = 1000 那么在shell中,如何转化科学计数法为数字呢,方法如下:这里以"1.7615562e+06" (或者1.7615562e6)为示例…
1. 取出两个文件的并集(重复的行只保留一份) cat file1 file2 | sort | uniq 2. 取出两个文件的交集(只留下同时存在于两个文件中的文件) cat file1 file2 | sort | uniq -d 3. 删除交集,留下其他的行 cat file1 file2 | sort | uniq -u 如果需要计数也有一个很好的参数uniq -c 可以将相同行数的计数放在行首 sort排序是根据从输入行抽取的一个或多个关键字进行比较来完成的.排序关键字定义了用来排序的…
一个 kobject 的其中一个关键函数是作为一个引用计数器, 给一个它被嵌入的对象. 只 要对这个对象的引用存在, 这个对象( 和支持它的代码) 必须继续存在. 来操作一个 kobject 的引用计数的低级函数是: struct kobject *kobject_get(struct kobject *kobj); void kobject_put(struct kobject *kobj); 一个对 kobject_get 的成功调用递增 kobject 的 引用计数并且返回一个指向 kob…
1.综述 在工业控制中,经常需要获取脉冲信号计数值.频率.周期.占空比等参数.英创嵌入式主板ESM335X系列 Linux系统现已实现外部输入脉冲信号的计数.频率.周期.占空比测量功能. 主要功能及技术指标如下: 1.读取一段时间内的外部输入脉冲信号计数值. 2.外部输入脉冲信号周期.有效脉宽测量. 3.根据测得周期计算外部输入脉冲信号瞬时频率. 4.根据测得计数值和测量时间间隔计算两次有效信号读取时间内外部输入脉冲信号重复频率(平均频率). 5.测得误差200KHz左右时最大,瞬时频率误差不超…
from:深入分析Linux内核源码(http://oss.org.cn/kernel-book/) 时钟中断的产生 Linux的OS时钟的物理产生原因是可编程定时/计数器产生的输出脉冲,这个脉冲送入CPU,就可以引发一个中断请求信号,我们就把它叫做时钟中断. “时钟中断”是特别重要的一个中断,因为整个操作系统的活动都受到它的激励.系统利用时钟中断维持系统时间.促使环境的切换,以保证所有进程共享CPU:利用时钟中断进行记帐.监督系统工作以及确定未来的调度优先级等工作.可以说,“时钟中断”是整个操…
想实现个循环缓冲区(Circular Buffer),搜了些资料多数是基于循环队列的实现方式.使用一个变量存放缓冲区中的数据长度或者空出来一个空间来判断缓冲区是否满了.偶然间看到分析Linux内核的循环缓冲队列kfifo的实现,确实极其巧妙.kfifo主要有以下特点: 保证缓冲空间的大小为2的次幂,不是的向上取整为2的次幂. 使用无符号整数保存输入(in)和输出(out)的位置,在输入输出时不对in和out的值进行模运算,而让其自然溢出,并能够保证in-out的结果为缓冲区中已存放的数据长度,这…
注:本文仅限交流使用,请务用于商业用途,否则后果自负! Linux 1.Linux介绍 Linux是类Unix计算机操作系统的统称. Linux操作系统的内核的名字也是“Linux”. Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核的系统. Linux是由芬兰大学Linus Torvalds于1991年编写的. 2.Linux发行版组成 Linux内核 应用软件 一些GNU程序库和工具 emacs GCC GNOME 命令行shell…
Linux文件和目录的属性及权限 命令: [root@oldboy ~]# ls -lhi total 40K 24973 -rw-------. 1 root root 1.1K Dec 10 16:02 anaconda-ks.cfg    15 -rw-r--r--. 1 root root 22K Dec 10 16:02 install.log    17 -rw-r--r--. 1 root root 5.8K Dec 10 16:00 install.log.syslog 第一列:…
一.Linux应用领域及版本介绍. 1.服务器.嵌入式.桌面应用等. (1)在服务器领域中,需要安全和稳定,特别是越老的内核版本越安全.越稳定. (2)Linux主要分内核版和发行版. 内核版本2.6.18.2是主版本,质的变化时更改主版本:6是次版本,有重大更新的时候更改:18是末版本,更新比较小,或更新不重要更改. 二.Linux的一些规则. Linux严格区分大小写.(字符界面) {一切内容皆文件} Linux中所有内容以文件形式保存,包括硬件. Liunx不靠扩展名区分文件类型 有一些约…
我在Linux字符设备驱动框架一文中已经简单的介绍了字符设备驱动的基本的编程框架,这里我们来探讨一下Linux内核(以4.8.5内核为例)是怎么管理字符设备的,即当我们获得了设备号,分配了cdev结构,注册了驱动的操作方法集,最后进行cdev_add()的时候,究竟是将哪些内容告诉了内核,内核又是怎么管理我的cdev结构的,这就是本文要讨论的内容.我们知道,Linux内核对设备的管理是基于kobject的(参见Linux设备管理(一)_kobject_kset_kobj_type),这点从我们的…
Linux内核大量使用面向对象的设计思想,通过追踪源码,我们甚至可以使用面向对象语言常用的UML类图来分析Linux设备管理的"类"之间的关系.这里以4.8.5内核为例从kobject,kset,ktype的分析入手,进而一探内核对于设备的管理方式 container_of宏 这个宏几乎是linux数据结构的基础,Linux中的链表与传统的链表不同,其链表的节点本身并不包含任何数据,任何想要插入到链表的数据只需要包含一个事先写好的节点 //include/linux/types.h 1…
字符设备是Linux三大设备之一(另外两种是块设备,网络设备),字符设备就是字节流形式通讯的I/O设备,绝大部分设备都是字符设备,常见的字符设备包括鼠标.键盘.显示器.串口等等,当我们执行ls -l /dev的时候,就能看到大量的设备文件,c就是字符设备,b就是块设备,网络设备没有对应的设备文件.编写一个外部模块的字符设备驱动,除了要实现编写一个模块所需要的代码之外,还需要编写作为一个字符设备的代码. 驱动模型 Linux一切皆文件,那么作为一个设备文件,它的操作方法接口封装在struct fi…
一.  HTTP请求的数据流总结#上传数据, yeelink的数据流如下POST /v1.0/device/4420/sensor/9089/datapoints HTTP/1.1Host: api.yeelink.netU-ApiKey: 729d1ba15b26b6a48f4807ef3f2f4df4Content-Length: 49Content-Type: application/x-www-form-urlencodedConnection: Close {"timestamp&qu…
在了解iptables的详细原理之前,我们先来看下如何使用iptables,以终为始,有可能会让你对iptables了解更深 所以接下来我们以配置一个生产环境下的iptables为例来讲讲它的常用命令 第一步:清空当前的所有规则和计数 iptables -F #清空所有的防火墙规则 iptables -X #删除用户自定义的空链 iptables -Z #清空计数 第二步:配置允许ssh端口连接 iptables -A INPUT -s -p tcp --dport -j ACCEPT #22为…
本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息对话框弹出,需要你的输入.对话框的类型有密码箱,检查表,菜单,等等.他们可以引导你以一种直观的方式输入必要的信息,使用这样的用户友好的对话框的好处是显而易见的.如下图所示: 当你写一个交互式shell脚本,你可以使用这样的对话框来接受用户的输入.whiptail可以在shell脚本中创建基于终端的对…
cat cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用. 主要功能 一次显示整个文件:cat filename 从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件. 将几个文件合并为一个文件:cat file1 file2 > file 命令参数 -A, --show-all 等于-vET -b, --number-nonblank 对非空输出行编号 -e…
简单的总结一下常用的一些实用的Linux文本操作命令,包括wc(统计).cut(切分).sort(排序).uniq(去重).grep(查找).sed(替换.插入.删除).awk(文本分析). 1.统计命令——wc 统计文件里面有多少单词,多少行,多少字符. 1.1 wc语法 # wc [-lwm] 选项与参数: -l :仅列出行: -w :仅列出多少字(英文单字): -m :多少字符: 1.2 wc使用 #wc /etc/passwd /etc/passwd 40是行数,45是单词数,1719是…
1 , Use locate command It is a fast way to find the files location, but if a file just created ,it will can not found use it. You may need run updatedb to update the database 2, Use find command "find" will search on your disk not from the datab…
abrt-cli --since ;查看abrt捕捉的异常 alias ;别名,alias rm='rm -i':使用“ \rm ” 使用原命令 alsamixer ;图形音量调节,q 增加左声道, w 同时增加,e 增加右声道,上下键同时增加减小音量, s 选择声卡 amixer ; amixer set Master % 调节音量:alsamixer是Linux 音频架构ALSA中的Alsa工具的其中一个,用于配置音频的各个参数, amixer 是他的文本模式 apachectl ; apa…
string 字符串操作 操作数的都是 ( char * )型,操作数必须是指向字符串的指针("a"),不能是字符('a'),操作时不考虑末尾的'\0'. size_t strlen( const char *s ); 字符串求长,返回字符串或指针的实际大小,和 sizeof() 不同,比如创建字符数组 strlen 只返回其中字符串的大小,不包括 '\0' char *strrev( char *s ); 字符串反转,不包括 NULL char *strcpy( char *dest…
shell实例手册 0 说明{ 手册制作: 雪松} 1 文件{        ls -rtl                 # 按时间倒叙列出所有目录和文件 ll -rt    touch file              # 创建空白文件    rm -rf 目录名           # 不提示删除非空目录(-r:递归删除 -f强制)    dos2unix                # windows文本转linux文本      unix2dos                #…
Linux下文件删除的原理 Lniux下控制文件真正被删除的计数器 Linux是link的数量来控制文件删除的.只有当一个文件不存在任何link的时候,这个文件才会被删除.一般来讲,每个文件都有两个link计数器:i_count和i_link i_count的意义是当前文件使用者(或被调用)的数量 当一个文件被某一个进程引用时,对应的这个值就会增加 i_nlink的意义是介质连接的数量(硬链接的数量) 当创建文件的硬链接的时候,这个值就会增加 可以理解为i_count是内存引用计数器,i_nli…
From: http://blog.csdn.net/liang13664759/article/details/1771246 最近在学习Linux下的C编程,买了一本叫<Linux环境下的C编程指南>读到makefile就越看越迷糊,可能是我的理解能不行. 于是google到了以下这篇文章.通俗易懂.然后把它贴出来,方便学习. 后记,看完发现这篇文章和<Linux环境下的C编程指南>的makefile一章所讲述的惊人的相似,只是这篇文章从一个实例切入,在有些地方比较好理解.能让…
sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始! 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出. [rocrocket@rocrocket programming]$ cat seq.txt banana apple pear orange [rocrocket@rocrocket programming]$ sort seq.txt apple ba…
F: 计算机系统结构: ------------------------------- 应用程序 ----------------- |  库函数 ------------------------------- 系统调用 ------------------------------- 虚拟文件系统  |    进程模块 -(文件模块)-|   进程间通信 设备文件     | ------------------------------- 硬 件 ------------------------…
第三章进程管理 进程是Unix操作系统抽象概念中最基本的一种.我们拥有操作系统就是为了运行用户程序,因此,进程管理就是所有操作系统的心脏所在. 3.1进程 概念: 进程:处于执行期的程序.但不仅局限于程序,还包含其他资源(打开的文件,挂起的信号,内核内部数据,处理器状态,一个或多个具有内催音社的内存地址空间及一个或多个执行线程,存放全局变量的数据段等) 内核需要有效又透明地管理所有细节. 线程:执行线程的简称,是在进程中活动的对象.每个线程有一个独立的程序计数器.进程栈和一组进程寄存器.内核调度…