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 开始的时候要选 发送—〉捕捉文本—〉写一个文件名。
结束的时候,发送—〉捕捉文本—〉停止 就可以了。
编译服务器上,无须安装。
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发布的文档。