驱动复习(mor8)

  1. 驱动mmap设备操作与应用程序的mmap系统调用区别?

  2. 按键驱动代码?

  3. 按键初始化:

struct  key_info{
    int            irq_no;
    unsigned  int  gpio_port;
    int            key_no;
} key_info_table[4]={
    {GPIO_EXINT0 ,GPIO_F1 ,1},
    {GPIO_EXINT1 ,GPIO_F2 ,2},
    {GPIO_EXINT2 ,GPIO_F3 ,3},
    {GPIO_EXINT3 ,GPIO_F4 ,4},
};
//这是一个结构体数组,每个结构体成员是一个自定义的按键类型;
//此时求数组的长度可用:len=sizeof(key_ingo_table)/sizeof(key_info_table[1]);
  1. 内存和寄存器最大的区别在于读内存不会改变内存的值,但是读寄存器可能改变寄存器的值。

  2. 在应用程序中实现select的系统调用时,阻塞不是发生在驱动程序的poll函数中,而是发生在do_select()中,poll函数只是做了一个登记而已。

  3. 终端几种类型:控制台、串口、伪终端。

  4. 串口驱动分析:
    发送:循环buffer—–>发送FIFO(驱动做)——>发送移位寄存器(硬件做);
    接收:接收移位寄存器—–>接受FIFO(硬件做)——>flip_buf(驱动做);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值