a 手機的組成:
Cpu 中央處理器
Memory 儲存空間
Lcm 顯示屏
Touchpanel : 電容屏/ 電阻屏
Headset 耳機
Bluetooth 藍芽
Wifi 一種無線網路
GPS 導航
Mic 麥克
Receive 耳機
Speak 喇叭
Image sensor Camera 網路攝影機
G-sensor 重力感應器
M-sensor 指南針
Keypad 鍵盤
背光IC 螢幕的背光
RF模組 射頻部分
USB 資料介面
FM 收音機
Vibrate 震動馬達
OFN 光電滑鼠
Jagball 軌跡球
ATV 類比電視
DTV 數字電視
Battery 電池
b 軟體人員需要瞭解的一些名詞穩壓電源 : 特指我們手機外接的電源,因為手機開發中可能沒有電池,或者只是板子無法安裝電池的情況下,需要從手機板子上接出正負兩個電源線,串連到電源上。 新同事需要特別注意,使用前,設定好電源的電壓,然後正確串連正負極,讓周圍的同事檢查下再用, 因為手機開機的電壓必須是3.4V~4.2V ,過大了會燒掉板子。還要注意,在板子串連上電源後,不要直接開關電源開關。那樣可能對手機主板有瞬間的衝擊,而燒壞板子。
UBuntu 一種linux 作業系統的發布版本,目前我們就是在這個系統上進行編譯android .
FeaturePhone: 普通非智能手機的統稱
SmartPhone 智能手機,例如我們現在做的android 就屬於這類。
ARM 一種處理器的核心。類似於PC的cpu. ,但是一般不是獨立的,而是整合在各大嵌入式處理器晶片中的。
RAM 隨機存取儲存空間的統稱,儲存單元的內容可按需隨意取出或存入,斷電時資料丟失。
類似於PC的記憶體條。
ROM 唯讀記憶體(Read-Only Memory)的簡稱。寫入的記憶體不可改變。通常我們的代碼統稱為寫入ROM.
SDRAM RAM的一種,同步動態隨機儲存空間,和普通靜態ram 的區別主要是需要同步時鐘訊號的支援 。
DDR RAM RAM的一種,同步動態隨機儲存空間, SDRAM的一種。
NAND flash是一種非易失性的儲存空間,讀寫內容需要驅動的支援,不能直接運行代碼,類
似於我們的PC上的硬碟
NOR flash 是一種非易失性的儲存空間,應用程式可以直接在NOR Flash內運行. 不必再把代碼讀到系統RAM中
MEMORY :以上所有儲存空間的統稱。
MCP: 複合式記憶體(combo memory),將二種以上記憶體晶片通過整合與堆棧設計封裝在同一個封裝。 我們現在mtk android 用的sdram都是和nandflash 一個晶片內的屬於MCP 。
BB : baseband ,基帶晶片,相對於外圍的晶片來說的
AP: 應用處理器,上面運行android系統。
BP: 基帶處理器,上面跑的是手機射頻通訊模組的代碼
MTK android平台AP /BP在一個晶片內部
PMU 電源管理單元,管理整個系統的供電,既有給內部和外部的恒流恒壓源等。
PMIC 電源管理,同常電源管理單元是一個獨立的單元,但可以整合在主晶片內部,MTK
android 平台都是獨立的一個晶片。
RF 射頻。負責發射和接收基站的訊號。
POWER KEY 電源鍵,用來開手機。
PCB 板子上硬體的layout(布局)和走線的圖。
SCH 原理圖。驅動同事需要能看懂。
LCD 液晶顯示器是 Liquid Crystal Display 的簡稱,需要驅動晶片的支援才能工作。
LCM :LCD顯示模組,是指將液晶顯示器件,串連件,控制與驅動等外圍電路,PCB電路板,背光源,結構件等裝配在一起的組件
CHIP :晶片
FPC:柔性電路板,例如液晶顯示器模組和主板之間的連接線。
DOM 我們這裡指的是就是手機上的按鍵金屬彈片。
BOM (Bill of Material)物料清單,生產一個手機需要的所有元件。
UART 通用非同步接收/發送裝置,UART是一個並行輸入成為串列輸出的晶片,我們現在都是整合在晶片內部了,我們一般就簡稱串口。
SD卡 Secure Digital Memory Card 安全數位卡。儲存卡的統稱。
T 卡 =T flash卡也叫 micro SD 封裝比較小手機上常用。
SIM 卡 :(Subscriber Identity Module 客戶識別模組)的縮寫。使用者身份識別卡。
焊盤: 主板上就是焊接元件用的暴露出來的金屬片
測試點 :為了軟體硬體調試方便 預留的焊盤。例如外部接的串口線。
飛線 : 一般板子上是不允許條線,但是由於硬體第一版設計的錯誤,或者有新的外圍晶片需要調實驗證,在新板子回來之前,從板子上按需求通過導線串連的做法叫作飛線調試。
資料線:就是usb 線。
下載線: 就是串口線,我們所用的串口線一端,會有usb 轉串口晶片,所以看上去比較大,但可以直接連在電腦的usb 連接埠上,作為pc的一個虛擬串口。
串口線 =下載線。
板子P1/ P2 ,硬體畫完原理圖,第一次從工廠打樣回來的稱為P1 板(不帶外圍裝置)
P1 調試完成後,硬體根據軟體的反饋,修改相應的錯誤之後發板子,稱為P2,然有時也P1.1,P1.2 ,主要根據硬體的規定命名。
整機: 一般客戶負責外殼等的開模,修模,完成之後,和我們的板子組裝,寄給我們做測的就是整機。回來後我們一般要做一下整機測試。
DataSheet 資料手冊,一般每個晶片都會有相關的軟體硬體相關的說明文檔,
調試驅動的同事可以向晶片廠商索取。
Spec 也就是DataSheet
Log 調試的時候會在代碼裡面加一些資訊從串口或者usb口輸出到電腦上就可
以看到這些資訊,用來跟蹤代碼跑到哪裡了,哪裡出錯,值是多少 。
NVRAM 非易失隨機儲存空間,其實就是使用者對手機的一些設定會儲存到這塊,還有一些系統的校準參數也放這裡。裡面對內容也不會丟失。
KERNEL 核心,特指我們所用的linux 核心。
核心版本 指linux 核心的版本,我們現在的是2.6.3.2
Android版本 google 發布的Android系統版本,目前是2.2.1,後續MTK會升級到2.3
HAL 硬體適配層,會調用kernel 的驅動介面,並為上層提供介面函數。
JNI java native interface , 一般是用c++ 寫的,註冊給java層調用的介面函數。
像素 像素是螢幕或映像上所能顯示的最小單位,也就是顯示的一個點
解析度: 手機的顯示的像素點陣是幾行幾列的,或者拍的照片的像素點陣是幾行幾列
常用簡稱如下 :
QCIF 176*144
QVGA 240*320
HVGA 320*480
QQVGA 128*160
WQVGA 240*400
VGA 640*480
XGA 1024*768
WVGA 480*800
SXGA 1280*1024
UXGA 1600*1200
插值 : 我們這裡指拍攝的照片實際解析度較小,為了實現更大解析度的映像,根據
周圍的像素,按照演算法來插入一些像素的方法。但映像會因此失真。
4G+2G 是指使用的nandflash 4Gbit ,sdram 是2Gbit ( nandflash/,sdram概念見下面)
2G+1G 是指使用的nandflash 2Gbit ,sdram 是1Gbit
Image 就是我們編譯出來的要下載到手機中的二進位檔案。
Call 指通話,撥打到電話。
Factory mode 工廠生產的時候,進行測試的功能表項目,軟體同事需要保證能全面的測試所有硬體相關的功能。目前進入方法是 按住音量下鍵再開機。
Engineer mode 工程模式,是用來供給軟體 /硬體和射頻調試用的一些菜單, 目前通過
*#*#3646633#*#* 進入。
META mode MTK的射頻調試,測試需要使用的工具。
進入方式:pc 上開啟Meta串連手機後啟動手機。
ADB Android Debug Bridge是android sdk裡的一個工具, 用這個工具可以直接操作管理android模擬器或者真實的andriod裝置,我們可以用它來打log 調試kernel以上的代碼, 訪問手機內部檔案系統,安裝軟體 等等。 具體請上網搜尋其強大功能。
DDMS :全稱是Dalvik Debug Monitor Service,它為我們提供例如:為測試裝置截屏,針對特定的進程查看正在啟動並執行線程以及堆資訊、Logcat、廣播狀態資訊、類比撥打電話、接收SMS、虛擬地理座標等等。做android應用的同事可能用的比較多點。
CC : clearcase : 代碼版本整合管理系統- android 部門不用
CQ : (clearquest) : 需求和bug 管理系統- android 部門使用
SVN: (subversion) 版本管理工具 - android 部門使用
IMEI (International Mobile Equipment Identity)是國際行動裝置身份碼的縮寫,國際移動裝備辨識碼,是由15位元字組成的"電子串號",它與每台手機一一對應,而且該碼是全世界唯一的。每一隻手機在組裝完成後都將被賦予一個全球唯一的一組號碼,這個號碼從生產到交付使用都將被製造生產的廠商所記錄。
如果手機沒有寫IMEI,一些功能無法使用,例如無法上網, 通話設定裡無法設定
IMSI:國際移動使用者識別碼(IMSI:International Mobile Subscriber IdentificationNumber)是區別移動使用者的標誌,儲存在SIM卡中,可用於區別移動使用者的有效資訊。
其總長度不超過15位,同樣使用0~9的數字。其中MCC是移動使用者所屬國家代號,佔3位元字,中國的MCC規定為460;MNC是移動網號碼,最多由兩位元字組成,用於識別移動使用者所歸屬的移動通訊網;MSIN是移動使用者識別碼,用以識別某一移動通訊網中的移動使用者。
PIN:個人識別碼 (=personal identification number ),用於保護智慧卡免受誤用的秘密標識代碼
相關的部門及其人員定義
軟測 : 軟體測試人員會更具測試項,逐個測試軟體的功能。
發現bug 後,會提交到bug 管理系統(CQ),相關模組的開發人員需要及時解決
這些問題,不明確的地方要及時和軟測同事溝通。
硬測: 硬體測試人員 會報告一些硬體相關的bug ,
負責驅動的同事要和硬體同事一起判斷是硬體問題還是軟體問題。
負責應用軟體的同事要保證測試項菜單能被正常使用。
結構: 手機結構工程師是根據手機進行主板堆疊、結構器件選型以及產品外觀三
維造型等。與軟體相關的,一般是,聲音響過不好/camera 模組方向錯誤/
這個時候如果軟體參數調試不好久可以找他們。
PM: 負責管理項目協調項目相關的所有人員。並且和客戶溝通。
軟體同事要按照PM的要求評估軟體需求/ 修改軟體/版本外發。
如果需要某些項目相關,調試必要的東西,也是向PM領取。例如客戶要求調試的lcd /camera 都會寄給PM的。另外也可以向PM詢問晶片FAE的聯
系方式,以諮詢相關問題。
採購: 負責採購物料,如果相應的物料缺貨,軟體可能就需要調試新的器件,不過一般
由PM會處理這些。決定是否要軟體調試。
射頻: 負責射頻參數校準調試。
生產: 工廠生產流程負責的同事,通常在工廠生產的時候需要過測試項,如果有問題就需要軟體的同事立刻解決,以免耽誤工廠的生產
FAE:現場應用工程師,一般我們購買了人家的晶片,遇到與此晶片有關的問題,自己無法解決,就可以聯絡FAE過來一起解決,例如最常見的網路攝影機的效果客戶不滿意,就需要FAE一起調試。
第三方人員:對軟體來說主要是負責移植調試一些手機的附加軟體(例如遊戲)的人員
當然FAE也屬於第三方人員。
實驗室: 目前在4樓,一般驅動軟體的同事需要焊接可以去那裡。
需要示波器可以去那裡用
5樓有一個小桌子,用來焊接,所以通常不必去實驗室
屏蔽房:
顧名思義,用來屏蔽外部的基站的網路訊號,裡面有一些儀器用來調試射頻。
裡面還有精密電源,軟體同事如果要測待機電流等,可以去那裡用。
入門相關
1. 瞭解Android的曆史概況
【Android系統原理與開發要點詳解】01_Android系統概述.pdf
2. 手機的使用 :要求新員工必須將整個手機的功能使用一遍。
a. 快速知道菜單位置,每個模組如何使用。
例如背光怎麼設定/ 音量相關的有哪些介面,分別如何設定
b. Android 定義的IDLE/ HOME/MENU/ SEARCH等幾個標準的按鍵的功能。
c. 軟體如何安裝,卸載
d. 版本號碼如何查看。
e. Engineer mode/ META mode / Factory mode/ SD卡升級/如何進入(參考前面說明)
3. 學會使用常用的軟體
a. 下載軟體FlashTool
U:\Tools\MTK_TOOL\AndroidTool 找個最新的安裝。
另外需要裝的驅動為:
U:\Tools\MTK_TOOL\AndroidTool\W1036\Android driver.rar
伺服器上文檔:
S:\Archive\5.Android\SP_ flash tool使用方法--長坤修改.ppt
b 超級終端
電腦上 開始—〉所有程式—〉附件—〉通訊—〉超級終端
開啟後,隨便取個名字—〉選擇手機對應的串口—〉選擇設定分別為
962100 /8 / N / 1/ 無/ 即可
要儲存log 開始的時候要選 發送—〉捕捉文本—〉寫一個檔案名稱。
結束的時候,發送—〉捕捉文本—〉停止 就可以了。
- 代碼提交集/版本管理工具svn /cc
編譯伺服器上,無須安裝。
S:\Archive\5.Android\SVN介紹和簡單用法總結.doc
S:\Archive\5.Android\SVN版本管理
d .RealNVC
我們目前只能在編譯伺服器上開發。
所以要通過自己的本機遠端存取UBuntu 編譯伺服器,我們使用RealNVC。
安裝檔案 U:\Tools\Android\RealVNC.rar
管理員會分配使用者名稱和密碼給新員工。
e: Cuteftppro
本機和UBuntu 編譯伺服器進行分頁檔的ftp 軟體。
S:\Archive\5.Android\軟體工具\CuteFTPPro_8.05
管理員會分配連接埠和密碼給新員工
f. Source Insight3.5
代碼閱讀編輯軟體
U:\Tools\__軟體開發必須安裝的軟體\SourceInsight
g. 代碼比較工具
U:\Tools\__軟體開發必須安裝的軟體\比較工具\BC3
h. Adb /Ddms :
暫時還沒有相關文檔,網上資料比較多,有問題諮詢導師。
S:\Archive\5.Android\軟體工具\android-sdk_r08-windows.zip
另外需要裝的驅動為:
U:\Tools\MTK_TOOL\AndroidTool\W1036\Android driver.rar
i . 內部通訊軟體:同事間發送訊息,類似qq
U:\Tools\飛秋FeiQ.rar
J: CQ 軟體,
測試會把bug 報到這個CQ系統上,軟體人員要及時察看。
培訓文檔:U:\Training\缺陷跟蹤CQ
安裝程式\\ccsrv\CC_CQ_Client_Setup
g: META 工具
MTK的射頻調試,測試需要使用的工具。
U:\Tools\MTK_TOOL\AndroidTool\W1124\Android_software_tools_W1124\
h:Sn Write tools
工廠生產的時候寫IMEI,SN 號 / wifi MAC 位址等的工具。
該操作也是在手機進入META 模式進行的 ,只不過是用的PC軟體不同。
位於U:\Tools\MTK_TOOL\AndroidTool\W1036\Android_Tools_W1036.zip
裡面有具體介紹的文檔。
Sn號 :series number就是手機串號, 相當於人的身份證件號碼是唯一識別碼。
IMEI:見前面描述 。
4. 整合代碼規範
整合要發一個正式的郵件,指明修改的問題,修改的檔案,分支名。
PS :
1. 我們的程式開發伺服器,也就是編譯伺服器上的相關的編譯環境已經預裝好了。所以新來的同事不需要安裝了。
2. 從本地拷貝代碼檔案到編譯伺服器,會變成亂碼,所以請在伺服器上修改代碼。
3. 編譯伺服器上已經有了wine 這個類比windows平台的軟體, 所以也可以安裝
Source Insight來閱讀修改代碼。
五、伺服器上的相關路徑:
S:\Archive\5.Android -- 主要文檔路徑
U:\Tools\Android
U:\DataSheet 晶片資料手冊
S:\Project_BU3 項目的發布的版本伺服器
U:\Tools\ 一些軟體
U:\Tools\MTK_TOOL\AndroidTool :MTK發布的一些工具,請挑最新版本安裝。
\\filesrv\DCC\03.專案檔\08.PM\【採購】外圍關鍵物料歸檔資料
\\filesrv\RD\T3\Android_APK 一些android應用程式
其他MTK android DCC文檔伺服器上暫時無許可權訪問,請嚮導師索取MTK發布的文檔。