高通平台Bring up

2021-10-06 13:59:37 字數 1990 閱讀 9157

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工作就基本完成了。

高通平台手機開發之Bring up

come from 3.2.amss 部分編譯 主要由以下部分構成 adsp,boot,debug,modem,rpm,trustzone,wcnss,分別根據高通的說明編譯這些模組,不過其中有些模組我們不會改,直接用release的binary檔案就行,比如 debug,rpm,trustzone...

高通平台mipi panel kernel讀包方法

熟悉高通平台mipi panel kernel讀包方法,我想我們可以是的同一客戶要是使用2塊mipi panel的話我想我們可以通過讀取id來下不同序列而不用更換boot.img,還有能否讀id可以說明mipi通訊是否正常。還有我們只需在lk下面讀一次id再對全域性變數賦值通過lk傳遞到kernel...

高通平台 USB OTG功能

1 什麼是otg?usb otg 是usbon the go 的縮寫,即 otg技術就是實現在沒有 host 的情況下,實現裝置間的資料傳送。2 硬體介面 5根線 usb hs id usb hs d p usb hs d m usb vbus in gnd3 otg線 otg通訊的乙個關鍵是如何判...