E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
程序学习
Linux设备驱动
程序学习
(0)-Hello, world!模块
一个学习Linux设备驱动程序都会碰到的第一个例程: #include <linux/init.h> #include <linux/module.h> MODULE_LICENSE("Dual BSD/GPL"); static int hello_init(void) {
·
2015-11-02 18:43
linux
IRC
程序学习
%%聊天的中转站,将{chan,MM,Msg}形式的信息转化为 {mm, MM, Msg}形式 -module(mod_chat_controller). -export([start/3]). -import(lib_chan_mm, [send/2]). start(MM, _, _) -> process_flag(trap_exit, t
·
2015-11-01 13:36
学习
在ASP.NET AJAX中使用应用程序服务和本地化(4):示例程序:读取、修改并保存用户个性化信息
让我们通过编写一个完整的示例
程序学习
如何配置并使用ASP.NET AJAX的ProfileService对象来实现读取、修改并保存用户个性化信息的功能。
·
2015-11-01 08:24
asp.net
Linux设备驱动
程序学习
(2)-调试技术
进入《Linux设备驱动程序(第3版)》第四章调试技术的学习。 一、内核中的调试支持 在前面已经建议过:学习编写驱动程序要构建安装自己的内核(标准主线内核)。最重要的原因之一是:内核开发者已经建立了多项用于调试的功能。但是由于这些功能会造成额外的输出,并导致能下降,因此发行版厂商通常会禁止发行版内核中的调试功能。 为了实现内核调试,我在内核配置上增加了几项: Kernel h
·
2015-10-31 19:58
linux
Linux设备驱动
程序学习
(0) -设备驱动介绍& Hello, world!模块
设备驱动程序的作用 设备驱动程序就是这个进入Linux内核世界的大门。设备驱动程序在Linux内核中扮演着特殊的角色。它是一个独立的“黑盒子”,使某个特定硬件响应一个定义好的内部编程接口,这些接口完全隐藏了设备的工作细节。用户的操作通过一组标准化的调用执行,而这些调用独立于特定的驱动程序。 将这些调用映射到作用于实际硬件的设备特有操作上,则是设备驱动程序的任务。
·
2015-10-31 19:58
linux
Linux设备驱动
程序学习
系列~~
学编程就和学游泳是一样的,只是纸上谈兵是学不会的。没有在实践中学习,很快就忘了所学的知识,到头来只学了个大概。 至于内核版本,我使用的是从 http://www.kernel.org/ 上下载的主线标准内核Linux2.6.22.2。 引用《Linux设备驱动程序(第3版)》的原话:“如果想要学习驱动程序的编写,则标准内核是最好的。” &nb
·
2015-10-31 19:54
linux
作为ASP.NET开发人员必须养成的编程习惯
对我们的
程序学习
也能起到事半功倍的作用。编程过程中遵守的不成文的标准,对于我们和他人的交流和自己的再学习都是有益无害的。毕竟有时我们写的程序不是只给自己看的,也不是一时兴起,不管以后。
·
2015-10-31 14:41
asp.net
Linux设备驱动
程序学习
(16)-USB 驱动程序(一)
从此文档开始,内核使用2.6.29.4 很久没有写《LDD3》的学习笔记了,趁着做项目的机会,学习一下USB的驱动程序,并写学习笔记。 。 如果刚开始接触USB,会感觉无从下手,这种感觉就像我第一次接触嵌入式Linux一样。所以要对USB的硬件原理、数据传输和在USB电缆上传输的数据格式有一定的了解。所以推荐一篇《实用USB术语详解》。再去CEPARK ( China Electronics
·
2015-10-31 14:04
linux
Linux设备驱动
程序学习
(15) -Linux设备模型(热插拔、mdev 与 firmware)
热插拔 有 2 个不同角度来看待热插拔: 从内核角度看,热插拔是在硬件、内核和内核驱动之间的交互。 从用户角度看,热插拔是内核和用户空间之间,通过调用用户空间程序(如hotplug、udev 和 mdev)的交互。 当需要通知用户内核发生了某种热插拔事件时,内核才调用这个用户空间程序。 现在的计算机系统,要求 Linux 内核能够在硬件从
·
2015-10-31 14:03
linux
Linux设备驱动
程序学习
(13) -Linux设备模型(总线、设备、驱动程序和类)
文章的例子和实验使用《LDD3》所配的lddbus模块(稍作修改)。 提示:在学习这部分内容是一定要分析所有介绍的源代码,知道他们与上一部分内容( kobject、 kset、 attribute等等 )的关系,最好要分析一个实际的“flatform device”设备,不然会只学到表象,到后面会不知所云的。 总线 总线是处理器和一个或多个设备之间的通道,在设备模型中, 所
·
2015-10-31 14:02
linux
Linux设备驱动
程序学习
(14) -Linux设备模型(各环节的整合)
通过一个设备在内核中生命周期的各个阶段,可以更好地理解Linux设备模型。我将通过分析lddbus和sculld的源码来了解Linux设备模型中各环节的整合。《LDD3》中的(PCI总线)各环节的整合这部分内容作为参考资料,因为嵌入式Linux比较少用到PCI总线。看这部分内容一定要先熟悉一下 lddbus 和 sculld 的源码。 一、lddbus模块:添加总线、导出总线设备和设备驱动
·
2015-10-31 14:02
linux
Linux设备驱动
程序学习
(11)-中断处理
可以让设备在产生某个事件时通知处理器的方法就是中断。一个“中断”仅是一个信号,当硬件需要获得处理器对它的关注时,就可以发送这个信号。 Linux 处理中断的方式非常类似在用户空间处理信号的方式。 大多数情况下,一个驱动只需要为它的设备的中断注册一个处理例程,并当中断到来时进行正确的处理。本质上来讲,中断处理例程和其他的代码并行运行。因此,它们不可避免地引起并发问题,并竞争数据结构和硬件。 透彻地理
·
2015-10-31 14:01
linux
Linux设备驱动
程序学习
(9)-与硬件通信
在学习有关I/O总线的内容时,最好先看看相关的知识:从PC总线到ARM的内部总线 I/O 端口和 I/O 内存 每种外设都是通过读写寄存器来进行控制。 在硬件层,内存区和 I/O 区域没有概念上的区别: 它们都是通过向在地址总线和控制总线发出电平信号来进行访问,再通过数据总线读写数据。 因为外设要与I\O总线匹配,而大部分流行的 I/O 总线是基于个人计算机模型(主要是
·
2015-10-31 14:00
linux
Linux设备驱动
程序学习
(10) -时间、延迟及延缓操作
度量时间差 时钟中断由系统定时硬件以周期性的间隔产生,这个间隔由内核根据 HZ 值来设定,HZ 是一个体系依赖的值,在 <linux/param.h>中定义或该文件包含的某个子平台相关文件中。作为通用的规则,即便如果知道 HZ 的值,在编程时应当不依赖这个特定值,而始终使用HZ。对于当前版本,我们应完全信任内核开发者,他们已经选择了最适合的HZ值,最好保持 HZ 的默认值。 &
·
2015-10-31 14:00
linux
Linux设备驱动
程序学习
(8)-分配内存
内核为设备驱动提供了一个统一的内存管理接口,所以模块无需涉及分段和分页等问题。 我已经在第一个scull模块中使用了 kmalloc 和 kfree 来分配和释放内存空间。 kmalloc 函数内幕 kmalloc 是一个功能强大且高速(除非被阻塞)的工具,所分配到的内存在物理内存中连续且保持原有的数据(不清零)。原型: #include <linux/slab.h>
·
2015-10-31 14:59
linux
Linux设备驱动
程序学习
(6) -高级字符驱动程序操作[(3)设备文件的访问控制]
提供访问控制对于 一个设备节点来的可靠性来说有时是至关重要的。这部分的内容只是在open和release方法上做些修改,增加一些检查机制既可。 独享设备 最生硬的访问控制方式是只允许一个设备一次被一个进程打开(独享),这是一个设备驱动最简单的访问控制。实现十分简单,具体的代码看实验源码吧! 模块程序链接: scullsingle.tar.gz 模块测试程序链接: scullsi
·
2015-10-31 14:58
linux
Linux设备驱动
程序学习
(4) -高级字符驱动程序操作[(1)ioctl and llseek]
今天进入《Linux设备驱动程序(第3版)》第六章高级字符驱动程序操作的学习。 一、ioctl 大部分设备除了读写能力,还可进行超出简单的数据传输之外的操作,所以设备驱动也必须具备进行各种硬件控制操作的能力. 这些操作常常通过 ioctl 方法来支持,它有和用户空间版本不同的原型: int (*ioctl) (struct inode *inode, struct file *filp
·
2015-10-31 14:57
linux
Linux设备驱动
程序学习
(3-补) -Linux中的循环缓冲区
参考资料:《Linux内核中的循环缓冲区》作者:西邮 王聪 严重感谢文章作者! 但是(可能是源码版本问题)有些结论并不正确: “而kfifo_init只会接受一个已分配好空间的fifo->buffer,不能和kfifo_free搭配,用kfifo_init分配的kfifo只能用kfree释放。” 阅读源码可以得出这样的结论:kfifo_init和kfifo_alloc分配
·
2015-10-31 14:57
linux
Linux设备驱动
程序学习
(3)-并发和竞态
今天进入《Linux设备驱动程序(第3版)》第五章并发和竞态的学习。 对并发的管理是操作系统编程中核心的问题之一。 并发产生竞态,竞态导致共享数据的非法访问。因为竞态是一种极端低可能性的事件,因此程序员往往会忽视竞态。但是在计算机世界中,百万分之一的事件可能没几秒就会发生,而其结果是灾难性的。 一、并发及其管理 竞态通常是作为对资源的共享访问结果而产生的。 在设计
·
2015-10-31 14:56
linux
Linux设备驱动
程序学习
(19)-USB 驱动程序(四)
编写 USB 驱动程序 (本部分的一些示例源码来自drivers/usb/usb-skeleton.c,它是Linux内核为我们提供的最基础的USB驱动程序,USB骨架程序) 驱动程序把驱动对象注册到 USB 子系统中,之后使用供应商(idVendor)和设备(idProduct)标识来判断对应的硬件是否已经安装. 驱动的设备支持列表 struct usb_device_id 结构提供了这
·
2015-10-31 11:49
linux
Linux设备驱动
程序学习
(17)-USB 驱动程序(二)
内核使用2.6.29.4 USB设备其实很复杂,但是Linux内核提供了一个称为USB core的子系统来处理了大部分的复杂工作,所以这里所描述的是驱动程序和USB core之间的接口。 在USB设备组织结构中,从上到下分为设备(device)、配置(config)、接口(interface)和端点(endpoint)四个层次。 对于这四个层次的简单描述如下:
·
2015-10-31 11:49
linux
Linux设备驱动
程序学习
(18)-USB 驱动程序(三)
USB urb (USB request block) 内核使用2.6.29.4 USB 设备驱动代码通过urb和所有的 USB 设备通讯。urb用 struct urb 结构描述(include/linux/usb.h )。 urb以一种异步的方式同一个特定USB设备的特定端点发送或接受数据。一个 USB 设备驱动可根据驱动的需要,分配多个 urb 给一个端点或重用单个 urb 给
·
2015-10-31 11:49
linux
lua5.1
我主要通过阅读其源代码来了解它是怎样工作并且通过一些发布的
程序学习
它。希望,通过下面的教程,会让学习Lua更加简单。本教程涵盖了Lua5.1。在Lua的每一个版本中都有一些非常不同之处。
·
2015-10-31 11:39
lua
Linux设备驱动
程序学习
前言: 接触ARM-Linux已经有9个多月了,经历了毕业设计和公司的练习设计,对ARM-Linux有了一定的了解,也让我爱上了ARM-Linux,决心以后从事Linux的工作。 8月份开始,我算是从头认认真真,一步一个脚印地学习ARM-Linux。先后对博创UP-NETARM2410-S和友善之臂SBC2440V4进行了
·
2015-10-31 09:23
linux
在ASP.NET AJAX中使用应用程序服务和本地化(2):示例程序:实现用户登录和注销
让我们通过编写一个完整的示例
程序学习
如何配置并使用ASP.NET AJAX的AuthenticationService对象来实现用户登录和注销。
·
2015-10-31 08:19
asp.net
在ASP.NET AJAX中使用应用程序服务和本地化(4):示例程序:读取、修改并保存用户个性化信息
让我们通过编写一个完整的示例
程序学习
如何配置并使用ASP.NET AJAX的ProfileService对象来实现读取、修改并保存用户个性化信息的功能。
·
2015-10-31 08:19
asp.net
R语言实现 广义加性模型 Generalized Additive Models(GAM) 入门
ftp.ctex.org/mirrors/CRAN/ 注:下载时点击 install R for the first time 下面进行一个简单的入门
程序学习
·
2015-10-31 08:56
Model
Linux pdf书本
Linux内核源代码教程pdf完整版linux从入门到精通教程pdf完整版Linux菜鸟专用资料pdf完整版Linux网络编程教程pdf完整版嵌入式Linux应用开发完全手册-pdf完整版Linux设备驱动
程序学习
彩霞飞飞
·
2015-10-30 16:27
linux
Linux pdf书本
Linux内核源代码教程pdf完整版linux从入门到精通教程pdf完整版Linux菜鸟专用资料pdf完整版Linux网络编程教程pdf完整版嵌入式Linux应用开发完全手册-pdf完整版Linux设备驱动
程序学习
彩霞飞飞
·
2015-10-30 16:27
linux
一个简单的NIO Socket通信程序
一个简单的通信小
程序学习
看书时,手写试试服务器端packageecnu.sgy.SocketChannleTest.serverChannel; importjava.io.IOException;
baidu_22405691
·
2015-10-28 13:00
《一个程序员的生命周期》读后感
《一个程序员的生命周期》中的程序员自小是贫困的家庭,踏上
程序学习
的道路上还遇到不少的阻碍,包
·
2015-10-27 14:55
生命周期
Linux设备驱动
程序学习
(8)-分配内存
Linux设备驱动
程序学习
(8)-分配内存 内核为设备驱动提供了一个统一的内存管理接口,所以模块无需涉及分段和分页等问题。
·
2015-10-23 08:01
linux
机器学习14种常见算法
最近收到一封公司内部邮件,说,有个机器人程序——**小助手,上线(不知道哪个部门写的),让大家没事的时候,测试,顺便让
程序学习
一下,超过50条聊天,有抽奖机会~我大概试了一下,有点无语,这写得是个神马玩意啊
IGod接口
·
2015-10-03 16:00
机器学习14种常见算法
最近收到一封公司内部邮件,说,有个机器人程序——**小助手,上线(不知道哪个部门写的),让大家没事的时候,测试,顺便让
程序学习
一下,超过50条聊天,有抽奖机会~我大概试了一下,有点无语,这写得是个神马玩意啊
IGod接口
·
2015-10-03 16:00
C/C++小
程序学习
:n*n魔方矩阵实现每行、每列、每一对角线上的元素之和相等
用一个程序实现n*n魔方矩阵中,每一行、每一列、每一对角线上的元素之和相等。矩阵规律:本程序只适合基数,解释如下:N为奇数时,此题中N设为5(1)将1放在第一行中间一列;(2)从2开始直到n×n止各数依次按下列规则存放:按45°方向行走,如向右上每一个数存放的行比前一个数的行数减1,列数加1(3)如果行列范围超出矩阵范围,则回绕。例如1在第1行,则2应放在最下一行,列数同样加1;(4)如果按上面规
chvalrous
·
2015-09-15 15:42
C++
面试
算法
使用OpenCV滑动条写成的简单调色器,实时输出RGB值
通过这个
程序学习
滑动条的使用。程序中主要用到cvCreateTrackbar,其用法如下:cvCreateTrackbar创建trackbar并将它添加到指定的窗口。
chenhezhuyan
·
2015-06-25 21:00
opencv
黑马程序员—C语言学习心得
C语言
程序学习
心得体会通过一学期对C语言的学习,我感觉学习C语言是有一定难度却又是非常有趣的科目。这段时间的学习我知道了C语言的基本特点有以下几点:1.语言简洁,使用灵活方便。
guzhenxian340323
·
2015-04-23 00:55
ios基础
[置顶] 精品文章推荐
程序员学习之道1、
程序学习
之道2、学习方法之如何学好C语言3、学习方法之如何学好C++程序员进阶之道1、为什么你要写博客?
tennysonsky
·
2015-02-07 11:00
感悟
学习方法
使用Java操作Mongodb
HelloWorld
程序学习
任何程序的第一步,都是编写HelloWorld程序,我们也不例外,看下如何通过Java编写一个HelloWorld的程序。
tbyang
·
2015-01-05 10:00
Android短信助手
项目源代码下载地址:http://download.csdn.net/detail/itjavawfc/8177841这个小
程序学习
到的内容:1)进一步理解Intent 2开启activity获取返回值
ItJavawfc
·
2014-11-20 00:00
Android短信助手
JAVA编程综合练习(一)
:/java_code/IO/src/file01.txt"此文件的信息是:(图1-1)现在让你用java写一个程序,完成以下要求:1.读取文件信息2.计算设备号的总金额和类型号的总金额下面就直接给出
程序学习
吧
u010411264
·
2014-11-15 22:00
java
编程
类
存储
IO流
Linux设备驱动
程序学习
笔记14:中断的初始化流程
init是Linux内核启动的第一个用户级进程,系统的很多初始化工作都是由它开始的,当然也包括中断的初始化工作。其主要函数在init/main.c中,汇编程序会跳到该文件的start_kernel函数执行,我们就由这个函数开始分析Linux中断初始化相关的主要流程。asmlinkagevoid__initstart_kernel(void){……setup_arch(&command_line);
_纳格_
·
2014-11-13 09:37
Linux
Linux设备驱动
程序学习
笔记13:中断的注册流程
在中断的调用流程中讲到Linux中对中断的处理最终会调用到在驱动程序中注册的中断处理函数。中断处理函数(interrupthandle/interruptserviceroutine)是设备驱动程序的一部分,内核通过它来回应特定的中断。中断处理函数同普通的函数并无太大的区别,但由于它是运行在中断上下文(interruptcontext)中的,所以他不能休眠和引起阻塞。中断处理函数的原型在linux
_纳格_
·
2014-11-03 17:10
Linux
vc+ 添加右键
程序学习
笔记
首先打开vc+2010软件,打开MFC,在MFC中添加右键菜单,步骤如下:1.在资源中添加菜单。添加一个PopUPMenu,然后增加几个你需要的子菜单。给这个菜单取个名字。如IDR_POPUP2.在View中添加OnRButtonDown事件处理程序,添加如下代码:Cpp代码 CMenu menu; menu.LoadMenuW(IDR_POPUP); CMenu *pPopup = me
bigfool007139
·
2014-10-15 17:45
VC
程序学习
Linux设备驱动
程序学习
笔记12:中断调用流程
通过轮询的方式去查询各个硬件的状态显得有的低效,一种更好的机制是当硬件状态准备好之后能够主动地报告给CPU。中断就是这样的一种机制,它允许硬件发信号给CPU。下面就先分析一下当一个中断发生时,Linux系统的处理流程。首CPU在收到中断线上的中断信号后,会跳到某个固定的地址去执行代码,这个地址被称为中断向量。这部分代码是同体系结构相关,主要是汇编代码,其中的主要工作有保存中断现场,切换到中断上下文
_纳格_
·
2014-09-28 11:58
Linux
Linux设备驱动
程序学习
笔记11:输入设备子系统
各种不同的输入设备(如按键,鼠标,触摸屏等)都是字符设备。这些设备文件操作接口等基本是通用的,只是他们底部的硬件操作方式有所不同。Linux内核中采用了一种分层的思想,将这些上层相同的东西分类出来单独开发了一个输入子系统(inputsubsystem)。输入子系统已经完成了字符驱动的文件操作接口,所以编写驱动的核心工作是完成输入系统留出的接口,在很大程度上简化输入设备的驱动开发。Linux的输入子
_纳格_
·
2014-09-24 16:48
Linux
Linux下的汇编
程序学习
体会(1)(转载)
Linux下的汇编
程序学习
体会(1)一、为什么学习linux下的汇编Linux的应用领域越来越广泛,特别是在嵌入式领域有着得天独厚的优势。涉及到硬件相关的开发自然少不了汇编语言。
adalor
·
2014-09-05 09:00
数据结构
编程
linux
嵌入式
D语言
Linux下的汇编
程序学习
体会(1)(转载)
Linux下的汇编
程序学习
体会(1)一、为什么学习linux下的汇编Linux的应用领域越来越广泛,特别是在嵌入式领域有着得天独厚的优势。涉及到硬件相关的开发自然少不了汇编语言。
adalor
·
2014-09-04 20:00
数据结构
编程
linux
嵌入式
D语言
谈
程序学习
程序作为一门语言,学习方式好比练习记忆力,读相关记忆书时的练习,只是一个起点,而接下来做什么就全靠你了。 重要的是,尽量多的实际练习,别过于思考理论 像吴善柳学习,很快就找到了复习的状态,一共考了8次,无论是谁,只要是从中学到东西了,能长到本领,就是我的师父。 善柳言:同济大学吧,感觉这个大学又差了点 后来开始做一些奥赛题,开阔思路和拔高,我觉得这个和程序也是相关的,可以多
liudingning
·
2014-09-01 02:00
学习
应用定时器,通过应用程序控制LED闪灭(linux设备驱动
程序学习
)
驱动程序源代码:led_timer.c #include #include #include #include #include #include #include #include staticvolatileunsignedint*GPJ2CON,*GPJ2DAT; staticintmajor=0; structtimer_listtime; staticintcounter; stat
dezhihuang
·
2014-08-25 11:00
ARM-LINUX驱动学习
上一页
20
21
22
23
24
25
26
27
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他