http://www.mangoboard.com/
수정 사항
1. 10.1" LCD 드라이버 포팅
2. 5M, 1.3M , TVP5150 Dual Camera 지원
3. SDMMC, eMMC 부팅 kernel Configuration 추가
4. 이더넷 속도 개선 (SMSC9220) upload:40Mbps, download:70Mbps
5. 카메라 shutt음 촬영 후 나도록 수정
6. Touch AF 추가 (5M)
7. 5M 카메라 센서값 변경
8. 갤러리 앱 2개 표시되는 문제 수정
9. 중국어 키보드 추가
10. default UI Tablet 설정
Source Download:
How-to
## Mango220 build and boot
# Environment
http://cafe.naver.com/embeddedcrazyboys/22475
#Compile
[ u-boot compile ]
./build_uboot clean
./build_uboot config
./build_uboot
[ kernel compile ]
---------SD/MMC Kernel Config ---------------
#sdmmc boot and 10.1inch cap touch 1280x800 , 5M CAM
./build_kernel clean
./build_kernel defconfig mango220_android_sdmmc_10_1inch_1280_800_mt9p111_5M_CAM_dual_defconfig
./build_kernel
#sdmmc boot and 7inch cap touch 1024x600 , 5M CAM
./build_kernel clean
[CAM_A]
./build_kernel defconfig mango220_android_sdmmc_7inch_1024_600_mt9p111_5M_CAM_A_defconfig
[CAM_B]
./build_kernel defconfig mango220_android_sdmmc_7inch_1024_600_mt9p111_5M_CAM_B_defconfig
./build_kernel
#sdmmc boot and 7inch cap touch 1024x600 , TVP5150
./build_kernel clean
[CAM_A]
./build_kernel defconfig mango220_android_sdmmc_7inch_1024_600_tvp5150_CAM_A_defconfig
[CAM_B]
./build_kernel defconfig mango220_android_sdmmc_7inch_1024_600_tvp5150_CAM_B_defconfig
./build_kernel
#sdmmc boot and 7inch cap touch 1024x600 , SR130PC10 1.3M
./build_kernel clean
[CAM_A]
./build_kernel defconfig mango220_android_sdmmc_7inch_1024_600_sr130pc10_1_3M_CAM_A_defconfig
[CAM_B]
./build_kernel defconfig mango220_android_sdmmc_7inch_1024_600_sr130pc10_1_3M_CAM_B_defconfig
./build_kernel
----------eMMC Kernel Config ----------------------------
#eMMC boot and 10.1inch cap touch 1280x800 , 5M CAM
./build_kernel clean
./build_kernel defconfig mango220_android_emmc_10_1inch_1280_800_mt9p111_5M_CAM_dual_defconfig
./build_kernel
#eMMC boot and 7inch cap touch 1024x600 , 5M CAM
./build_kernel clean
[CAM_A]
./build_kernel defconfig mango220_android_emmc_7inch_1024_600_mt9p111_5M_CAM_A_defconfig
[CAM_B]
./build_kernel defconfig mango220_android_emmc_7inch_1024_600_mt9p111_5M_CAM_B_defconfig
./build_kernel
#eMMC boot and 7inch cap touch 1024x600 , TVP5150
./build_kernel clean
[CAM_A]
./build_kernel defconfig mango220_android_emmc_7inch_1024_600_tvp5150_CAM_A_defconfig
[CAM_B]
./build_kernel defconfig mango220_android_emmc_7inch_1024_600_tvp5150_CAM_B_defconfig
./build_kernel
#eMMC boot and 7inch cap touch 1024x600 , SR130PC10 1.3M
./build_kernel clean
[CAM_A]
./build_kernel defconfig mango220_android_emmc_7inch_1024_600_SR130PC10_1_3M_CAM_A_defconfig
[CAM_B]
./build_kernel defconfig mango220_android_emmc_7inch_1024_600_SR130PC10_1_3M_CAM_B_defconfig
./build_kernel
[ android compile ]
tar xf android-ics4.0.4-xxx.tgz
[SDMMC boot ]
$ cd android-jb411
$ vi device/crazyboys/mango220/BoardConfig.mk
BOARD_USES_EMMC := false
#BOARD_USES_EMMC := true
수정 후 컴파일
[EMMC boot ]
$ cd android-jb411
$ vi device/crazyboys/mango220/BoardConfig.mk
#BOARD_USES_EMMC := false
BOARD_USES_EMMC := true
수정 후 컴파일
How to compile
./build_android.sh
#SD Boot 최초 한번
SD card를 linux pc에 삽입
#df
명령으로 디바이스 확인
# cd image
#How To Fusing
$ dmesg | tail
[12403.632015] usb 2-5: new high-speed USB device number 25 using ehci_hcd
[12403.856263] hub 2-0:1.0: unable to enumerate USB device on port 5
[12483.752014] usb 2-5: new high-speed USB device number 26 using ehci_hcd
[12483.976252] hub 2-0:1.0: unable to enumerate USB device on port 5
[12513.801490] sd 9:0:0:0: [sdd] 15644672 512-byte logical blocks: (8.01 GB/7.45 GiB)
[12513.802983] sd 9:0:0:0: [sdd] No Caching mode page present
[12513.802986] sd 9:0:0:0: [sdd] Assuming drive cache: write through
[12513.807109] sd 9:0:0:0: [sdd] No Caching mode page present
[12513.807113] sd 9:0:0:0: [sdd] Assuming drive cache: write through
[12513.808249] sdd: sdd1 sdd2 sdd3 sdd4
#image
[SDMMC image Write]
$ cp sdmmc-image/* .
$ cp zImage-sdmmc-xxx zImage
sudo ./sdwriter sdd 220 bin
#Boot mode
SD CH2 : Off[1], ON, Off, Off, Off, Off[6]
eMMC CH4: Off[1], Off, On, Off, On, Off[6]
[Linux host pc ubuntu 12.0.4 ]
[icanjji@icanjji-pc image]$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 003: ID 05e3:0716 Genesys Logic, Inc. USB 2.0 Multislot Card Reader/Writer
Bus 002 Device 005: ID 18d1:0002 Google Inc.
Mango220 <-> usb otg <-> Linux PC 연결 후
"lsusb" 명령으로 드라이버 인식을 확인 합니다.
[SD/MMC and eMMC fusing command ]
## 8GB
fdisk -c 0 500 1000 300
fatformat mmc 0:1
fastboot
## Host PC
sudo ./fastboot flash fwbl1 E4412_S.bl1.SMDK.MR3.bin
sudo ./fastboot flash bl2 E4412_S.bl2.SMDK.MR3.bin.signed
sudo ./fastboot flash bootloader u-boot.bin
sudo ./fastboot flash tzsw E4412_S.tzsw.SMDK.MR3.bin.signed
sudo ./fastboot flash kernel zImage
sudo ./fastboot flash ramdisk ramdisk-uboot.img
sudo ./fastboot -w
sudo ./fastboot flash system system.img
sudo ./fastboot flash kernel zImage;sudo ./fastboot flash ramdisk ramdisk-uboot.img;sudo ./fastboot -w;sudo ./fastboot flash system system.img
[env]
setenv bootcmd "movi read kernel 0 40008000;movi read rootfs 0 41000000 100000;bootm 40008000 41000000"
## Window PC only
드라이버 설치 image 디렉토리 )
adb_usb_driver 디렉토리
mango220-how-to-adb-driver.pdf
[eMMC only start ]
Boot switch : 3, 5 ON
SD/MMC card insert
## u-boot
emmc partition 0 1 0
mmc erase boot 0 0 0; mmc erase user 0 0 0
[eMMC only end ]
[SD/MMC and eMMC fusing command ]
## 8GB
fdisk -c 0 500 1000 300
fatformat mmc 0:1
fastboot
image 디렉토리에서 dos command 실행
## Host PC
fastboot flash fwbl1 E4412_S.bl1.SMDK.MR3.bin
fastboot flash bl2 E4412_S.bl2.SMDK.MR3.bin.signed
fastboot flash bootloader u-boot.bin
fastboot flash tzsw E4412_S.tzsw.SMDK.MR3.bin.signed
fastboot flash kernel zImage
fastboot flash ramdisk ramdisk-uboot.img
fastboot -w
fastboot flash system system.img
# u-boot ethernet
eth1addr 변수를 꼭 지정하고 해야합니다.
ex) setenv eth1addr 00:40:5c:26:0a:5c
인터페이스는 다음과 같이 선택합니다.
0번 포트 선택: setenv ethact smc911x-0
## fusing via tftp
[ u-boot ip ]
setenv ipaddr 192.168.3.20; setenv serverip 192.168.3.9; setenv gatewayip 192.168.3.1; setenv netmask 255.255.255.0
[ bootloader fusing ]
==> set boot mode to eMMC CH0
tftp 41000000 E4412_S.bl1.SMDK.MR3.bin; emmc open 0; movi write zero fwbl1 0 41000000; emmc close 0
tftp 41000000 E4412_S.bl2.SMDK.MR3.bin.signed; emmc open 0; movi write zero bl2 0 41000000; emmc close 0
tftp 41000000 u-boot.bin; emmc open 0; movi write zero u-boot 0 41000000; emmc close 0
tftp 42000000 E4412_S.tzsw.SMDK.MR3.bin.signed; emmc open 0; movi write zero tzsw 0 42000000; emmc close 0
[ Kernel fusing ]
tftp 41000000 zImage; movi write kernel 0 41000000
[tftp boot]
setenv bootcmd "tftp 40008000 zImage ;movi read rootfs 0 41000000 100000;bootm 40008000 41000000"
[ SD Env ]
setenv bootcmd "movi read kernel 0 40008000;movi read rootfs 0 41000000 100000;bootm 40008000 41000000"