linux驱动笔记-WK2124驱动分析

probe函数中的内容

  1. 设置进程调度参数。sched_param = { .sched_priority = MAX_RT_PRIO / 2 }
  2. 设置spi_device:通信字长、SPI_MODE_0(WK2124只支持模式0)、设置SPI通信速率,spi_setup()初始化spi_device。
  3. 申请WK2124要用的GPIO引脚cs、irq、rst。
  4. 测试WK2124。
  5. 初始化kthread_worker、kthread_work、设置task_struct进程调度参数。
  6. uart_register_driver()
  7. 初始化uart_port:uart_ops、clk、fifo大小。
  8. uart_add_one_port()
  9. 申请中断(收发流程主要通过中断进行)。

实现uart_ops

  1. 设置串口波特率 wk2xxx_termios
  2. 用户空间open串口节点 wk2xxx_setup
  3. 用户空间close串口节点 wk2xxx_shutdown
  4. write()->wk2xxx_start_tx()(将work添加到work)->wk2xxx_start_tx_proc(SIER寄存器写产生中断)->wk2xxx_irq()(添加irq_work进worker)->wk2xxx_ist()->wk2xxx_port_irq()
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值