![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux设备驱动程序
文章平均质量分 54
xtx1990
新一代年轻人
展开
-
GNU C与ANSI C
从《LINUX设备驱动开发详解》里面一字一句地打出来,放在这里,供大家分享! LINUX系统上可用的C编译器是GNU C编译器,它建立在自由软件基金会的编程许可的基础上,因此可以自由发布。GNU C对标准C进行了一系列的扩展,以增强标准C的功能。1、零长度数组GNU C允许使用零长度数组,在定义变长对象的头结构时,这个特性特别有用。例如:struct var_data{int len原创 2012-11-12 13:36:40 · 332 阅读 · 0 评论 -
linux设备驱动常识
linux内核模块必须包含:模块加载函数、模块卸载函数、模块许可证声明 模块加载函数前面加上标识__init ,是为了该函数运行完后释放init区段,模块卸载函数也是同理原创 2012-11-12 13:36:42 · 304 阅读 · 0 评论 -
udev的规则
Udev 的使用--linux系统创建设备节点 Linux 里都是以设备文件的形式存在。在早期的 Linux 版本中,/dev目录包含了所有可能出现的设备的设备文件。但因为这样 Linux 用户很难在这些大量的设备文件中找到匹配条件的设备文件。现在 udev 只为那些连接到 Linux 操作系统的设备产生设备文件。并且 udev 能通过定义一个 udev 规则 (rule) 来产生匹配设备属性的原创 2012-11-12 13:37:31 · 530 阅读 · 0 评论 -
存储器
flash编程原理都是只能将1写为0,而不能将0写为1,所以flash在编程之前,必须将对应块擦除,而擦除的过程就是就是把所有的位都写为1,块内所有的字节变为0xFF nor flash 是可芯片内执行,程序可以直接在nor flash内运行,而nand flash和cpu的接口必须由相应的电路进行转换,当然也可以通过地址线或GPIO产生nand falsh接口信号,nand flash以原创 2012-11-12 13:36:38 · 303 阅读 · 0 评论 -
linux中应用层访问硬件的方法
#include #include #include #include #include #include #include #include #include int main(int argc, char *argv[]){ int fd; unsigned long vaddr; unsigned long paddr; unsigned long value = 0原创 2012-11-12 13:39:45 · 633 阅读 · 0 评论