AML8726调试记录

来源:互联网 发布:1936奥运会知乎 编辑:程序博客网 时间:2024/05/16 16:07

一:源代码下载:

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: 82ctl type num name value0 ENUM 1 MIC1Mode Control Differential1 INT 1 MIC1Boost 32 ENUM 1 MIC2Mode Control Differential3 INT 1 MIC2Boost 34 ENUM 1 MONOINMode Control Differential5 INT 2 MONOIN_RXCapture Volume 23 236 INT 2 AXICapture Volume 23 237 INT 2 PCMRecord Volume 255 2558 BOOL 2 PCMRecord Switch On On9 INT 2 PCMPlayback Volume 255 25510 BOOL 2 PCMPlayback Switch On On11 BOOL 1 AXO1Playback Switch On12 BOOL 1 AXO2Playback Switch On13 BOOL 2 OUTVOLChannel Switch On On14 BOOL 2 SpeakerPlayback Switch On On15 INT 2 SpeakerPlayback Volume 20 2016 BOOL 1 MONOPlayback Switch Off17 BOOL 2 HPPlayback Switch On On18 INT 2 HPPlayback Volume 31 3119 BOOL 1 DMICSwitch Off20 BOOL 2 DMICCapture Switch Off Off21 ENUM 1 SPKRatio Control 1.44x22 BOOL 1 CallMode Switch Off23 ENUM 1 HPRMux Right HPVOL24 ENUM 1 HPLMux Left HPVOL25 ENUM 1 MONOMux MONOMIX26 ENUM 1 SPORMux SPORMIX27 ENUM 1 SPOLMux SPOLMIX28 BOOL 1 AXO2MIXMixer MIC1_BST1 Playback Switch Off29 BOOL 1 AXO2MIXMixer MIC2_BST2 Playback Switch Off30 BOOL 1 AXO2MIXMixer OUTVOLL Playback Switch Off31 BOOL 1 AXO2MIXMixer OUTVOLR Playback Switch Off32 BOOL 1 SPORMIXMixer SPKVOLL Playback Switch Off33 BOOL 1 SPORMIXMixer SPKVOLR Playback Switch On34 BOOL 1 MONOMIXMixer OUTVOLL Playback Switch Off35 BOOL 1 MONOMIXMixer OUTVOLR Playback Switch Off36 BOOL 1 SPOLMIXMixer SPKVOLL Playback Switch On37 BOOL 1 SPOLMIXMixer SPKVOLR Playback Switch Off38 BOOL 1 AXO1MIXMixer MIC1_BST1 Playback Switch Off39 BOOL 1 AXO1MIXMixer MIC2_BST2 Playback Switch Off40 BOOL 1 AXO1MIXMixer OUTVOLL Playback Switch On41 BOOL 1 AXO1MIXMixer OUTVOLR Playback Switch Off42 ENUM 1 RightSPKVOL Mux SPKMIXR43 ENUM 1 RightHPVOL Mux OUTMIXR44 ENUM 1 RightOUTVOL Mux OUTMIXR45 ENUM 1 LeftOUTVOL Mux OUTMIXL46 ENUM 1 LeftHPVOL Mux OUTMIXL47 ENUM 1 LeftSPKVOL Mux SPKMIXL48 BOOL 1 SPKMIXRMixer OUTMIXR Playback Switch Off49 BOOL 1 SPKMIXRMixer DACR Playback Switch On50 BOOL 1 SPKMIXRMixer MIC2_P Playback Switch Off51 BOOL 1 SPKMIXRMixer RECMIXR Playback Switch Off52 BOOL 1 OUTMIXRMixer VDAC Playback Switch Off53 BOOL 1 OUTMIXRMixer AXIRVOL Playback Switch Off54 BOOL 1 OUTMIXRMixer AXILVOL Playback Switch Off55 BOOL 1 OUTMIXRMixer MONOIN_RXN Playback Switch Off56 BOOL 1 OUTMIXRMixer MIC2_BST2 Playback Switch Off57 BOOL 1 OUTMIXRMixer MIC1_BST1 Playback Switch Off58 BOOL 1 OUTMIXRMixer DACR Playback Switch On59 BOOL 1 OUTMIXRMixer RECMIXR Playback Switch Off60 BOOL 1 OUTMIXRMixer RECMIXL Playback Switch Off61 BOOL 1 OUTMIXLMixer RECMIXL Playback Switch Off62 BOOL 1 OUTMIXLMixer RECMIXR Playback Switch Off63 BOOL 1 OUTMIXLMixer DACL Playback Switch On64 BOOL 1 OUTMIXLMixer MIC1_BST1 Playback Switch Off65 BOOL 1 OUTMIXLMixer MIC2_BST2 Playback Switch Off66 BOOL 1 OUTMIXLMixer MONOIN_RXP Playback Switch Off67 BOOL 1 OUTMIXLMixer AXILVOL Playback Switch Off68 BOOL 1 OUTMIXLMixer AXIRVOL Playback Switch Off69 BOOL 1 OUTMIXLMixer VDAC Playback Switch Off70 BOOL 1 SPKMIXLMixer RECMIXL Playback Switch Off71 BOOL 1 SPKMIXLMixer MIC1_P Playback Switch Off72 BOOL 1 SPKMIXLMixer DACL Playback Switch On73 BOOL 1 SPKMIXLMixer OUTMIXL Playback Switch Off74 BOOL 1 RECMIXRMixer MONOIN_RX Capture Switch On75 BOOL 1 RECMIXRMixer AXIRVOL Capture Switch Off76 BOOL 1 RECMIXRMixer MIC2_BST2 Capture Switch On77 BOOL 1 RECMIXRMixer OUTMIXR Capture Switch Off78 BOOL 1 RECMIXLMixer OUTMIXL Capture Switch Off79 BOOL 1 RECMIXLMixer MIC1_BST1 Capture Switch On80 BOOL 1 RECMIXLMixer AXILVOL Capture Switch Off81 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.javaindex 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:/ $ mountrootfs / rootfs rw 0 0tmpfs /dev tmpfs rw,nosuid,relatime,size=413096k,nr_inodes=75476,mode=755 0 0devpts /dev/pts devpts rw,relatime,mode=600,ptmxmode=000 0 0proc /proc proc rw,relatime 0 0sysfs /sys sysfs rw,relatime 0 0debugfs /sys/kernel/debug debugfs rw,relatime 0 0none /proc/bus/usb usbfs rw,relatime 0 0none /acct cgroup rw,relatime,cpuacct 0 0tmpfs /mnt/secure tmpfs rw,relatime,size=413096k,nr_inodes=75476,mode=700 0 0tmpfs /mnt/asec tmpfs rw,relatime,size=413096k,nr_inodes=75476,mode=755,gid=1000 0 0tmpfs /mnt/obb tmpfs rw,relatime,size=413096k,nr_inodes=75476,mode=755,gid=1000 0 0none /dev/cpuctl cgroup rw,relatime,cpu 0 0tmpfs /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: digbuild/core/base_rules.mk:80: *** Makefile location: system/core/data_integrity_guardbuild/core/base_rules.mk:81: * build/core/base_rules.mk:82: * Each module must use a LOCAL_MODULE_TAGS in itsbuild/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, samplesbuild/core/base_rules.mk:86: * build/core/base_rules.mk:87: * If the module is expected to be in all buildsbuild/core/base_rules.mk:88: * of a product, then it should use thebuild/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 thebuild/core/base_rules.mk:92: *    Android.mk for the affected module, and addbuild/core/base_rules.mk:93: *    the LOCAL_MODULE value for that componentbuild/core/base_rules.mk:94: *    into the PRODUCT_PACKAGES section of productbuild/core/base_rules.mk:95: *    makefile(s) where it's necessary, ifbuild/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 ALLbuild/core/base_rules.mk:99: * products, then add its LOCAL_MODULE value to thebuild/core/base_rules.mk:100: * PRODUCT_PACKAGES section ofbuild/core/base_rules.mk:101: * build/target/product/core.mkbuild/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>



原创粉丝点击