AML8726调试记录

一:源代码下载:

1:Installing Repo

# mkdir ~/bin
# PATH=~/bin:$PATH
# curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
# chmod a+x ~/bin/repo
有可能出现如下错误

amp-server@ampserver:~$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current    Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:04:00 --:--:--     0curl: (7) Failed to connect to 2404:6800:4005:c00::88: Network is unreachable

下面为两种解决办法,任何一种都可以

1. # curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" >~/bin/repo

2.  打开 gedit /etc/hosts
添加如下内容:
74.125.237.1   dl-ssl.google.com


1:生成public key

#ssh-keygen -t rsa

#cd ~/.ssh

#cat id_rsa.pub

2.下载code

repo init -u ssh://git@openlinux.amlogic.com/jellybean/platform/manifest.git -b jb-mr1-amlogic
repo init -m openlinux_tablet_jb-mr1-amlogic_20130630.xml
repo sync


二:调试记录

1:android本身的机制,调节volume时不会去控制声卡上的寄存器,而是通过软件算法将volume调大或者调小。声卡控制的音频输出有好几路,每一路都有volgain控制着音量大小。

#cat /sys/class/sound/card0/device/RT5631/codec_reg察看寄存器值

# tinymix 15 20 → Speaker Playback Volume设置为20

# tinymix 18 20 → HP Playback Volume设置为20


root@android:/# tinymix

Numberof controls: 82
ctl type num name value
0 ENUM 1 MIC1Mode Control Differential
1 INT 1 MIC1Boost 3
2 ENUM 1 MIC2Mode Control Differential
3 INT 1 MIC2Boost 3
4 ENUM 1 MONOINMode Control Differential
5 INT 2 MONOIN_RXCapture Volume 23 23
6 INT 2 AXICapture Volume 23 23
7 INT 2 PCMRecord Volume 255 255
8 BOOL 2 PCMRecord Switch On On
9 INT 2 PCMPlayback Volume 255 255
10 BOOL 2 PCMPlayback Switch On On
11 BOOL 1 AXO1Playback Switch On
12 BOOL 1 AXO2Playback Switch On
13 BOOL 2 OUTVOLChannel Switch On On
14 BOOL 2 SpeakerPlayback Switch On On
15 INT 2 SpeakerPlayback Volume 20 20
16 BOOL 1 MONOPlayback Switch Off
17 BOOL 2 HPPlayback Switch On On
18 INT 2 HPPlayback Volume 31 31
19 BOOL 1 DMICSwitch Off
20 BOOL 2 DMICCapture Switch Off Off
21 ENUM 1 SPKRatio Control 1.44x
22 BOOL 1 CallMode Switch Off
23 ENUM 1 HPRMux Right HPVOL
24 ENUM 1 HPLMux Left HPVOL
25 ENUM 1 MONOMux MONOMIX
26 ENUM 1 SPORMux SPORMIX
27 ENUM 1 SPOLMux SPOLMIX
28 BOOL 1 AXO2MIXMixer MIC1_BST1 Playback Switch Off
29 BOOL 1 AXO2MIXMixer MIC2_BST2 Playback Switch Off
30 BOOL 1 AXO2MIXMixer OUTVOLL Playback Switch Off
31 BOOL 1 AXO2MIXMixer OUTVOLR Playback Switch Off
32 BOOL 1 SPORMIXMixer SPKVOLL Playback Switch Off
33 BOOL 1 SPORMIXMixer SPKVOLR Playback Switch On
34 BOOL 1 MONOMIXMixer OUTVOLL Playback Switch Off
35 BOOL 1 MONOMIXMixer OUTVOLR Playback Switch Off
36 BOOL 1 SPOLMIXMixer SPKVOLL Playback Switch On
37 BOOL 1 SPOLMIXMixer SPKVOLR Playback Switch Off
38 BOOL 1 AXO1MIXMixer MIC1_BST1 Playback Switch Off
39 BOOL 1 AXO1MIXMixer MIC2_BST2 Playback Switch Off
40 BOOL 1 AXO1MIXMixer OUTVOLL Playback Switch On
41 BOOL 1 AXO1MIXMixer OUTVOLR Playback Switch Off
42 ENUM 1 RightSPKVOL Mux SPKMIXR
43 ENUM 1 RightHPVOL Mux OUTMIXR
44 ENUM 1 RightOUTVOL Mux OUTMIXR
45 ENUM 1 LeftOUTVOL Mux OUTMIXL
46 ENUM 1 LeftHPVOL Mux OUTMIXL
47 ENUM 1 LeftSPKVOL Mux SPKMIXL
48 BOOL 1 SPKMIXRMixer OUTMIXR Playback Switch Off
49 BOOL 1 SPKMIXRMixer DACR Playback Switch On
50 BOOL 1 SPKMIXRMixer MIC2_P Playback Switch Off
51 BOOL 1 SPKMIXRMixer RECMIXR Playback Switch Off
52 BOOL 1 OUTMIXRMixer VDAC Playback Switch Off
53 BOOL 1 OUTMIXRMixer AXIRVOL Playback Switch Off
54 BOOL 1 OUTMIXRMixer AXILVOL Playback Switch Off
55 BOOL 1 OUTMIXRMixer MONOIN_RXN Playback Switch Off
56 BOOL 1 OUTMIXRMixer MIC2_BST2 Playback Switch Off
57 BOOL 1 OUTMIXRMixer MIC1_BST1 Playback Switch Off
58 BOOL 1 OUTMIXRMixer DACR Playback Switch On
59 BOOL 1 OUTMIXRMixer RECMIXR Playback Switch Off
60 BOOL 1 OUTMIXRMixer RECMIXL Playback Switch Off
61 BOOL 1 OUTMIXLMixer RECMIXL Playback Switch Off
62 BOOL 1 OUTMIXLMixer RECMIXR Playback Switch Off
63 BOOL 1 OUTMIXLMixer DACL Playback Switch On
64 BOOL 1 OUTMIXLMixer MIC1_BST1 Playback Switch Off
65 BOOL 1 OUTMIXLMixer MIC2_BST2 Playback Switch Off
66 BOOL 1 OUTMIXLMixer MONOIN_RXP Playback Switch Off
67 BOOL 1 OUTMIXLMixer AXILVOL Playback Switch Off
68 BOOL 1 OUTMIXLMixer AXIRVOL Playback Switch Off
69 BOOL 1 OUTMIXLMixer VDAC Playback Switch Off
70 BOOL 1 SPKMIXLMixer RECMIXL Playback Switch Off
71 BOOL 1 SPKMIXLMixer MIC1_P Playback Switch Off
72 BOOL 1 SPKMIXLMixer DACL Playback Switch On
73 BOOL 1 SPKMIXLMixer OUTMIXL Playback Switch Off
74 BOOL 1 RECMIXRMixer MONOIN_RX Capture Switch On
75 BOOL 1 RECMIXRMixer AXIRVOL Capture Switch Off
76 BOOL 1 RECMIXRMixer MIC2_BST2 Capture Switch On
77 BOOL 1 RECMIXRMixer OUTMIXR Capture Switch Off
78 BOOL 1 RECMIXLMixer OUTMIXL Capture Switch Off
79 BOOL 1 RECMIXLMixer MIC1_BST1 Capture Switch On
80 BOOL 1 RECMIXLMixer AXILVOL Capture Switch Off
81 BOOL 1 RECMIXLMixer MONOIN_RX Capture Switch On

B:调试kernel、root;进入uboot命令行

 m6_asd_ad7# mmcinfo;fatload mmc 0:1 0x82000000 boot.img;bootm

2:打开流量使用情况功能

diff--git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 75035d2..c877ba0 100755
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -420,6 +420,7 @@ public class Settings extends PreferenceActivity
                 } catch (RemoteException e) {
                     // ignored
                 }
+                target.remove(header);
             } else if (id == R.id.account_settings) {
                 int headerIndex = i + 1;
                 i = insertAccountsHeaders(target, headerIndex);
3:打开3G Dongle

\device\amlogic\MID30801\overlay\frameworks\base\core\res\res\values\config.xml 

   <string-array translatable="false" name="networkAttributes">
        <item>"wifi,1,1,1,-1,true"</item>
        <item>"mobile,0,0,0,-1,true"</item>
<!--
 
\device\amlogic\MID30801\init.rc   把注释去掉
#service ril-daemon /system/bin/rild -l /system/lib/libaml-ril.so
#    class main
#    socket rild stream 660 radio radio
#    socket rild-debug stream 660 radio system
 #   user radio
#    group radio cache inet misc audio sdcard_rw log
#    disabled
 
#service pppd_gprs /system/bin/init-pppd.sh
#    user root
#    group radio net_admin cache inet misc
#    disabled
#    oneshot
 
#on property:hw.nophone=true
#    stop ril-daemon
 
#on property:hw.nophone=false
#    start ril-daemon
 
#on property:ril.startpppd=true
#start pppd_gprs
#on property:ril.startpppd=false
#stop ril-daemon
 
\device\amlogic\MID30801\system.prop 
hw.nophone=false 
hw.nodatausage=false
4:uboot单独烧录
mmcinfo;fatload mmc 0:1 82000000 u-boot.bin;nand rom_write 82000000 0 60000

5:按power键,不显示充电符号

将启动参数

charging_or_not=if ac_online; then run prepare; run charging; else if getkey; then run prepare; bmp display ${poweron_offset}; run bootcmd; else run power_off; fi; fi

改为

 charging_or_not=if getkey; then run prepare; bmp display ${poweron_offset}; run bootcmd; else if ac_online; then run prepare; run charging; else run power_off; fi; fi 

6:背光调节

# echo 100 > /sys/class/backlight/aml-bl/brightness

7:AXP202

查看寄存器0x30的值,打开权限


# echo 30 > /sys/devices/i2c-2/2-0034/axp20_reg

# cat /sys/devices/i2c-2/2-0034/axp20_reg

寄存器0x30写入0x63将usb供电不限流

# echo 3063 > /sys/devices/i2c-2/2-0034/axp20_reg

8:生成uImage_usb_burning用于USB烧录

cd bootable/recovery/ && mm -B && cd -

# cp out/target/product/g24ref/system/bin/recovery out/target/product/g24ref/recovery/root/sbin/

# make otapackage -j24

# ./device/amlogic/g24ref/quick_build_kernel.sh recoveryimage meson6_g24_usb_burning_defconfig

执行后生成out/target/product/g24ref/recovery.img,改名为uImage_usb_burning

9:开机logo修改

 1)uboot启动画面

图片要求:16bit BMP格式,直接改成下面文件就好

device/amlogic/g24ref/res_pack/poweron

device/amlogic/g24ref/res_pack/bootup

2)android启动画面

frameworks/base/core/res/assets/images/android-logo-mask.png

frameworks/base/core/res/assets/images/android-logo-shine.png



只要替换掉上面的图标即可

如果图片名字修改了,修改代码


3)initlogo.rle的制作

用图片工具编辑好想要的png之后,保存为logo.png
# convert -depth 8 logo.png rgb:logo.raw
# (SRC_HOME)/out/host/linux-x86/bin/rgb2565 -rle <logo.raw >initlogo.rle

4)bootanimation.zip的制作

# zip -r -X -Z store ../bootanimation part*/*.png desc.txt


10:打开/system权限

用mount命令查看分区情况

shell@android:/ $ mount
rootfs / rootfs rw 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,size=413096k,nr_inodes=75476,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600,ptmxmode=000 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
none /proc/bus/usb usbfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/secure tmpfs rw,relatime,size=413096k,nr_inodes=75476,mode=700 0 0
tmpfs /mnt/asec tmpfs rw,relatime,size=413096k,nr_inodes=75476,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,size=413096k,nr_inodes=75476,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
tmpfs /storage/external_storage tmpfs rw,relatime,size=413096k,nr_inodes=75476,mode=775,gid=1000 0 0
/dev/block/system /system ext4 rw,relatime,user_xattr,acl,barrier=1,data=ordered,noauto_da_alloc 0 0
/dev/block/data /data ext4 rw,nosuid,nodev,noatime,nodiratime,user_xattr,acl,barrier=1,data=ordered,noauto_da_alloc 0 0
/dev/block/cache /cache ext4 rw,nosuid,nodev,noatime,nodiratime,user_xattr,acl,barrier=1,data=ordered,noauto_da_alloc 0 0
/dev/fuse /mnt/shell/emulated fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0

# mount -o remount /dev/block/system /system

11:分辨率修改

其中要修改的文件有如下6个文件:

uboot/customer/board/configs/m6_chinach_v1.h

uboot/customer/include/panel/CH7026.h

common/customer/include/panel/CH7026.h

common/customer/configs/meson6_g24_jbmr1_defconfig

device/amlogic/g24ref/set_display_mode.sh

common/customer/boards/board-m6g24.h

1)uboot/customer/board/configs/m6_chinach_v1.h

2)uboot/customer/include/panel/CH7026.h


3)common/customer/include/panel/CH7026.h


4) common/customer/configs/meson6_g24_jbmr1_defconfig


5) device/amlogic/g24ref/set_display_mode.sh


6) common/customer/boards/board-m6g24.h


12:关闭kernel打印信息

# echo 0 > /proc/sys/kernel/printk

13:ADC keypad

cat /sys/class/saradc/saradc_ch4

14:编译自己的bin文件到system

如果Androidmk文件不加入LOCAL_MODULE_TAGS := eng,编译时报如下错误。想要让编译器默认把data_integrity_guard编译到系统里面,就必须在user_tags.mk加上如下提示的dig


build/core/base_rules.mk:79: *** Module name: dig
build/core/base_rules.mk:80: *** Makefile location: system/core/data_integrity_guard
build/core/base_rules.mk:81: * 
build/core/base_rules.mk:82: * Each module must use a LOCAL_MODULE_TAGS in its
build/core/base_rules.mk:83: * Android.mk. Possible tags declared by a module:
build/core/base_rules.mk:84: * 
build/core/base_rules.mk:85: *     optional, debug, eng, tests, samples
build/core/base_rules.mk:86: * 
build/core/base_rules.mk:87: * If the module is expected to be in all builds
build/core/base_rules.mk:88: * of a product, then it should use the
build/core/base_rules.mk:89: * "optional" tag: 
build/core/base_rules.mk:90: * 
build/core/base_rules.mk:91: *    Add "LOCAL_MODULE_TAGS := optional" in the
build/core/base_rules.mk:92: *    Android.mk for the affected module, and add
build/core/base_rules.mk:93: *    the LOCAL_MODULE value for that component
build/core/base_rules.mk:94: *    into the PRODUCT_PACKAGES section of product
build/core/base_rules.mk:95: *    makefile(s) where it's necessary, if
build/core/base_rules.mk:96: *    appropriate.
build/core/base_rules.mk:97: * 
build/core/base_rules.mk:98: * If the component should be in EVERY build of ALL
build/core/base_rules.mk:99: * products, then add its LOCAL_MODULE value to the
build/core/base_rules.mk:100: * PRODUCT_PACKAGES section of
build/core/base_rules.mk:101: * build/target/product/core.mk
build/core/base_rules.mk:102: * 
build/core/base_rules.mk:103: *** user tag detected on new module - user tags are only supported on legacy modules.  Stop.

15:打开adb调试模式

# setprop sys.usb.config adb

16:android4.2.2+rtl8723bs

1) Wifi调试

wifi调试比较容易,根据realtek给的文档就能够轻松的调通,这里就不详细讲解了。要强调一点的就是,如果编译出来的ko文件很大,Makefile文件加上:

EXTRA_LDFLAGS += --strip-debug

2) BT调试

这里我不得不想fuck TMD,怎么形容amlogic都不过分,连UART驱动都做不好,搞出来异类。

realtek给出来的code一般都是比较通用,所以根据他们的文档移植不会有太大的问题。因为amlogic的问题,导致我用了3天才调通,他们家的UART没有用到奇偶检验,所以BT无法正常使用,下面是有问题的波形。


hal层怎么设置uart参数都没任何反应,uart驱动修改如下:


从新编译烧录,量出波形,一切正常


17:recovery[SetLocale]

  aml8726-mx平台一般升级时会解析factory_update_param.aml文件

  --wipe_cache
  --wipe_data
  --wipe_media

  --locale=en_US  语言提示来设置为英文

  --locale=zh_CN  语言提示来设置为中文

  --update_package=/sdcard/update.zip

 18:contrast、brightness、saturation调节

 # echo 0 > /sys/class/video/contrast
 # echo 25 > /sys/class/video/brightness
 # echo 120 > /sys/class/video/saturation

19:默认输入法

# vi frameworks/base/packages/SettingsProvider/res/values/defaults.xml

修改如下

-    <string name="config_defaultIME">com.android.inputmethod.latin/.LatinIME</string>
+   <string name="config_defaultIME">com.android.inputmethod.pinyin/.PinyinIME</string>



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值