Chinaunix首页 | 论坛 | 博客
  • 博客访问: 284791
  • 博文数量: 58
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 600
  • 用 户 组: 普通用户
  • 注册时间: 2015-11-27 08:37
个人简介

从linux了解世界

文章分类
文章存档

2017年(5)

2016年(51)

2015年(2)

我的朋友

发布时间:2016-01-20 12:41:37

    在用户空间中用到的poll()函数其实就是起到一个把当前进程睡眠,通过轮询等待唤醒的作用。好处是在用户态就可以让进程睡眠,而不必在写驱动不同函数时在内核态重复的实现进程的挂起和唤醒。    驱动中poll原型:unsigned poll(struct file *file, poll_table *wait)  .........【阅读全文】

阅读(5043) | 评论(0) | 转发(0)

发布时间:2016-01-14 09:46:57

和字符驱动程序一样,先学习驱动框架,再研究构成框架的这些注册函数在内核是怎么工作的。mini2440的6个按键连接在gpg0,3,5,6,7,11上,中断号是8,11,13,14,15,19共用一个中断eint8-23,在irqs.h中有所有中断号的宏定义。在interrupt.h中有中断触发方式的宏定义。int devid=1;static struct class *seconddrv_class;stat.........【阅读全文】

阅读(2045) | 评论(0) | 转发(0)

发布时间:2016-01-12 10:18:24

    经过最近这几天学习字符设备驱动,我发现学习字符设备驱动模块编写是一个剥洋葱的过程,不考虑设备文件是手动生成还是利用mdev生成,仅仅考虑注册字符设备,编写模块加载函数仅仅需要一个核心函数register_chrdev()这个函数里面又包含了很多函数,一层一层的播下去就能搞懂驱动在linux中的工作原.........【阅读全文】

阅读(1891) | 评论(0) | 转发(0)

发布时间:2016-01-08 11:58:15

????我们用busybox制作的根文件系统是没有rz、sz工具的,所以需要下载源码使用arm-linux-gcc编译生成可执行文件,再把可执行文件放到根文件系统的bin目录下。因为我的开发板ping主机总是会丢帧,没法用nfs挂载根文件系统,每次想传个东西给板子都要重新烧一遍文件系统..所以试着用串口和pc通信。我估计.........【阅读全文】

阅读(2758) | 评论(0) | 转发(0)

发布时间:2016-01-06 11:23:58

最近对比stm32和2440的中断处理,有很多困惑,经过几天的思考和实验终于搞明白了。stm32和2440虽然都是arm架构,但是stm32在中断上比较特殊,发生不同的中断,硬件上会直接给pc强行赋值,不同的中断对应不同的值。但是2440则是只要有中断就跳到一个固定地址,不论中断是什么跳到的地址都一样。我想这也是为什么stm32在裸机.........【阅读全文】

阅读(2525) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册