自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

冀博

tiger-john不懈学习嵌入式ing-- 尘事中一个迷途,小小硕士

  • 博客(17)
  • 资源 (23)
  • 论坛 (3)

原创 Linux字符设备编程(五)之struct class

<br /><br />Linux字符设备编程(五)之struct class<br />在前面我们已经介绍了两种方法来实现在编写设备驱动程序时由系统自动给我们创建设备文件的方法。现在我们接着讲解第三种方法.<br />一.前言<br />内核中定义了struct class结构体,一个struct class 结构体类型变量对应一个类,内核同时提供了class_create()函数,可以用它来创建一个类,这个类存放于sysfs下面,一旦创建了这个类,再调用device_create()函数在/dev目录下

2011-05-29 21:44:00 12188 1

原创 Linux字符设设备编程(四)之可爱的misc

字符设备编程(四)之可爱的misc在我们前面所学的字符设备编程中,当我们写好字符设备驱动并加载成功后;要使我们所写的驱动层程序和应用层程序之间搭建起通信桥梁,要通过设备节点。很多时候,我们都是利用mknod命令手动创建设备节点;应用层程序通过设备节点(open(“/dev/globalmem”,O_RDWR))和驱动层程序之间进行通话。。我们先来看看如何创建一个设备节点呢?To user the driver,first create the proper device files .To do that,

2011-05-29 18:06:00 8495 3

转载 sscanf()函数的用法

sscanf名称:sscanf() - 从一个字符串中读进与指定格式相符的数据.函数原型:int sscanf( const char *, const char *, ...);头文件:#include说明:sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源。例子:1. 常见用法。  char buf[512] ;  sscanf("123456 ", "%s", buf);//此处buf是数组名,它的意思是将123456以%s的形式存入buf中!

2011-05-24 13:42:00 6289

转载 sleep()函数-延迟函数

<br /><br />Sleep函数<br />1.简介<br />函数名: sleep<br />功 能: 执行挂起一段时间<br />用 法: unsigned sleep(unsigned seconds);<br />在VC中使用带上头文件<br />#include <windows.h><br />在gcc编译器中,使用的头文件因gcc版本的不同而不同<br />#include <unistd.h><br />2.注意<br />在VC中Sleep中的第一个英文字符为大写的"S"<br />

2011-05-24 13:40:00 3627 2

原创 atoi函数

<br /><br />atoi<br />C语言库函数名: atoi<br />  功 能: 把字符串转换成整型数.<br />  名字来源:array to integer 的缩写.<br />  原型: int atoi(const char *nptr);<br />  函数说明: 参数nptr字符串,如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字或结束符 /0 时停止转换,返回整型数。<br />  头文件: #include <stdlib.h>

2011-05-24 13:40:00 1769

原创 DDR2与DDR的区别

<br /> <!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } --><br />DDR2与DDR的区别<br /> 与DDR相比,DDR2最主要的改进是在内存模块速度相同的情况下,可以提供相当于DDR内存两倍的带宽。这主要是通过在每个设备上高效率使用两个DRAM核心来实现的。作为对比,在每个设备上DDR内存只能够使用一个DRAM核心。技术上讲,DDR2内存上仍然只有一个DRAM核心,但是它可以并行存取

2011-05-20 16:56:00 1828 1

原创 构建内核树

<br /> <br /> <br />够建内核树<br />1.下载内核源代码<br />apt-cachesearch linux-source <br />其中显示的有:linux-source-2.6.20,没有和我的内核版本完全匹配,不过也没关系,直接下载就可以了:<br />apt-getinstall linux-source-2.6.20 <br />2.下载后,在/usr/src/目录下有压缩包解压<br />tar-jxvf linux-sourc

2011-05-17 11:11:00 3183

原创 Linux内核开发之将驱动程序添加到内核

<br />                                      驱动程序添加到内核<br /> <br />一.概述:<br />在linux内核中增加程序需要完成以下三项工作:<br />1.将编写的源代码复制到Linux内核源代码的相应目录<br />2.在目录的Kconfig文件中增加新源代码对应项目的编译配置选项<br />3.在目录的Makefile文件中增加对新源代码的编译条目<br />二.实例<br />1.先把驱动代码usbtmc(文件夹)赋值到/usr/src

2011-05-17 10:45:00 17411 11

原创 Ubuntu下搭建嵌入式环境

Ubuntu下搭建嵌入式环境一.minicom的安装(1)打开终端,输入:sudo apt-get install minicom(2)然后进行配置,输入sudo minicom -s(3)进入Serial port setup,需要修改两处:1>A中 /dev/tty8改为/dev/ttyS0注意:如果为笔记本没有串口,可以用usb转串口工具,此时要改为/dev/ttyUSB0(也许你的不一样,

2011-05-13 18:11:00 3531 1

原创 kmalloc/kfree,vmalloc/vfree函数用法和区别

kmalloc/kfree,vmalloc/vfree函数用法和区别1.kmalloc1>kmalloc内存分配和malloc相似,除非被阻塞否则他执行的速度非常快,而且不对获得空间清零.tiger说明:在用kmalloc申请函数后,要对起清零用memset()函数对申请的内存进行清零。> 2>kamlloc函数原型:#includeVoid *kmalloc(size_t size, int f

2011-05-11 20:13:00 32785 4

原创 C语言中函数strcpy ,strncpy ,strlcpy的用法

<br />C语言中函数strcpy ,strncpy ,strlcpy的用法<br />strcpy ,strncpy ,strlcpy的用法<br />好多人已经知道利用strncpy替代strcpy来防止缓冲区越界。<br />但是如果还要考虑运行效率的话,也许strlcpy是一个更好的方式。<br />1. strcpy<br />strcpy 是依据 /0 作为结束判断的,如果 to 的空间不够,则会引起 buffer overflow。strcpy 常规的实现代码如下(来自 OpenBSD 3.

2011-05-11 18:55:00 39469 5

原创 Linux字符设备驱动之register_chrdev_region()系列

<br />Linux字符设备驱动之 register_chrdev_region()函数系列<br />1.内核中所有已分配的字符设备编号都记录在一个名为 chrdevs 散列表里。该散列表中的每一个元素是一个 char_device_struct 结构,它的定义如下:<br />static struct char_device_struct {<br />struct char_device_struct *next; // 指向散列冲突链表中的下一个元素的指针<br />unsigned int m

2011-05-11 18:11:00 22683 2

原创 Linux字符设备驱动之cdev_init()系列

<br />字符设备驱动之cdev_init()系列函数<br />1.内核中每个字符设备都对应一个 cdev 结构的变量,下面是它的定义:<br />linux-2.6.22/include/linux/cdev.h<br />struct cdev {<br />  13        struct kobject kobj;<br />  14        struct module *owner;<br />  15        const struct file_operations *ops

2011-05-11 17:54:00 12427

原创 Linux字符设备驱动(三)

字符设备驱动之体验篇三.字符设备编程篇通过程序来体验字符设备驱动编程的过程在Linux系统中,字符设备驱动由如下几个部分组成:(1)字符设备驱动模块加载与卸载函数(2)字符设备驱动的file_operations结构体中成员函数file_operations结构体中成员函数是字符设备驱动与内核的接口,是用户空间对Linux进行系统调用最终的实现着。(3)在字符设备驱动中,需要定义一个file_operations的实例,并将具体设备驱动的函数赋值给file_operations的成员。1.设备驱动的头文件,

2011-05-11 17:39:00 7121 5

原创 Linux字符设备驱动(二)

字符设备驱动之结构体二.字符设备驱动的结构体大部分基本的驱动程序操作涉及及到三个重要的内核数据结构,分别是file_operations、file和inode,它们的定义都在。1.file_operations:是一个函数指针的集合1>应用程序和VFS之间的接口是系统调用,而VFS与磁盘文件系统以及普通设备之间的接口是file_operations结构体成员函数,这个结构体包含对文件打开,关闭,读写,控制的一系列成员函数。2>由于字符设备的上层没有磁盘文件系统,所以字符设备的file_operations成

2011-05-11 17:13:00 5760 1

原创 Linux字符设备驱动(一)

Linux字符设备驱动之概述篇1.在Linux中有一句哲学“Linux下皆文件”,既把设备看做文件处理。那么设备和普通文件之间又有什么区分呢?先看看两个图:普通文件:-rw-r--r--  1 stella stella   3699 2011-05-10 16:02 my_USBTMCAPP.c-rwxr-xr-x  1 stella stella   8763 2011-05-08 11:27 tiger-rw-r--r--  1 stella stella    441 2011-05-08 11:2

2011-05-11 17:01:00 9133 11

转载 经常用到的javaScript技术代码

author:王绍峰http://blog.csdn.net/fasttalk/archive/2005/10/10/498988.aspx一、验证类1、数字验证内1.1 整数1.2 大于0的整数(用于传来的ID的验证)1.3 负整数的验证1.4 整数不能大于iMax1.5 整数不能小于iMin2、时间类2.1 短时间,形如 (13:04:06)2.2 短日期,形如 (2003-12-05)2.3 长时间,形如 (2003-12-0513:04:06)2.4 只有年和月。形如(2003-05,或者200

2011-05-10 09:15:00 1662

iperf windows安装包

iperf windows安装包

2013-09-08

ProGit中文手册

progit 中文手册

2013-08-05

progit官方英文手册

git官方原文手册,英文。

2013-08-05

Git权威指南

git权威指南蒋鑫,最全的书

2013-08-05

buildroot使用手册

buildroot官方手册

2013-08-05

GNUC扩展用法

讲解了GNUC对标准C语言的扩展的特性和用法

2013-08-05

嵌入式环境搭建之samba

本文主要介绍了samba存在的前因后果,已经对samba进行简要介绍;并介绍了samba在ubuntu下安装,samba服务器端配置以及如何在window7共享samba服务器。最后,总结了samba的使场景。

2013-08-05

嵌入式环境搭建之NFS

本文介绍NFS相关概念,NFS配置文件以及介绍如何设置NFS服务端和客户端,并检验是否设置成功;并对出现的异常进行分析,同时给出一个嵌入式配置实例。

2013-08-05

内核链表在应用层应用

list.h在应用层应用

2012-12-14

bonjour软件包,mDNSResponder

bonjour软件包,开源代码bonjour软件包,开源代码bonjour软件包,开源代码,mDNSResponder,mDNSResponder

2011-07-03

bonjourSDK工具包

bonjourSDK工具包bonjourSDK工具包bonjourSDK工具包bonjourSDK工具包

2011-07-03

Avahi软件包,zeroconfig

Avahi是基于zeroconfig协议的自动发现软件

2011-07-03

Link local address

Link local address协议,是zeroconfig协议的组成之一

2011-07-02

基于UC/OS操作系统的UDP网络编程

基于UC/OS操作系统的UDP网络编程基于UC/OS操作系统的UDP网络编程

2011-03-02

以太网RTL8019AS数据手册

以太网RTL8019AS英文数据手册

2011-02-23

ARM体系结够之间的状态转换代码2

ARM体系结够之间的状态转换代码2ARM体系结够之间的状态转换代码

2011-01-10

ARM体系结够之间的状态转换代码1

ARM体系结够之间的状态转换代码1,ARM体系结够之间的状态转换代码

2011-01-10

getpid()编程getpid()编程getpid()编程getpid()编程

getpid()编程getpid()编程getpid()编程getpid()编程getpid()编程getpid()编程getpid()编程getpid()编程getpid()编程getpid()编程getpid()编程getpid()编程

2010-11-14

exit()编程exit()编程exit()编程exit()编程

exit()编程exit()编程exit()编程exit()编程exit()编程exit()编程

2010-11-14

wait()编程wait()编程wait()编程wait()编程

wait()编程wait()编程wait()编程wait()编程wait()编程

2010-11-14

fork3()编程fork3()编程fork3()编程fork3()编程fork3()编程

fork3()编程fork3()编程fork3()编程fork3()编程fork3()编程fork3()编程fork3()编程

2010-11-14

fork1() 编程fork1() 编程fork1() 编程fork1() 编程

fork1() 编程fork1() 编程fork1() 编程fork1() 编程fork1() 编程fork1() 编程fork1() 编程

2010-11-14

fork()编程fork()编程fork()编程

fork()编程fork()编程fork()编程fork()编程fork()编程fork()编程fork()编程

2010-11-14

冀博的留言板

发表于 2020-01-02 最后回复 2020-01-02

令人纠结和不淡定的R14寄存器

发表于 2011-01-24 最后回复 2012-04-18

[已处理] 我的文章被推荐到CSDN首页,为什么没有在文章上贴标志?

发表于 2011-01-26 最后回复 2011-01-28

空空如也
提示
确定要删除当前文章?
取消 删除