上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 51 下一页
摘要: Linux内核链表定义在include/linux/list.h文件中链表结构定义struct list_head { struct list_head *next, *prev;};Linux内核链表它是一个双向循环链表,里面只包含两个struct list_head结构指针。1. 链表初始化链表初始化有两种方式:(1)使用LIST_HEAD宏定义个头节点并初始化#define LIST_HEAD(name) \ struct list_head name = LIST_HEAD_INIT(name)#define LIST_HEAD_INIT(name) { &(name), &a 阅读全文
posted @ 2011-12-14 23:10 移动应用开发 阅读(249) 评论(1) 推荐(0) 编辑
摘要: 1. ARM工作模式 ARM有7种工作模式,分别是用户模式(User)、系统模式(System)、管理模式(Supervisor)、中止模式(Abort)、未定义模式(Undefined)、中断模式(Interrupt)和快速中断模式(Fastinterrupt),其中后面6中模式称为特权模式,后面5中模式称为异常模式。2. ARM寄存器 ARM共有37个寄存器,其中有31个通用寄存器,但是在一种工作模式下只能使用16个通用寄存器,有6个程序状态寄存器,在一中工作模式下也只能使用1到2个程序状态寄存器。r13通常作为栈指针(SP)寄存器r14(LR)用于子函数调用时保存子函数的返回... 阅读全文
posted @ 2011-12-10 21:57 移动应用开发 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 包含头文件#include<linux/miscdevice.h>建一个miscdevice结构体static struct miscdevice misc = { .minor = MISC_DYNAMIC_MINOR, .name = DEVICE_NAME, .fops = &dev_fops,};在驱动函数初始化中注册这个混杂设备misc_register(&misc);驱动卸载时,注销这个设备misc_deregister(&misc);混杂设备miscdevice说明miscdevice结构体struct miscdevice { int min 阅读全文
posted @ 2011-12-09 23:59 移动应用开发 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 以前rmmod不能卸载驱动,提示rmmod: chdir(/lib/modules): No such file or directory我在lib目录下新建目录modules,再次卸载提示rmmod: chdir(2.6.32.2): No such file or directory我在modules目录下再新建目录2.6.32.2如果配置General setup --->() Local version - append to kernel release这里什么也没有的话,那么新建目录就是Linux的版本号如果有字符的话,就是Linux版本号加上你输入的字符记得改变后要重新编译 阅读全文
posted @ 2011-12-09 23:54 移动应用开发 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 驱动程序编写好后,还需要创建设备节点,有两种方式,一是通过mknod命令去手动创建,例如:mknod /dev/hello c 250 0,/dev/hello为设备节点名字,c代表字符设备,250和0代表它的主次设备号。二是使用udev或mdev来实现自动创建设备节点。使用mknod手动创建设备节点不够灵活,如果是动态分配的设备号怎么办,难道每次加载驱动后去查看/proc/devices文件中查看它的主设备号,要是产品发布时怎么办,显然不太现实利用udev(mdev)来实现设备节点的自动创建,udev(mdev)存在于应用层。包含头文件#include<linux/device.h&g 阅读全文
posted @ 2011-12-09 23:52 移动应用开发 阅读(427) 评论(0) 推荐(0) 编辑
摘要: /*Linux字符设备驱动源代码scdd.c*/#include <linux/init.h> /*模块头文件*/#include <linux/module.h>#include <linux/types.h> /*dev_t头文件*/#include <linux/kdev_t.h> /*MAJOR和MINOR宏头文件*/#include <linux/fs.h> /*register_chrdev_region等函数 file_operations结构体*/#include <linux/cdev.h> /*stru 阅读全文
posted @ 2011-12-09 23:19 移动应用开发 阅读(170) 评论(0) 推荐(0) 编辑
摘要: /*Linux驱动源码hellop.c*/#include<linux/init.h>#include<linux/module.h>#include<linux/moduleparam.h>static char *whom="bufan";static int howmany=1;static int paramA[] = {1,2,3,4,5,6,7,8};static int paramA_no = 1;module_param(howmany,int,S_IRUGO);module_param(whom,charp,S_IRUG 阅读全文
posted @ 2011-12-09 23:00 移动应用开发 阅读(233) 评论(0) 推荐(0) 编辑
摘要: /*Linux驱动源代码hello.c*/#include<linux/init.h>#include<linux/module.h>static int __inithello_init(void){ /*模块初始化函数*/ printk(KERN_ALERT"Hello,world\n"); return 0;}static void __exithello_exit(void){ /*模块卸载函数*/ printk(KERN_ALERT "Goodbye,cruelworld\n");}module_init(hello_i 阅读全文
posted @ 2011-12-09 22:56 移动应用开发 阅读(206) 评论(0) 推荐(0) 编辑
摘要: ARM英文全称Advanced RISC Machines,1991年ARM公司成立于英国剑桥,ARM 公司是专门从事基于RISC 技术芯片设计开发的公司,设计了大量高性能、廉价、耗能低的RISC处理器。ARM公司本身不直接从事芯片生产,主要出售芯片设计技术授权。世界各大半导体生产商从ARM公司购买其设计的ARM 微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM 微处理器芯片进入市场。 ARM已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM 技术的微处理器应用约占据了32 位RISC 微处理器75 %以上的市场份额,ARM 技. 阅读全文
posted @ 2011-12-09 17:26 移动应用开发 阅读(1114) 评论(0) 推荐(0) 编辑
摘要: 每个版本的 Visual Studio 开发环境通常都会在其 IDE 及其支持的编程语言中引入一些新功能。微软开发部副总裁S. Somasegar 最近展示了一些即将出现在 Visual Studio 11 中的新的编程语言功能。 JavaScript 虽然在 Visual Studio 的早期版本中已包含对于 JavaScript 的支持,但是 Visual Studio 11 打算进一步增强这种支持,即给予该语言全面认可,就像给予同类的顶级 Visual Studio 语言(C#、Visual Basic、以及C++)的待遇一样。针对 JavaScript 预期的改进包括:支持 ECM.. 阅读全文
posted @ 2011-12-09 15:02 移动应用开发 阅读(195) 评论(0) 推荐(0) 编辑
上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 51 下一页