如何portingADSP中的sensor

2021-07-26 05:34:38 字數 3183 閱讀 4017

在初略介紹sensor的時候,就有講到sensor的架構,在此繼續將其具體化,來看看高通的sensor架構。

我們可以通過下圖看具體sensor是如何進行運作的。

該圖我們可以非常明顯地看到sensor通過i2c或者是spi將資料發到sensor driver中,drivers通過device driver framework將資料報裝後發給sensor manager,然後通過共享記憶體的方式發給上層。作為乙個bsp,當然我所做的是具體來分析adsp這部分的問題了。

ssc: snapdragon sensors core

qmi: qualcomm messaging inte***ce

idl: inte***ce description language

cts: compatibility test suite

sam: sensors algorithm manager

openssc: ssc vendor ecosystem

ssi: sensor single image

在這裡我提供我手上高通提供的文件,該文件詳細描述了如何進行porting的重要資訊。

下面我將通過這個文件來詳細描述如何進行porting。

宣告驅動程式的入口函式

在fwcode中qcom_firmware\adsp.8953.2.8.2\adsp_proc\sensors\dd\qcom\inc目錄下找到sns_dd.h,新增宣告。

extern sns_ddf_driver_if_s sns_dd_mpu6515_if;
原始碼">向fwcode新增原始碼

在fwcode中qcom_firmware\adsp.8953.2.8.2\adsp_proc\sensors\dd\qcom\src新增廠商給的code。並更新qcom_firmware\adsp.8953.2.8.2\adsp_proc\sensors\dd\qcom\build\dd_qcom.scons

如:在src中新增sns_dd_mpu6515.c、sns_dd_mpu6515_ext.c、 sns_dd_mpu6515_selftest.c,需要在dd_qcom.sconsdd_sources中新增

"$/sns_dd_mpu6515.c",

"$/sns_dd_mpu6515_ext.c",

"$/sns_dd_mpu6515_selftest.c",

同時要配置編譯檔案進行匹配宣告。

qcom_firmware\adsp.8953.2.8.2\adsp_proc\sensors\build\sensors.scons申明config名稱。

生成uuid等待匹配

請在qcom_firmware\adsp.8953.2.8.2\adsp_proc\sensors\common\inc\sns_reg_common.h

#define sns_reg_uuid_mpu6515 \

此時adsp已經基本正常porting完成了。

vender\qcom\proptery\sensors\dsps\reg_defaults中更新sensor_def_qcomdev.conf檔是至關重要的。

在文件中有一張表詳細藐視了config檔的所代表的意思。

此時uuid就要用上了。

2000 1 0x00010001

2001 2 0x00010001

# ssi smgr cfg 0: mpu6881 accel int

2002 0xcc4575757b468168 0x00010001 #uuid

2003 0x8168ae42524820ad 0x00010001 #uuid

2004 10000 0x00010001 #off_to_idle

2005 10000 0x00010001 #idle_to_ready

2006 45 0x00010001 #gpio1

2007 1000 0x00010001 #reg_group_id

2008 0 0x00010001 #cal_grp_id

2009 4 0x00010001 #i2c_bus

2010 0x68 0x00010001 #i2c_address

2011 1 0x00010001 #sens_default

2012 0x80 0x00010001 #flags

adb root

adb remount

adb shell rm /system/etc/sensors/sensor_def_qcomdev.conf

adb push sensor_def_qcomdev.conf /system/etc/sensors/sensor_def_qcomdev.conf

adb shell chmod 644 /system/etc/sensors/sensor_def_qcomdev.conf

adb shell rm /persist/sensor/sns.reg

adb shell sync

adb reboot

如何消除頁面中的

產生原因 模板檔案生成html檔案之後會在body開頭處加入乙個可見的控制符 導致頁面頭部會出現乙個空白行。原因是頁面的編碼是utf 8 bom。這種編碼方式一般會在windows作業系統中出現,比如windows自帶的記事本等軟體,在儲存乙個以utf 8編碼的檔案時,會在檔案開始的地方插入三個不可...

如何釋放hdfs中的續租 裝修中甲醛如何高效釋放

身體是革命的本錢,健康是首位,在當今市場,房子對大家來說不僅僅是安身立命的住所,也是一輩子都必須要奮鬥的。當您拿到新房開開心心入住的時候,必須要面對的乙個問題甲醛是否超標,這個我們都要心中有數,畢竟身體健康才是最重要的。針對大家關注的話題,美佳雲裝管理軟體蒐集了一些如何高效去除甲醛的方法,大家可參考...

c 中如何得到網頁中的URL

得到網頁原始碼 private string gethref return href 得到url private string geturl string href int first href href.indexof href string s1 href.substring first hre...