指南針-Memsic3280調試筆錄

來源:互聯網
上載者:User

步驟:
(1)首先,mem3280是i2c裝置,那麼第一步查看晶片SPEC,確定好它的i2c地址(0x30)
(2)確定好地址後,在kernel/arch/arm/mach-vc0882/board-vortex.c檔案中添加i2c裝置資訊:
1212 static struct i2c_board_info i2c_devs1[] = {
1213 #ifdef CONFIG_SENSOR_SSZ0304
1214     { I2C_BOARD_INFO("ssz0304-sensor", 0x55),},
1215 #endif
1216 #ifdef CONFIG_SENSOR_MMC3280
1217     { I2C_BOARD_INFO("mmc3280-sensor", 0x30),},
1218 #endif
……………………………………………………………………
(3)調試驅動使得i2c通,即可以讀取資料。(驅動架構可參考其它i2c裝置)
(4)i2c調通後,準備修改Android的HAL層,發現HAL對Sensors的處理是於input裝置看待。
(5)那麼得對驅動改為input裝置(之前為簡單的misc裝置處理),這個過程也只要參考其它的input裝置即可。
(6)現在得對HAL層處理,原來發現根本沒有對指南針處理,什麼都得自己添加,這個HAL既囉嗦又複雜。
(7)沒辦法,硬著頭皮把HAL對Sensors的處理函數全部梳理一遍,把握整個邏輯。
備忘:其中用到了兩個測試程式:hardware\libhardware\tests\nusensors\nusensors.cpp
frameworks\base\services\sensorservice\tests\sensorservicetest.cpp
很重要的調試經驗就是分析函數,多用LOGE printf列印調試資訊,另外還要細心、耐心。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.