裸機程序如下:
上圖中只揭示了運用層的讀寫函數怎么調用到adapter->algrithem->masterxfer()方法,以及為什么運用層的read調用的是核心層的i2cdev_read()。那么,問題來了,我怎么知道這個mpu6050對應的是哪個adpter,在我的工程代碼中定義的i2c_deriver對象注冊前根本沒指明他的adapter? 還有,代碼中的哪個client,看樣子是從PRobe函數的參數中傳進來的,是怎么闖進來的?我注冊i2c_driver之前可沒有指定他哦,怎么確保這個client是正確的client呢?
答:這是一個復雜的過程,見思維導圖: 《i2c從設備mpu6050是怎么注冊進內核的》實驗源碼: https://git.coding.net/xxgui1992/linuxDriver-I2c.git
新聞熱點
疑難解答