日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

高通android开发摘要

發布時間:2025/4/16 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 高通android开发摘要 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一部分是開源的,可以從codeaurora.org上下載,還有一部分是高通產權的,需要從高通的網站上下載。 將高通產權的代碼放到:vendor/qcom/proprietary

1. 設置bms一些參數

@msm-pm8226.dtsi中 
?? ?pm8226_bms: qcom,bms{
?? ??? ?qcom,low-soc-calculate-soc-threshold = <15>; //認為是低電壓的soc(15%)
?? ??? ?qcom,low-soc-calculate-soc-ms = <5000>; //低電壓情況下,計算soc 的時間間隔5s
?? ??? ?qcom,calculate-soc-ms = <20000>; //正常情況下,計算soc 的時間間隔20s
?? ??? ?qcom,v-cutoff-uv = <3400000>;//用于計算soc
?? ??? ?qcom,low-voltage-threshold = <3420000>;//用于設置關機低電壓
?? ?}

?

2.pm8909_bms設備樹節點

位于msm8909-qrd-skue.dtsi文件

?

&pm8909_bms {?
status = "okay";?
qcom,resume-soc = <95>;?
qcom,use-reported-soc;?

qcom,report-charger-eoc;? ?
qcom,force-bms-active-on-charger;?
qcom,battery-data = <&qrd_batterydata>;?
};

紅色部分是PMIC上報的充電事件,采用PMIC充電時采用,采用TI的BQ24296充電時不需要。

?

?

end-of-charge (EOC)

An apparatus and method for accurate end-of-charge (EOC) detection in a battery charger is provided. An EOC circuit determines that a battery has been fully charged when two conditions are met. The first condition for EOC detection is that the battery has reached a predetermined voltage and, as a result, the battery charger has transitioned to a constant voltage phase of the charging process. The second condition for EOC detection is that the battery current has fallen below a predetermined, set level. When both of these conditions are met, EOC is detected. This bi-condition EOC detection scheme is capable of accurate EOC detection, i.e. determining when the battery is fully charged.

?

3.MIPI LCD clock計算

在lk/dev/gcdb/display/gcdb_autopll.c的頻率計算方法中,是通過屏的參數,計算的mipi ?clk頻率

?

static void calculate_bitclock(struct msm_panel_info *pinfo)

?

4.\device\qcom\msm8909\mixer_paths_msm8909_pm8916.xml

?

此文件對應系統的system/etc/mixer_paths_msm8909_pm8916.xml,主要是針對收音機,聽筒,普通耳機,線控耳機和降噪,相關鏈接點擊打開鏈接

?

5.驗證RTC時間校準功能打開的方法:.檢測寄存器值:

adb shell
cd /sys/kernel/debug/spmi/spmi-0
echo 1 > count
echo 0x5A5B > address
cat data

80 ?未打開?D0 打開

?

6.主要的設備樹文件
?

?

7.MSM8909包含的子系統

APPS:Cortex-A7,啟動地址0xFC010000

RPM:Cortex-M3,Resource Power Manager資源功耗管理子系統,啟動地址0x00200000(subsystem vierw),0x0(system view)

Modem:MSS_QDS,調制解調(基帶)處理子系統

Pronto:ARM9TM

?

?

8.TLMM

MSM TLMM pinmux controller,Qualcomm MSM integrates a GPIO and Pin mux/config hardware, (TOP Level Mode?Multiplexer in short TLMM). It controls the input/output settings on the?available pads/pins and also provides ability to multiplex and configure the?output of various on-chip controllers onto these pads. The pins are also of?different types, encapsulating different functions and having differing register?semantics.

?

9.高通一些縮寫

QRD就是高通參考設計(Qualcomm Reference Design)

PBL:APPS PBL(Application Primary Boot Loader),主引導加載程序
RPM:Resource Power Manager,資源電源管理器
RPM(Resource Power Manager)是高通MSM平臺另外加的一塊芯片,雖然與AP芯片打包在一起,但其是一個獨立的ARM Core。之所以加這個東西,就是要控制整個電源相關的shared resources,比如ldo,clock。負責與SMP,MPM交互進入睡眠或者喚醒整個系統。
L2 TCM:Tightly-Coupled Memory,緊耦合內存
Some ARM SoC:s have a so-called TCM (Tightly-Coupled Memory). This is usually just a few (4-64) KiB of RAM inside the ARM processor.?
Due to being embedded inside the CPU The TCM has a Harvard-architecture, so there is an ITCM (instruction TCM) and a DTCM (data TCM). The DTCM can not contain any instructions, but the ITCM can actually contain data.


CDT: Configuration Data Table,包含CDB0: platform info信息和CDB1: DDR配置參數。
TZ:
PIL:Peripheral image loader
MBA:Modem Boot Authenticator,調制解調器引導認證
HLOS:High-level operation system,高級操作系統
Pronto image:


SMEM : shared memory
RPC : remote procedure call
QCSBL ?: qualcomm second bootloader
OEMSBL ?: oem second bootloader
AMSS ? ?: Advanced Mobile Subscriber Software
SDI : System Debug Image
QSEE : ?Qualcomm Secure Execution Environment
TZBSP ?: ?TrustZone BSP
SBL1:Scondary Boot Loader Stage1
MSS:Mobile Subscriber Software移動用戶軟件

?

?

WCD: wafer codec/decodec

WCN: wireless connectivity network

WTR: Wafer Transceiver

RTR: Radio Transceiver

QCA: Qualcomm Atheros

QFE: Qualcomm Front-end

RFFE: Radio Frequency Front-end

HDET: High Power Detector

ASM: Anntena Switch Module

MTP: Modem Test Platform

CDP: Core Development Platform

FFA: Form Factor Accurate

SURF: Subscriber Unit Reference Platform

XPU: Embedded Memory Protected Unit

UniPro: Universal Protocol

FLCB: Fast Low Current Boot

MSM: Mobile Station Modem

APQ: Application Processor Qualcomm

SRLTE:?Simultaneous ?Radio and LTE

?

QSD: Qualcomm Snapdragon

MDM: Mobile Data Modem

MPQ: Media Processor Qualcomm

QSC: Qualcomm Single Chip

PnP: Plug and Play

PBM: Phonebook Manager

FSG: A golden file system

modemst: modem efs partition

EDL:?Emergency Download

mbn: Modem Configuration binary

CV: customer visit

FFBM: fast factory boot mode

?

IPO: instant?power?on

MPM:modem power management

SMD:?Shared Memory Driver

PON:Power ON

Top Level Module Multiplex (TLMM) ?GPIO部分

------------------------------自己增加的

9.1 音頻部分

Low-Power Audio Subsystem (LPASS)、Application Subsystem (APSS) software、Audio Calibration Database (ACDB) and ACDB loader

?

10.kernel/drivers/power/reset/msm-poweroff.c文件下的download_mode控制死機是否重啟還是抓dump

?

節點?/sys/module/msm_poweroff/parameters/download_mode的值控制死機是否自動重啟

0為死機重啟

1為死機抓dump

?

11.抓取kmsg,logcat,event.log,dump一體的測試腳本工具

?

12.msm8909的只有一路CCI(Camera Control Interface) master,對應設備樹qcom,cci-master = <0>,msm8974有2路,大多數情況下只需要一路即可。

?

13.system\core\rootdir\init.rc可修改驅動和應用的權限

?

14.board-id

msm8909-1gb-qrd-skue.dts文件相關內容

qcom,board-id= <0x1000b 0xc>;

b對應于

uint32_t board_hardware_id()
{
return board.platform_hw;
}

?

c對應于

uint32_t board_hardware_subtype(void)
{
return board.platform_subtype;
}

15.\device\qcom\msm8909\BoardConfig.mk記錄了分區信息

?

16.boot_images/core/storage/tools/ptool/

ptool.py ? ? ? ? //分區生成工具 partition =========> rawprogram0.xml

Python ptool.py –x partition.xm

-rawprogram0.xml是高通代碼中帶的,根據partition.xml生成,也就是分區表,高通會給論證的emmc根據經驗值提供一個partition.xml 至于生成unspare格式,是方便QPST下載,python腳本就在NON-HLOS的common下面,搜下split

?

16.是否采用雙mic降噪

build\buildplus\namespace\names.ini文件下ro.qc.sdk.audio.fluencetype=none-----代表不采用雙mic降噪

fluence代表采用高通的fluece進行雙mic降噪

?

17.高通源代碼

高通的android代碼分為兩部分,一部分是開源的,可以從網站下載,需要知道要下載的代碼的分支及build id。另一部分是非開源的,需要從高通的另一個網站上下載,這個下載是有權限限制的,曉光的帳號可以下載代碼。后面這部分代碼需要放到第一部分代碼的vendor指定目錄下,可能是vendor/qcom-proprietary或vendor/qcom/proprietary,根據版本的不同有所區別。
高通平臺相關的東西基本都在vendor/qcom/proprietary下或device/qcom下

比如我們的msm8909平臺

./device/lge/mako/self-extractors/qcom
./device/asus/deb/self-extractors/qcom
./device/qcom
./system/qcom
./vendor/qcom
./vendor/qcom/opensource/fm/qcom
./hardware/qcom
./kernel/arch/arm/boot/dts/qcom
./kernel/arch/arm64/boot/dts/qcom
./kernel/drivers/firmware/qcom
./kernel/drivers/misc/qcom
./kernel/drivers/clk/qcom
./kernel/drivers/power/qcom
./kernel/drivers/soc/qcom
./kernel/include/linux/qcom
./kernel/include/soc/qcom

?

高通的代碼分兩部分:一部分是開源的,可以從codeaurora.org上下載,還有一部分是高通產權的,需要從高通的網站上下載。?
將高通產權的代碼放到:vendor/qcom/proprietary。?
編譯對應的目標:?
sourcebuild/envsetup.sh?lunch msm8974-userdebug?
$ make -j4?
編譯出來的有以下幾個目標文件:?
Boot.img emmc_appsboot.mbn system.img userdata.img

18?device\qcom\msm8909\WCNSS_qcom_wlan_nv.bin:WIFI射頻功率配置

此文件位于system/etc/firmware/wlan目錄下。

此文件在device\qcom\msm8909\msm8909.mk中有用到

?

19.USB默認工作模式

\device\qcom\msm8909\system.prop,修改persist.sys.usb.config=charging即可。

?

20.電池驅動,bms檢測到充電結束,通知battery驅動停止充電

POWER_SUPPLY_PROP_STATUS
This property is set by BMS whenever BMS detects end of charge
condition. Charger driver uses this to stop charging.
當BMS檢測到充電結束的情況,BMS設置此屬性來通知充電器多功能停止充電

21. BMS

Note that the Battery Management (BMS) supply is a special case as there is
a circular notification requirement of the STATUS (battery) and the CAPACITY
(bms) properties.
請注意,BMS是一個需要循環通知電池狀態和容量(bms)屬的特殊實例。

?

主要功能是基于周期性采樣VBAT(vattery voltage)來計算SOC(state of charge)

qcom,report-charger-eoc是BQ

qcom,use-reported-soc是默認。

?

22.rc文件

android通用的rc文件目錄:\system\core\rootdir\init.rc

qcom平臺共用的rc文件目錄:device\qcom\common\rootdir\etc

qcom特定型號處理器的rc文件目錄:比如device\qcom\msm8909

?

23?sensor dtsi對應的意思,比如camera的sensor

kernel/Documentation/devicetree/bindings/media/video/msm-cci.txt有說明

?

24.Serial Communication log can't be printed

Issue the following commands in root/device/qcom/common/rootdir/etc/init.qcom.rc
write /proc/sys/kernel/printk "7 6 1 7" ?

?

25.修改攝像頭預覽角度vendor/qcom/proprietary/mm-camera/mm-camera2/media-controller/modules/sensors/configs/msm8937_camera.xml

<MountAngle>270</MountAngle>

?

26音頻增益db和數值對應關系

比如hardware/qcom/audio/configs/msm8937/mixer_paths_qrd_sku2.xml下相關內容

? ? <ctl name="ADC1 Volume" value="8" />
? ? <ctl name="ADC2 Volume" value="8" />
? ? <ctl name="ADC3 Volume" value="8" />
? ? <ctl name="DEC1 Volume" value="90" />
? ? <ctl name="DEC2 Volume" value="90" />

這些數值和dB對應關系,文檔《80_NV213_1EC_Audio_Tuning_Handbook.pdf》有相關描述

?

?

26.解析前需要確保vimlinux跟ramdump的一致性

$ strings vmlinux |grep "Linux version"
Linux version 3.18.31 (android@ubuntu) (gcc version 4.9 20150123 (prerelease) (GCC) ) #1 SMP PREEMPT Wed Aug 9 23:23:27 CST 2017


$ strings DDRCS0.BIN |grep "Linux version"
Linux version 3.18.31 (android@ubuntu) (gcc version 4.9 20150123 (prerelease) (GCC) ) #1 SMP PREEMPT Wed Aug 9 23:23:27 CST 2017

如果不匹配,無法繼續分析,若確認匹配后就可以執行解析

?

27.攝像頭驅動,Android7.1使用的HAL3對應Qcamera2以及ISPIF_V2

攝像頭在開機的時候會初始化一次,保證攝像頭的mediaserver是正常的,在這個過程中camera會上下電一次,每個攝像頭都會上下電一次

?

28.高通參考設計用I2C4掛載sensor,我們產品沒有sensor,用來掛載nfc,需要把vendor/qcom/proprietary/sensors/dsps/reg_defaults/sensor_def_qcomdev.conf文件相關內容去掉,可以去掉,只剩下面的

另外也要采用對應修改過devcfg.mbn,否則有問題,我遇到的問題是掛載i2c4的時候,在內核階段反復重啟。

?

29. 今天一直一個gpio驅動,在/dev/下看不到設備名,串口信息提示:

?could not find pctldev for node,/soc/xxx_gpio/xxx_gpio_active, deferring probe

后來發現原來是設備樹對應的節點掛載地方錯了。

30. PM8937和PMI8937

PMI是Power Management Integrated的縮寫,PM8937主要負責系統供電和音頻,PMI8937主要是作為充電功能

31. android9.0下sensor_def_qcomdev.conf的替換驗證

?

32. 攝像頭是否走高通內置ISP

如果外置ISP輸出是YUV數據格式,高通代碼識別處理后,就不走內置的ISP處理。

總結

以上是生活随笔為你收集整理的高通android开发摘要的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 男人把女人捅爽 | 一级黄色免费看 | 久久久久www | 色5566| 国产精品亚洲一区二区三区在线观看 | 国产一级黄色av | 91精品日韩 | 一区二区三区四区精品视频 | 日本不卡视频在线播放 | 在线观看黄网站 | 亚洲最大的网站 | 久久午夜夜伦鲁鲁片无码免费 | 午夜剧场福利社 | 国产日批 | 欧美丰满老妇熟乱xxxxyyy | 免费av电影网址 | av直接看 | 在线观看中文字幕 | 天天摸天天操天天射 | 久草网视频在线观看 | 日韩成人免费在线 | 国产精品白丝喷水在线观看 | 香蕉久久一区二区三区 | av性天堂网 | 亚洲激情一区二区 | 亚洲精品国产福利 | 欧美男人的天堂 | 国产三级中文字幕 | 国产尤物视频在线 | 久久亚洲精品中文字幕 | 欧美在线专区 | 国产一区二区三区四区视频 | 日韩中文字幕在线视频 | 成人91在线观看 | 玖操 | 偷拍自拍一区 | 国产精品无码免费在线观看 | 97综合| 中文字幕日产乱码中 | 91av短视频| 激情网络| 欧美性生活一区 | 国产精品传媒麻豆hd | 国产99久久九九精品无码 | 国产a一级片 | www.一起操| 日本黄色美女网站 | 天天色天天综合 | 国产精品久久久久久久久久直播 | 强行挺进白丝老师里呻吟 | 精品成人久久久 | 久久aⅴ国产欧美74aaa | 国产av人人夜夜澡人人爽 | 美女伦理水蜜桃4 | 国产成人一区二区三区小说 | 国产精品99视频 | 久久一区视频 | 欧美另类高清 | 日本福利一区二区三区 | 修女也疯狂3免费观看完整版 | 日韩动漫av | 视频一区在线免费观看 | 一级做a爱片性色毛片 | 欧美精品色 | 精品1卡二卡三卡四卡老狼 日韩三级网 | 久久99久久99精品蜜柚传媒 | 国产黄免费 | 天海翼av在线播放 | 乱亲女h秽乱长久久久 | 国产一区二区三区在线视频观看 | 亚洲欧美日本韩国 | 国产剧情一区在线 | 我要色综合天天 | 麻豆啪啪| 日韩欧美精品免费 | 国产毛片网| 超碰国产人人 | 一区二区三区四区免费观看 | 亚洲最色网站 | 亚洲九九热 | 黄色免费在线看 | 成人国产精品久久久 | 亚洲逼逼 | 日本精品一区视频 | av网站在线观看免费 | 69人妻一区二区三区 | 欧美成人精品一区二区三区 | 麻豆视频网 | 亚洲永久免费av | 国产片网址 | 亚洲午夜久久久 | 日本精品在线播放 | 欧美日韩第一区 | 很黄很污的视频 | 一区二区三区国产av | 成人综合婷婷国产精品久久 | 欧美草逼网 | 国产福利久久 | 日韩免费电影一区 |