★Linux系统及应用开发
文章平均质量分 82
QuinnHanz
欢迎大家交流学习
展开
-
通过设备号,将应用程序与驱动程序联系在一起
上一篇(篇四)介绍了应用程序访问驱动程序的内核实现的具体过程,那么应用程序和驱动程序是如何实现配对的呢?这就是设备号的作用。 首先,建立驱动程序时,我们会在驱动程序中动态或静态的分配主设备号。其中,静态分配在其他驱动已经占用静态设置的设备号的时候容易申请失败,而动态分配有内核进行分配,不会出现这种情况,所以动态分配使用较多。 当分配好设备号时,编译后将驱动安原创 2017-01-04 21:33:40 · 558 阅读 · 0 评论 -
一文理解ZigBee通信全过程(基于ZStack-CC2530-2.5.1a协议栈)
目录 0概述... 2 1协议栈整体运行流程... 3 1.1. 操作系统初始化流程... 5 1.2操作系统启动... 9 2相关数据结构与函数调用... 13 3 ZigBee协议栈OSAL理解... 14 3.1 OSAL存在的目的:... 14 3.2 OSAL提供的主要功能:... 14 3.3 OSAL消息队列:... 15 3.4 OSAL添加任务:... 15 3.5 OSAL应用...原创 2018-05-24 21:38:34 · 24249 阅读 · 4 评论 -
ARM11实现PWM驱动
可使用的寄存器TCNTB0:定时器 0 计数缓冲寄存器。TCMPB0:定时器 0 比较缓冲寄存器。另外还有内部不需用户使用的寄存器TCNT0:与 TCNTB0具有相同的值,实际操作的是TCNTB0TCMP0:与TCMPB0具有相同的值,实际操作的是TCMTB0PWM 功能应执行 TCMPBn。TCNTBn 决定 PWM 的频率。TCMPBn 决定 PWM 的值。 ...原创 2018-05-24 21:11:40 · 898 阅读 · 0 评论 -
基于ZigBee的智能家居系统
本项目基于C#编写智能家居系统PC客户端,同时编写安卓客户端,代码下载链接https://download.csdn.net/download/hzqgangtiexia/104359311、硬件选型及数据采集节点板子以CC2530芯片为核心,PL2303芯片做usb转串口,传感器数据采集及控制:温度和湿度:DHT11 温度量程0-50oC,湿度量程20-90%RH 单总线协议读光敏...原创 2018-05-24 21:07:48 · 17536 阅读 · 3 评论 -
tftp下载不成功原因及NFS挂载不成功原因分析
正常使用的tftp下载突然不能用了,究其原因1、在确保ip地址位于同一网段的同时,网关(ok6410开发板uboot标记的是gatewayip),子网掩码(netmask)是否一致;如果网关不一致,内核启动将会卡在某个阶段;2、务必用路由器连接(主机通过网线直接连接开发板应该也可以,但是没有这样可靠);3、最最重要的是,不要让你的开发板及linux虚拟机用了别人正在开机使用原创 2016-12-28 19:45:50 · 2788 阅读 · 0 评论 -
s3c6410开发板NFS挂载linux
调试了一整天,到了晚上挂载成功,相当激动!1、用linux下的dnw烧写uboot,从nandflash启动;(这包括 insmod dnw_usb.ko,执行dnw下载命令等)2、配置tftp服务器:ping不通原因分析:未关闭linux防火墙,未关闭相关安全模块,未接网线(网线最好用路由器转接一下),还需设置同一网段;3、配置、编译linux内核;4、制作根文件系统,这包括原创 2016-12-27 19:00:06 · 928 阅读 · 0 评论 -
Linux下OpenCV批量修改图片尺寸和文件名
数据集的预处理工作量较大,为此,在Linux下借助OpenCV写了一个比较简单好用的图片批量修改尺寸和文件名的程序。1、文件名的批量修改主要参考《UNIX环境高级编程》中ls命令的实现原理,用到opendir()、readdir()、closedir()、rename()函数和dirent结构体无需知道批量文件原文件名的前提下,实现文件的批量重命名。特别的,过滤到了 .和.. 文件夹。2、图像尺寸...原创 2018-05-20 20:37:31 · 554 阅读 · 0 评论 -
编写自己的linux系统调用
用户控件应用程序通过swi软中断指令进入内核空间实现系统调用,我们也可以重新编译内核实现自己设计的的系统的调用,以ok6410开发板为例,实现一个简单的打印信息的功能:1、打开ok6410内核源代码的目录,因为实现的是打印信息的功能,所以将这个函数实现到printk.c中去,找到kernel文件夹,进入找到并打开printk.c,找个适当的位置编写系统调用的函数体 如下:void原创 2016-12-29 09:11:08 · 989 阅读 · 0 评论 -
Linux应用程序访问驱动程序过程
当应用程序有访问字符设备或者说有访问字符设备驱动程序需求的时候,主要是通过系统调用达到这一目的的。例如,应用程序读取设备,应用程序使用read函数,read函数通过系统调用通过内核,使得驱动程序中的设备方法xx_read被调用。然后xx_read取数据通过相反路径将数据返回给read系统调用。那么内核中到底做了什么样的处理的呢? 首先,read位于用户空间,read的实现代码位原创 2017-01-03 11:53:05 · 3058 阅读 · 0 评论 -
深度学习(十七)LSTM网络结构(2)
sorry,笔记正在努力上传。。。原创 2018-06-16 12:27:19 · 279 阅读 · 0 评论