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://[email protected]/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>



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章