关闭

关闭

关闭

封号提示

内容

首页 A31s移植说明文档.pdf

A31s移植说明文档.pdf

A31s移植说明文档.pdf

上传者: csy10841054 2013-06-25 评分 0 0 0 0 0 0 暂无简介 简介 举报

简介:本文档为《A31s移植说明文档pdf》,可适用于IT/计算机领域,主题内容包含CopyrightAllwinnerTechnologyAllRightsReservedAsAsAsAs方案移植指导说明VVVVCopyright符等。

CopyrightAllwinnerTechnologyAllRightsReservedAsAsAsAs方案移植指导说明VVVVCopyrightAllwinnerTechnologyAllRightsReservedRevisionRevisionRevisionRevisionHistoryHistoryHistoryHistory版本时间修改人备注V叶茂初始版本V叶茂增加虚拟键控制说明更新gslX驱动移植说明增加log记录控制说明CopyrightAllwinnerTechnologyAllRightsReserved目录文档说明代码下载方案配置准备licheelinuxlicheetoolsandroiddevicesoftwinnerfiberxxx方案的客制化LCD种类说明开机logo替换DPI与layoutLCD的DPI计算Android标准案中的DPI选择方案的DPI设置Layout冲突问题LCD及UI方向KPlayer的播放方向控制gslX系列TP驱动新增及选择未完待续DeclarationCopyrightAllwinnerTechnologyAllRightsReserved文档说明本文档为《AAndroid内容定制说明文档doc》的补充文档A说明文档中所述内容在此文档中不再重复。本文档目的在于给方案移植者提供基本指导以使其能够更快捷的对一个新的方案作出对应的配置并给其调试该方案提供一定的参考。方案移植均已现有的方案为基础因此本文档更多的在于如何从一个基础配置中抽取并修改相关文件以满足所需方案的需求。代码下载客户代码下载请参考SDK的代码下载说明深圳同事请根据各自仓库的xml配置自行决定下载的工程目录此处仅以SDK下载方式提供参考并不代表实际操作行为。方案配置准备方案实现涉及个repo仓库以及个主要工程repo仓库为lichee和android个工程主要涉及licheelinux、licheetools、androiddevicesoftwinnerfiberxxx三个目录。$cdyourworkspace$mkdirlicheeandroid$cdlichee$repoinitussh:usernameusernameusernameusernamegitrepoAmanifestgitmlicheexml$reposync$repostartjbaall$cdyourworkspace$cdandroid$repoinitussh:usernameusernameusernameusernamegitrepoAmanifestgitmexdroidxml$reposync$repostartjbaallchenliang线条CopyrightAllwinnerTechnologyAllRightsReservedlicheelinuxlicheelinuxlicheelinuxlicheelinuxKernel部分一般无须配置但需要根据方案为新增器件增加驱动支持。一般涉及到新增模块为TP、Camera及各种Sensor等其他模块较为固定。个别案涉及到新增LCD差异目前的LCD驱动基本可以支持绝大部分的LCD面板或芯片个别案特殊对待即可。licheetoolslicheetoolslicheetoolslicheetools拷贝一份通用配置如packchipssuniconfigsandroidfiberast到新的方案配置packchipssuniconfigsandroidfiberxxx作为方案脚本配置根据方案原理图修改所有模块的使用状态以及GPIO的配置。androiddevicesoftwinnerfiberxxxandroiddevicesoftwinnerfiberxxxandroiddevicesoftwinnerfiberxxxandroiddevicesoftwinnerfiberxxx进入androiddevicesoftwinner目录从其他方案配置拷贝一份到新的方案配置如androiddevicesoftwinnerfiberast到androiddevicesoftwinnerfiberxxx然后进入fiberxxx修改对应的方案名及配置名。具体实施步骤示例如下(#号后为说明):这样就生成了一个基本的方案配置文件。方案的客制化As主要做竖屏方案UI实现以Nexus为参考即大屏手机UI但不排除个别客户想要使用其他UI样式作为产品表现形态可根据具体需要进行配置。下面章节将围绕实现Nexus大屏UI目标来说明方案实现中需要注意的事项以及操作。$cdandroiddevicesoftwinner$cprffiberastfiberxxx#复制一份基础配置$cdfiberxxx$rmrfgitmoduleskernel#删除原有的gitmodules目录及kernel文件$mvfiberastmkfiberxxxmk#修改makefile文件名$gitinit#创建本目录的git仓库$gitadd*f#添加当前目录的所有文件$findtypef|xargssedi'sASTXXXg'#替换所有文件中的AST字符串$findtypef|xargssedi'sastxxxg'#替换所有文件中的ast字符串$gitdiff#通过git来查看替换字符串后的执行效果$gitaddu#update所有tracked的文件$gitcommitm"initversionforprojectxxx"#第一次提交记录初始版本chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条chenliang矩形chenliang线条CopyrightAllwinnerTechnologyAllRightsReservedLCDLCDLCDLCD种类说明在竖屏方案中所选LCD的方向不同会引发一系列配置问题因此在此特别对LCD种类做一初步说明。LCD根据行输出方向可分为物理横屏和物理竖屏两种如:物理横屏:width>height如xx等物理竖屏:width<height如x,x等以左上角为LCD零点来看通常情况物理横屏和物理竖屏在竖屏方案上的安装表现如下(圆圈为该LCD零点):图物理横屏和物理竖屏的竖屏方案表现不排除客户模具和PCB版做错导致LCD安装方向错误的现象(这种情况在硬件实现阶段必须作为Checklist的重要检查对象能避免则避免以免在软件实现上造成不必要的麻烦)物理横屏和物理竖屏还存在以下几种实现竖屏方式:图错误的物理横屏和物理竖屏的竖屏方案实现开机logologologologo替换开机过程中一共会显示三个logo按照显示的顺序分别对应以下文件:licheetoolspackchipssuniwbootbootfsosshowbootlogobmpandroiddevicesoftwinnerfiberxxxinitlogorleandroiddevicesoftwinnerfiberxxxmediabootanimationzip其中licheetoolspackchipssuniwbootbootfsosshowbootlogobmp可通过licheetoolspackchipssuniconfigsandroidfiberxxxbootlogobmp来实现替换(仅限于chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条CopyrightAllwinnerTechnologyAllRightsReservedAs)。其他两个文件按照各自的要求替换掉对应的文件即可。(注意图片方向和分辨率的选择)DPIDPIDPIDPI与layoutlayoutlayoutlayoutLCDLCDLCDLCD的DPIDPIDPIDPI计算不同的LCD根据其分辨率计算其自身DPI方式如下:如英寸的iPadmini屏的DPI为:DPIx=()==AndroidAndroidAndroidAndroid标准案中的DPIDPIDPIDPI选择原则上Android的应用布局及UI样式可以根据DPI的设置达到各种不同的选择及缩放效果但由于GooglePlay的过滤机制以及部分APP的兼容性问题在Android方案实现上最好能够从、、、四种DPI中选择配置方案。方案的DPIDPIDPIDPI设置不同的DPI设置会决定运行时APP选择什么样的系统资源配置在Android代码资源文件中我们会发现存在大量的类如layout、layoutswdp、layoutswdp以及value、valueswdp和valueswdp的文件夹这些文件夹就存放了不同的dp实现下所对应的资源文件。方案实际DPI的设置需要修改androiddevicesoftwinnerfiberxxxfiberxxxmk文件添加rosflcddensity属性如下行:方案的DP实现计算方法如下:选择资源文件的依据为:当DP<将选择普通的layout、value中的资源文件即dp资源表现为PhoneUI界面当<DP<将选择dp的资源文件表现为大屏手机UI即PhoneTabletUI(NexusUI)当DP>将选择dp的资源文件表现为TabletUI界面DPI=(xy)L其中xy为LCD的宽高L为其对角线长度单位为inchDP=shortsizexdpi其中shortsize为短边像素数dpi为方案设置的设置的dpi值即lcddensityPRODUCTPROPERTYOVERRIDES=rosflcddensity=rosflcddensity=rosflcddensity=rosflcddensity=qemuhwmainkeys=persistsyshdmistate=persistsysusbconfig=massstorage,adbchenliang线条chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条CopyrightAllwinnerTechnologyAllRightsReserved方案配置DPI的原则有两个:LCD实际DPI就近原则所需要选择的资源类型如x的寸LCD的实际DPI计算出来为设置为时其DP为x=这样就可以在运行时选择使用dp的资源文件又如x的寸LCD的实际DPI计算出来为设置为时其DP为x=因此在运行时同样选择使用dp的资源文件如果选择其DP计算出为那么将选择dp的资源文件从而转换为TableUI其效果可自行修改查看。LayoutLayoutLayoutLayout冲突问题选择合适的DPI可以在方案实现上呈现出较为理想的屏幕表现效果但是有时候在个体方案实现时想要使用特定的UI布局就可能产生layout设置冲突问题如在x的屏上实现PhoneTabletUI样式。通常情况下此屏选择设置lcddensity为可以达到较为理想的显示效果即采用Tablet布局资源因为其DP=x=dp应用运行时将会采用dp的资源文件。如果我们想要在产品上表现出dp的布局那么我们有种方法可以采用如下:设置DPI使其DP大于并小于此时DPI选择范围为~选择更大的标准DPI如此时其DP计算出为小于dp那么在此LCD上如果想要实现大屏手机UI便产生了layout冲突。在这两种方法中第一种方法因为其dpi值不是从标准dpi中选择而来从而会造成很多APP的布局适配问题(因为部分APP仅对标准的几种布局进行适配)或者引起兼容性导致的GooglePlay过滤问题第二种方法因Android本身缺乏dp的资源文件那么在方案实现的时候就需要将系统相关的dp的资源文件复制一份并修改其名称为dp在dpi设置下强制使用dp一样的参数值会在应用布局上产生巨大的变化这样就会涉及到各个系统应用资源文件的layout和value的调整问题方案实现难度较大。在目前As的SDK中的fiberast方案中即采用了第二种方法请参考fiberxxxoverlay、frameworkbasecoreresres及packagesappsLauncherres目录下的dp的相关资源。LCDLCDLCDLCD及UIUIUIUI方向在竖屏方案实现中选择不同的物理横屏或者物理竖屏需要对系统的方向进行配置修改androiddevicesoftwinnerfiberxxxfiberxxxmk文件添加rosfhwrotation属性并设置UI扭转的角度如下:PRODUCTPROPERTYOVERRIDES=rosflcddensity=rosfhwrotation=rosfhwrotation=rosfhwrotation=rosfhwrotation=persistsyshdmistate=chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条CopyrightAllwinnerTechnologyAllRightsReservedKKKKPlayerPlayerPlayerPlayer的播放方向控制<xmlversion=""encoding=""><cfgOverrides><cfgOverridename="chipver"value=""><cfgOverridename="athumbenable"value=""><cfgOverridename="coolmodeenable"value=""><cfgOverridename="defaultopenfullscreen"value=""><cfgOverridename="defaultplaymode"value=""><cfgOverridename="hdmivideorestart"value=""><cfgOverridename="hdmicoolmodedisable"value=""><cfgOverridename="dimenpx"value=""><cfgOverridename="orientation"value=""><cfgOverridename="sp"value=""><cfgOverridename="sp"value=""><cfgOverridename="sp"value=""><cfgOverrides>chenliang线条chenliang线条chenliang线条chenliang线条CopyrightAllwinnerTechnologyAllRightsReserved目前K播放器播放视频的时候强制使用横屏方向其具体方向选择可通过配置文件进行设置见androiddevicesoftwinnerfiberxxxcfgfourkplayerxml修改其中的orientation的value即可其中和分别表示不同的两个横屏方向。为了测试方便很多客户要求K播放器默认设置为全部循环此设置在配置项defaultplaymode中可以设置为单曲循环为全部循环。同时由于As的DRAM带宽有限可以对K播放器进行配置进而限制K播放器多窗口播放的窗口数设置以ppp为界分别设置其值即可。gslXgslXgslXgslX系列TPTPTPTP驱动新增及选择由于我们方案中大量使用了gslX系列的TP触控IC原有的仅在一个头文件中增加固件数组以及调用函数并通过名字匹配的方式选择需要下载的固件内容的方式已经不太合适因为新增面板固件会造成gslXh的无限增大数组行数已达数万行并且每次涉及到增加下载函数操作繁琐因此修改实现为每个方案的固件头文件独立存在在gslXc中实现固件数组来管理众多固件媒体添加新的面板支持的时候只需要添加其固件头文件并在driversinputtouchscreengslXc中跟新固件数组即可文件头出了固件数组内容不同形式保持一致以ondamq的TP驱动为例三个文件修改如下:增加driversinputtouchscreengslXondamqh修改driversinputtouchscreengslXc修改licheetoolspackchipssuniconfigsandroidfiberxxxsysconfigfex对应的ctpname的值该值需要与固件数组中的字符串对应#include"gslXh"#include"gslXinetqegh"resolution:*#include"gslXondaqh"resolution:*#include"gslXondamqh"resolution:*structgslXfwarray{constchar*nameunsignedintsizeconststructfwdata*fw}gslxfwgrp={{"gslxinetqeg",ARRAYSIZE(GSLXFWINETQEG),GSLXFWINETQEG},{"gslxondaq",ARRAYSIZE(GSLXFWONDAQ),GSLXFWONDAQ},{"gslxondamq",ARRAYSIZE(GSLXFWONDAMQ),GSLXFWONDAMQ},}chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条CopyrightAllwinnerTechnologyAllRightsReserved虚拟音量键设置原则:没有音量实体键的根据客户需求加入虚拟音量键有实体键的需要吧虚拟键去掉配置文件如下:androiddevicesoftwinnerfiberxxxoverlayframeworksbasepackagesSystemUIresvaluesconfigxml设置下面所述值ture为显示虚拟音量键false为不显示音量键:同时由于各家客户方案的屏幕分辨率以及DPI设置不一样如果显示虚拟按键之后发现导航栏按键偏位则需要调整一下文件的值:overlayframeworksbasepackagesSystemUIreslayoutswxxxdpnavigationbarxml中的layout值主要涉及layoutwidth和padding的设置具体情况需要不断调节并查看实际效果。LogLogLogLog自动记录在调试的过程中为了方便log记录在androiddevicesoftwinnerfiberxxxfiberxxxmk中设置rwproductdebug属性来控制log的自动记录为记录log为不记录log建议客户案中都不记录log而debug需要才打开。<xmlversion=""encoding=""><resources><!VolumeupVolumedownvisibilitycontrol><boolname="configshowvirtualkeys">false<bool><resources>chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条chenliang线条CopyrightAllwinnerTechnologyAllRightsReservedDeclarationDeclarationDeclarationDeclarationThisdocumentistheoriginalworkandcopyrightedpropertyofAllwinnerTechnology(“Allwinner”)ReproductioninwholeorinpartmustobtainthewrittenapprovalofAllwinnerandgiveclearacknowledgementtothecopyrightownerTheinformationfurnishedbyAllwinnerisbelievedtobeaccurateandreliableAllwinnerreservestherighttomakechangesincircuitdesignandorspecificationsatanytimewithoutnoticeAllwinnerdoesnotassumeanyresponsibilityandliabilityforitsuseNorforanyinfringementsofpatentsorotherrightsofthethirdpartieswhichmayresultfromitsuseNolicenseisgrantedbyimplicationorotherwiseunderanypatentorpatentrightsofAllwinnerThisdatasheetneitherstatesnorimplieswarrantyofanykind,includingfitnessforanyparticularapplication文档说明代码下载方案配置准备licheelinuxlicheetoolsandroiddevicesoftwinnerfiberxxx方案的客制化LCD种类说明开机logo替换DPI与layoutLCD的DPI计算Android标准案中的DPI选择方案的DPI设置Layout冲突问题LCD及UI方向KPlayer的播放方向控制gslX系列TP驱动新增及选择虚拟音量键设置Log自动记录Declaration

职业精品

用户评论

0/200
    暂无评论

精彩专题

上传我的资料

热门资料

资料评价:

/12
2下载券 下载 加入VIP, 送下载券

意见
反馈

返回
顶部