android
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| android [2009/10/01 05:56] – suapapa | android [2013/08/03 05:04] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== cross compile tool ====== | ====== cross compile tool ====== | ||
| + | ===== armv4t-eabi ===== | ||
| + | *[[http:// | ||
| + | *[[http:// | ||
| + | *[[http:// | ||
| + | |||
| ===== Sourcery G++ lite 설치 ===== | ===== Sourcery G++ lite 설치 ===== | ||
| *[[http:// | *[[http:// | ||
| Line 43: | Line 48: | ||
| *c++filt - Demangle encoded C++ symbols (on MS-DOS, this program is named cxxfilt) | *c++filt - Demangle encoded C++ symbols (on MS-DOS, this program is named cxxfilt) | ||
| *addr2line - Convert addresses into le names and line numbers | *addr2line - Convert addresses into le names and line numbers | ||
| - | + | 컴파일시 define 되었나 알아보기 | |
| - | ====== uboot ====== | + | <code txt> |
| - | | + | < |
| - | | + | < |
| + | </code> | ||
| ====== target boards ====== | ====== target boards ====== | ||
| Line 53: | Line 59: | ||
| * 32MN Flash Memory | * 32MN Flash Memory | ||
| * 200MHz Online Processor | * 200MHz Online Processor | ||
| - | ===== 기타 판매중인 보드들 ===== | ||
| - | *[[http:// | ||
| - | * ARMv5 S3C2440 LCD포함 40만원 미만 | ||
| - | * ARMv6 S3C6410 LCD포함 100만원 미만 | ||
| ===== rebis ===== | ===== rebis ===== | ||
| Line 68: | Line 70: | ||
| *[[http:// | *[[http:// | ||
| *ARM9TDMI integer core, (ARM architecture v4T) | *ARM9TDMI integer core, (ARM architecture v4T) | ||
| + | |||
| + | ===== 기타 판매중인 보드들 ===== | ||
| + | *[[http:// | ||
| + | * ARMv5 S3C2440 LCD포함 40만원 미만 | ||
| + | * ARMv6 S3C6410 LCD포함 100만원 미만 | ||
| + | |||
| + | ====== uboot ====== | ||
| + | 기존 u-boot는 gcc version 4.3.3 (Sourcery G++ Lite 2009q1-161) 에서 컴파일 에러. 아래 패치를 적용하여 코드 수정 | ||
| + | <code bash> | ||
| + | $ tar xvzf mds-u-boot.tar.gz | ||
| + | ... | ||
| + | $ cd mds-u-boot-rebis | ||
| + | $ patch -p1 < ../ | ||
| + | patching file Makefile | ||
| + | patching file common/ | ||
| + | patching file cpu/ | ||
| + | patching file net/net.c | ||
| + | patching file net/tftp.c | ||
| + | </ | ||
| + | nand 부팅 빌드 | ||
| + | <code bash> | ||
| + | $ make distclean | ||
| + | ... | ||
| + | $ make clean | ||
| + | ... | ||
| + | $ make rebis_atm322a_config | ||
| + | ... | ||
| + | $ CROSS_COMPILE=arm-none-eabi- make | ||
| + | ... | ||
| + | </ | ||
| + | 빌드 결과물 확인 | ||
| + | <code bash> | ||
| + | $ ls u-boot* | ||
| + | u-boot | ||
| + | $ file u-boot | ||
| + | u-boot: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, not stripped | ||
| + | $ arm-none-eabi-readelf -h u-boot |grep Flags | ||
| + | Flags: | ||
| + | </ | ||
| + | tftp로 커널바이너리와 ramdisk 밀어넣기 | ||
| + | <code bash> | ||
| + | REBIS# set ethaddr 12: | ||
| + | REBIS# set serverip 192.168.1.1 Host IP address | ||
| + | REBIS# set ipaddr 192.168.1.2 Target IP address | ||
| + | REBIS# t 30800000 ramdisk-8.gz ramdisk download | ||
| + | REBIS# t 32000000 zImage kernel download | ||
| + | REBIS# go 32000000 start | ||
| + | REBIS# nandw 0 200000 32000000 kernel Fusing | ||
| + | REBIS# nandw 100 340000 30800000 ramdisk Fusing | ||
| + | REBIS# set bootcmd nandr 0 200000 32000000\; nandr 100 340000 30800000\;g 32000000 | ||
| + | </ | ||
| + | |||
| + | *[[http:// | ||
| + | *[[http:// | ||
| + | *[[http:// | ||
| + | |||
| + | ====== kernel ====== | ||
| + | make uImage ARCH=arm CROSS_COMPILE=... | ||
| + | ===== trouble shooting ===== | ||
| + | SEGMENT_SIZE 디파인 되어있지 않다고 에러 뿜을때 | ||
| + | <code bash> | ||
| + | // NOSTDINC_FLAGS에 -Dlinux 추가... | ||
| + | NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include) -Dlinux | ||
| + | CHECKFLAGS | ||
| + | </ | ||
| + | |||
| + | ====== T32 cmm ====== | ||
| + | <code bash> | ||
| + | $ find ./ -name *.cmm | ||
| + | ./ | ||
| + | ./ | ||
| + | ./ | ||
| + | ./ | ||
| + | ./ | ||
| + | ./ | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| ====== references ====== | ====== references ====== | ||
| *[[http:// | *[[http:// | ||
| - | *[[http:// | ||
| *[[http:// | *[[http:// | ||
| *[[http:// | *[[http:// | ||
| Line 83: | Line 163: | ||
| *[[http:// | *[[http:// | ||
| *[[http:// | *[[http:// | ||
| + | |||
| + | ====== 소스 다운로드 ====== | ||
| + | 소스저장소 | ||
| + | *[[http:// | ||
| + | *[[http:// | ||
| + | 플랫폼 다운로드 | ||
| + | <code bash> | ||
| + | mkdir mydroid | ||
| + | cd mydroid | ||
| + | repo init -u git:// | ||
| + | repo sync | ||
| + | </ | ||
| + | |||
| + | ====== tricks ====== | ||
| + | *[[http:// | ||
android.1254376585.txt.gz · Last modified: 2013/08/03 05:04 (external edit)