天天看點

11_編寫虛拟UART驅動程式_架構

資料下載下傳

coding無法使用浏覽器打開,必須用git工具下載下傳:

git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git           

視訊觀看

百問網驅動大全

編寫虛拟UART驅動程式_架構

  • 參考代碼
    硬體相關:
    drivers/tty/serial/imx.c
    drivers/tty/serial/stm32-usart.c
    
    序列槽核心層:
    drivers/tty/serial/serial_core.c
    
    TTY層:
    drivers/tty/tty_io.c           
  • 本節課程源碼在GIT倉庫裡
    doc_and_source_for_drivers\IMX6ULL\source\09_UART
    04_virtual_uart_driver
    doc_and_source_for_drivers\STM32MP157\source\A7\09_UART
    04_virtual_uart_driver           

1. 架構回顧

11_編寫虛拟UART驅動程式_架構

2. 編寫UART驅動要做的事

11_編寫虛拟UART驅動程式_架構
  • 注冊一個uart_driver:它裡面有名字、主次裝置号等
  • 對于每一個port,調用uart_add_one_port,裡面的核心是uart_ops,提供了硬體操作函數
    • uart_add_one_port由platform_driver的probe函數調用
    • 是以:
    • 編寫裝置樹節點
    • 注冊platform_driver

3. 虛拟的UART

  • 要發資料給虛拟序列槽時,執行:echo "xxx" > /proc/virt_uart_buf
  • 要讀取虛拟序列槽的資料時,執行:cat /proc/virt_uart_buf

4. 程式設計

4.1 編寫裝置樹

4.2 編寫uart_driver

4.3 編寫platform_driver

4.4 實作uart_ops

4.5 實作/proc/virt_uart_buf

繼續閱讀