高通平台手機開發之Bring up

2021-09-11 09:58:32 字數 1924 閱讀 1390

come from : 

3.2. amss 部分編譯 

主要由以下部分構成: 

adsp, boot, debug, modem, rpm, trustzone, wcnss,分別根據高通的說明編譯這些模組,不過其中有些模組我們不會改,直接用release的binary檔案就行,比如:debug,rpm,trustzone,wcnss。

3.3. 打包成可刷寫檔案 

高通沒有提供乙個完整的製作可刷寫包的工具,我自己寫了乙個。 

核心思想是執行:common/build/update_common_info.py生成non-hlos.bin和把system.img,userdata.img等大包分成小包,以及生成分割槽表。

pack.sh封裝了update_common_info.py,能夠生成乙個完整的可刷寫包。

3.4.2. 刷機過程

刷機完成後,自動重啟。

如果手機不能進入刷機模式,需要和硬體一起檢查是usb的問題,還是別的電路問題。 

3.4.3. fastboot 刷機 

如果手機裡面已經有分割槽表,可以通過fastboot來分別刷入不同的模組:boot.img system.img userdata.img 

fastboot flash boot boot.img 

3.5. 開機測試 

這是最為關鍵的一部,需要根據log來定位問題。 

一般可以通過串列埠和jtag工具來除錯,對於基於linux的智慧型手機來說,一般用串列埠工具來除錯已經足夠了。 

串列埠log能夠打出從sbl1, lk到kernel的log,看看到底問題出在什麼地方? 

下面是需要注意的: 

➢ 修改硬體board_id 

boot_images/core/boot/secboot3/hw/msm8974/boot_cdt_array.c 

uint8 config_data_table[config_data_table_max_size] = 

; ➢ ddr引數 

手機能進如kernel,但是做kernel裡會死,從log上看,bitflip或者相關的問題。在這種情況下,需要修改ddr引數。 

從晶元廠商獲取資料手冊,根據高通的說明來改動,改動後的資料放在 

boot_images/core/boot/secboot3/hw/msm8974/boot_cdt_array.c 

uint8 config_data_table[config_data_table_max_size] = 

➢ 只編譯對應的dts 

高通的**編譯時,把一大堆的dts都生成了,放在一起,這樣對我們的系統開發會造成不利影響。系統啟動時呼叫的dts不是我們所希望的,所以需要改動build系統,只編譯相關dts。 

kernel/androidkernel.mk 

-dts_files = $(wildcard $(top)/kernel/arch/arm/boot/dts/$(dts_name)*.dts) 

+dts_files = $(wildcard $(top)/kernel/arch/arm/boot/dts/$(dts_name)*$(oem_project_name).dts)

kernel/arch/arm/mach-msm/makefile.boot 

+ dtb-$(config_arch_msm8974) += msm8974pro-ac-pm8941-$(oem_project_name).dtb 

➢ adb log 

如果前面的問題都解決了,手機能進入kernel,就可以用adb log了。 

$ adb shell cat /proc/kmsg |tee log.txt 

3.6. 除錯好lcd和tp驅動 

具體的除錯見4.1和4.2。 

lcd,tp功能正常,手機能進入idle介面,能正常使用,usb連線正常。這樣bring-up工作就基本完成了。

高通平台手機開發之Sensor

4.6.sensor 高通文件 1 80 n7635 1 e snapdragon sensors core new sensor driver integration la.pdf 2 80 na157 92 c msm8974 snapdragon sensors core deep dive....

高通平台手機開發之Sensor

come from 4.6.sensor 高通文件 1 80 n7635 1 e snapdragon sensors core new sensor driver integration la.pdf 2 80 na157 92 c msm8974 snapdragon sensors core ...

高通平台LCD開發

lcd除錯主要有三個任務 1.供電 2.背光 3.lcd驅動 vdd 2.8v 給ic內部供電 vddio 1.8v 給gpio供電 mdss dsi0 qcom,mdss dsi mdss dsi0 qcom,mdss dsi ctrl0 1a94000 主要有兩個gpio需要配置,reset和t...