- 博客(22)
- 资源 (6)
- 收藏
- 关注
原创 /proc/cpuinfo
arch/arm/include/asm/cputype.harch/arm/kernel/setup.c1. read_cpuid_id(CPUID_ID)#define read_cpuid(reg) \ ({
2014-07-14 21:55:21 3581
转载 Linux设备驱动模型
简介作者:hjlin内核版本:2.6.29设备驱动模型框架是linux驱动编程的基础。它通过kobject,kset,ktype等底层数据结构将bus_type, device, device_driver 等高层数据结构组织起来,形成一个层次、分类清晰的驱动模型。优点如下:1. 代码重用。将对象抽象为总线、驱动、设备三种,各司其职。同一总线的多个驱动使用相同的总线对象
2011-11-18 13:59:53 1043
原创 什么是 Schottky diode
什么是 Schottky diode 肖特基势垒二极管SBD(Schottky Barrier Diode,简称肖特基二极管)是近年来间世的低功耗、大电流、超高速半导体器件。其反向恢复时间极短(可以小到几纳秒),正向导通压降仅0.4V左右,而整流电流却可达到几千安培。这些优良特性是快恢复二极管所无法比拟的。中、小功率肖特基整流二极管大多采用封装形式。一、肖特基二极管原理 肖特
2011-11-14 23:41:49 3019
原创 字符串分割函数strsep
#ifndef __HAVE_ARCH_STRPBRK/** * strpbrk - Find the first occurrence of a set of characters * @cs: The string to be searched * @ct: The characters to search for */char *strpbrk(const char
2011-11-08 13:51:12 641
原创 memcpy和memmove的区别
memcpy和memmove的区别就是:memcpy不支持目标和源内存区域重叠memmove则支持 #ifndef __HAVE_ARCH_MEMCPY/** * memcpy - Copy one area of memory to another * @dest: Where to copy to * @src: Where to copy from * @
2011-11-08 13:41:06 488
原创 字符串的strlen与sizeof
strlen的函数实现(linux)如下: 378/** 379 * strlen - Find the length of a string 380 * @s: The string to be sized 381 */ 382size_t strlen(const char *s) 383{ 384 const char *sc; 385 38
2011-11-08 13:35:16 317
原创 ARM Linux下添加自定义系统调用
<br />本文基于公司uClinux内核,详细讲述3代终端gpioctrl的原理及应用。<br /> <br />ARM Linux的系统中断采用产生软中断,查找系统调用表,调用系统调用函数的方式实现系统调用。<br />先讲述,如何去查找gpioctrl函数的实现。<br />1. 通过查找,找到函数定义。<br />在Sg2klib.c里,有如下定义:<br />_syscall3(int,gpioctrl, int, op, int, addr, int, value)<br />_sy
2011-04-19 16:24:00 1079
原创 UCOS-II内存池管理
<br />UCOS-II内存池创建是在一个大的数组中建立相应的池,那么所有的池地址都是可以确定的,申请时得到地址,释放时只需要根据地址去查找相应池的索引号然后释放即可。
2011-03-18 09:11:00 1074
原创 GTM900的数据模式和命令模式切换
终端遇到问题,有时候短信接收不到。查找了资料,特此备注 -------- http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3506746&bbs_page_no=1&search_mode=1&search_text=ATO&bbs_id=9999 以下是摘要 2F-->个人理解: "CONNECT~ }#?}!}!} }ATD*99*# 发起的是GPRS数据呼叫,这时外部控制MCU应该在CONNECT后进行PPP协商,完成链路的建立,在链路建立
2011-03-09 16:24:00 2346
原创 RS232(DB9)接口信号线定义
RS232(DB9): 接口信号线定义: 1 DCD 载波检测 数据载波检测时Modem发向DTE,表示已检测出对方载波信号。 2 RXD 接收数据 3 TXD 发送数据 4 DTR 数据终端准备好 DTE设备加电以后,并能正确实现通信的功能,向DCE发出DTR信号,表示数据终端已做好准备工作,可以进行通信。 5 SG 信号地 6 DSR 数据准备好 数据设备是DCE通信的设备,例如Modem加电以后,并能正常执行通信功能时,向DTE发出
2011-03-09 14:23:00 33276 1
原创 serial_icounter_struct、TIOCGICOUNT
串口modem应用程序调用到ioctl,用到TIOCGICOUNT获取这个结构体内容,具体变量意思还没搞清,先记下,留待查看。 --- 内核代码include/linux/serial.h serial_icounter_struct 189/* 190 * Serial input interrupt line counters -- external structure 191 * Four lines can interrupt: CTS, DSR, RI, DCD 192 */ 19
2011-03-09 13:59:00 1856
原创 一行字让root用户跟普通用户用一样的vi
<br />装完Linux系统后,会发现普通用户vi可以有颜色,但root用户单调枯燥。这是因为普通用户使用的是vim,而root用户是vi。如果不想花时间去配置,使用下面方法,一步到位,vi世界就丰富多彩了。<br />最简单实用的就是<br />#vi /root/.bashrc<br />添加如下一行<br />alias vi='vim'<br />#exit<br />登录,vi,丰富多彩的世界就来了。
2011-03-08 23:10:00 883
原创 Linux内核链表list_head扩展---klist
看SPI驱动核心模块时,看到用到很多klist,之前没多深入理解,现在来一步步分析源码。klist是对list_head的扩展,实现代码很少。内核代码: include/linux/klist.h lib/klist.c ---------------------- 先要有一点点预备知识——list_head ---------------------- 先看看头文件如何定义klist,以及一些基本操作方法接口。 ---------------------- klist头文件 /* 头文件
2011-03-08 01:15:00 1346
原创 Linux下SPI驱动分析(5)
SPI主机驱动的核心方法 ------------------------------------------------- SPI主机协议驱动核心方法 /* 神奇的分割线 */ 626/*-------------------------------------------------------------------------*/ 627 628/* Core methods for SPI master protocol drivers. Some of the 629 *
2011-03-06 13:39:00 745
原创 Linux下SPI驱动分析(4)
接下来继续看SPI主机注册、删除方法。 --------------------------------------------- 主机设备删除、添加方法 /* 又见神奇的分割线 */ 431/*-------------------------------------------------------------------------*/ 432 /* SPI主机驱动删除方法 * 这里是由设备驱动找到主机控制结构体,并释放内存 */ 433stat
2011-03-06 12:09:00 623
原创 Linux下SPI驱动分析(3)
接下去看spi.c 特殊的板级相关设备添加方法 /* 神奇的分割线 */ 190/*-------------------------------------------------------------------------*/ 191 192/* SPI devices should normally not be created by SPI device drivers; that 193 * would make them board-specific. Simila
2011-03-05 15:01:00 644
原创 Linux下SPI驱动分析(2)
接上一个继续看spi.c。 ------------------------------- 匹配设备 /* 名词解释of: OpenFirmware * 调用层次spi_match_device-->of_driver_match_device-->of_match_device--> * of_match_node * 用于驱动程序检查platform_device是否在其支持列表里 */ 80static int spi_match_devi
2011-03-04 16:28:00 891
原创 Fedora设置DVD为yum源
当安装完系统,如果还不能上网,想用yum安装一些软件没办法。这时候就要设置本地yum源。可以吧DVD光盘里的东西拷呗到硬盘,也可以mount挂载到一个目录。为了方便、节省硬盘空间,这里讲如何挂载,并设置yum。1. 挂载DVD$su#mkdir /mnt/fedora-dvd#mount -t iso9660 /dev/cdrom /mnt/fedora-dvd(注:需要时挂载)2. 设置yum#cd /etc/yum.repo.d/#cp fedora.repo dvd.repo#vim dvd.repo
2011-03-04 13:05:00 1130
原创 Linux系统下常用RPM包搜索网站
http://rpmfind.net——这个网站一般较旧的包是找不到的。http://rpm.pbone.net/——这个几乎所有的都能招到。
2011-03-04 12:45:00 11616
原创 Linux下SPI驱动分析(1)
Linux下SPI总线驱动有通用接口,一般的SPI设备驱动使用这个驱动接口实现设备驱动。分析驱动最好是先了解核心代码,然后从具体设备分析入手,然后从下至上,了解整个框架,再从上到下分析,理解透彻。以下分析内核根目录均以"src"代替。内核代码http://lxr.linux.no/,版本2.6.37.2。SPI的核心代码即"src/drivers/spi/spi.c"——SPI 初始化和核心代码"src/drivers/spi/spi_gpio.c"——IO模拟SPI接口代码头文件:"src/include
2011-03-04 00:01:00 1468
数据结构.C++语言描述_第一部分
2008-04-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人