欢迎光临!1kic网专注于为电子元器件行业提供免费及更实惠的芯片ic交易网站。
Android MSD6A801源代码的功能修改方法
来源:互联网 | 作者:中华IC网整理 | 发表于:2014-01-02
andorid 系统 MSD6A801源代码的相关功能修改方法
首先  替换   Supernova\projects\customerinfo\inc\Customer_Info.h
        替换   内核中linux/drivers/mmc/core/mmc.c文件

1. keypad 
      (1).如How to customize Keypad.docx说明改android\ics\device\mstar\mstaramber3\Keypad.h文件
      (2). 公板没有back键,要加一个back 键.要改android\ics\device\mstar\mstaramber3\Vendor_3697_Product_0002.kl文件加一个back键.
          这个可以参考Vendor_3697_Product_0001.k文件
      (3).文件中为修改好的两个文件,替换就可以

2.panpel
    (1). 修改panpel的POL极性:
          在\MBoot\sboot\inc\amber3\board\BD_MST029B_10AFX_A3.h中
          #define PANEL_SWAP_LVDS_POL    1               //cesar change
     (2). 替换Supernova\projects\board\INI\panel\FullHD_CMO216_H1L01.ini文件
     (3). 修改ui的分辨密度,
          文件android\ics\device\mstar\mstaramber3\device.mk
           PRODUCT_PROPERTY_OVERRIDES += \
           ro.sf.lcd_density=240 -->改为160
     (4). 修改android界面中的TV画中画大小和位置
           改android\ics\device\mstar\common\app\MLauncher\res\values-1280x720\dimens.xml中的videoWindowType变量
     这里替换改好的文件就可以

3.touch driver
     触摸实现代码:
     (1).将代码eGTouch_supplicant 放在ics/external中
     (2).复制eGalaxTouch_VirtualDevice.idc文件和eGTouchA.ini文件到\android\ics\device\mstar\mstaramber3 中.
     (3).修改android\ics\device\mstar\mstaramber3\full_mstaramber3.mk : (也可以在device.mk文件中改)
          # Keypad
          PRODUCT_PACKAGES := \
          virtualkeypad
          eGTouchD

          # Device idc/keylayout
          PRODUCT_COPY_FILES += \
          device/mstar/mstaramber3/Vendor_3697_Product_0001.kl:system/usr/keylayout/Vendor_3697_Product_0001.kl \
          device/mstar/mstaramber3/Vendor_3697_Product_0002.kl:system/usr/keylayout/Vendor_3697_Product_0002.kl \
device/mstar/mstaramber3/Vendor_3697_Product_0003.idc:system/usr/idc/Vendor_3697_Product_0003.idc \
device/mstar/mstaramber3/Vendor_3697_Product_0003.kl:system/usr/keylayout/Vendor_3697_Product_0003.kl \
device/mstar/mstaramber3/eGalaxTouch_VirtualDevice.idc:system/usr/keylayout/eGalaxTouch_VirtualDevice.idc \
device/mstar/mstaramber3/eGTouchA.ini:data/eGTouchA.ini

4. 在android\ics\device\mstar\mstaramber3\init.amber3.rc 中加

          service eGTouchD /system/bin/eGTouchD
          class main
          user root
          group root
          oneshot

5. 修改kernel 如eGTouch_android_guide文档说明

6.URAT
      1. 6A801的UART 在MSrv_UartDebug.cpp (projects\msrv\common\src)中有一个测试程序.MSrv_UartDebug.cpp是调的supernova\mstarsdk\src\uart中的接口.

7.UART2的测试:
     (1). 在Mboot中打开UART2功能:在MBoot\sboot\inc\amber3\board\BD_MST029B_10AFVA_A3.h中打开PADS_UART3_MODE
#define PADS_UART3_MODE             PAD_I2S_IN_WS

     (2). 在MSrv_UartDebug.cpp  void MSrv_UartDebug::CusUartDebug_Start(void)函数中修改如下:
     /* change by cesar */
        //uartDebug->SwitchUart(EN_UART_PORT0,EN_UART_PIU_UART1);
        uartDebug->SwitchUart(EN_UART_PORT2,EN_UART_PIU_UART1);

     (3). 在Main.cpp (projects\tvos\main)函数中创建UART 测试代码.这里替换文件就可以.
     (4). 修改之后就可以测试UART2.用USB转串口工具接在UART2口上(NFC接的那个口).打开串口终端就可以测试到.输入的小写字母转成大写字母.说明UART2收发OK.

8. andorid 系统启动顺序问题
    另: android启动后不进入TV界面,改为进launcher请修改ics\device\mstar\common\app\MLauncher\src\com\android\mslaunche\LauncherActivity.java里的onResume函数.把启动mstar.tvsetting.ui.RootActivity的地方注释掉就好了。
分享到:

1kic网-首个免费IC网-电子元器件ic交易网-芯片集成电路代理商供应商查询