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:57] – 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 되었나 알아보기 | ||
+ | <code txt> | ||
+ | < | ||
+ | < | ||
+ | </ | ||
====== target boards ====== | ====== target boards ====== | ||
Line 67: | Line 77: | ||
====== uboot ====== | ====== 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:// | *[[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 84: | Line 163: | ||
*[[http:// | *[[http:// | ||
*[[http:// | *[[http:// | ||
+ | |||
+ | ====== 소스 다운로드 ====== | ||
+ | 소스저장소 | ||
+ | *[[http:// | ||
+ | *[[http:// | ||
+ | 플랫폼 다운로드 | ||
+ | <code bash> | ||
+ | mkdir mydroid | ||
+ | cd mydroid | ||
+ | repo init -u git:// | ||
+ | repo sync | ||
+ | </ | ||
+ | |||
+ | ====== tricks ====== | ||
+ | *[[http:// |
android.1254376640.txt.gz · Last modified: 2013/08/03 05:04 (external edit)