도와주세요!!
글 수 15,339
2008.12.29 09:11:32 (*.125.30.43)
10482
따라한 포팅 과정 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
포팅과정
Termcap 포팅
mplayer 설치시 Arm용 termcap 라이브러리가 필요하다.http://www.naverc.om/
termcap 을 받아오자.
#wget http://www-ftp.lip6.fr/pub/linux/GCC/termcap-2.0.8.tar.gz
설치과정
#tar zxvf termcap-2.0.8.tar.gz
압축 푼 디렉토리에 들어가 Makefile를 수정
CC=gcc를 CC=armv5l-linux-gcc(자신의 크로스 컴파일러)로 수정
CFLAGS=-O -I. -g를 #CFLAGS=-O -I. -g 로 주석처리한다.
AR=ar를 AR=armv5l-linux-ar로 수정
prefix = / 를 prefix = /usr/local/arm/termcap(arm용 termcap을 설치할 디렉토리)으로 수정
tparam.c 의 28 번째 라인에서
#define bcopy(s, d, n) memcpy ((d), (s), (n))
을 주석 처리한다.
// #define bcopy(s, d, n) memcpy((d), (s), (n))
termcap.texi 화일의 2615 라인에서
but in that regard it is obsolete (@xref{Cursor Motion}).
문장에서 "(" ")" 를 없애준다.
but in that regard it is obsolete @xref{Cursor Motion}.
컴파일 한다.
#make
그냥 make install 하면 directory 관련 다음과 같은 에러가 뜰 것이다.
chown: cannot access `/usr/local/arm/termcap/lib/libtermcap.so.2.0.8': Not a directory
make: *** [install] Error 1
또는
chown: cannot access `/usr/local/arm/termcap/include/termcap.h': Not a directory
직접 디렉토리를 만들어 주자.
#mkdir -p /usr/local/arm/termcap/lib
#mkdir /usr/local/arm/termcap/include
인스톨 한다.
#make install
다음과 같은 명령으로 정확히 설치되었는지를 확인한다.
#ls -al /usr/local/arm/termcap/lib/
-rw-r--r-- 1 bin bin 12680 Nov 26 16:35 libtermcap.a
lrwxrwxrwx 1 bin bin 38 Nov 261 6:35 libtermcap.so->libtermcap.so.2.0.8
-rwxr-xr-x 1 bin bin 15097 Nov 26 16:35 libtermcap.so.2.0.8
libmad 포팅
libmad는 interger연산을 위해 필요한 라이브러리로 Arm용으로 Mplayer를 포팅하면 floating 연산때문에 동영상재생이 원할치 않다.
libmad 를 enable 시켜서 컴파일 하면 현저하게 좋아짐을 느낄수 있다.
libmad를 구해오자.
#wget ftp://ftp.mars.org/pub/mpeg/libmad-0.15.1b.tar.gz
설치과정
#tar zxvf libmad-0.15.1b.tar.gz
#cd libmad-0.15.1b
#./configure --prefix=/usr/local/arm/libmad --enable-fpm=arm --host=armv5l-linux
--prefix로 libmad를 설치할 디렉토리를 지정해주고 --host 옵션에 크로스컴파일러의 선행문자를 적어준다.
#make
#make install
MPlayer 포팅
http://www.mplayerhq.hu
Mplayer 홈페이지에서 소스(MPlayer-1.0pre7try2.tar.bz2)랑 코덱(all-20050412.tar.bz2)을 받아온다.
코덱은 /usr/local/lib/codecs에 설치한다.
#tar jxvf all-20050412.tar.bz2
#mv all-20050412 /usr/local/lib/codecs
이제 Mplayer 설치로 들어가 보자.
#tar jxvf Mplayer-1.0pre7try2.tar.bz2
#cd Mplayer-1.0pre7try2
#./configure --cc=armv5l-linux-gcc --target=arm-linux --enable-static
--prefix=/usr/local/arm/mplayer --disable-win32 --disable-dvdread
--enable-fbdev --disable-mencoder --disable-mpdvdkit --disable-x11
--disable-sdl --enable-mad --with-madlibdir=/usr/local/arm-linux/lib
make 하기전 소스 파일들을 조금 손 보아야 한다.
Arm용 codec-cfg에 문제가 있어서 x86 용 gcc로 변경한다.
#vi Makefile
280번 라인 수정
$(HOST_CC) $(HOST_CFLAGS) -I. -g codec-cfg.c ..................를
gcc $(HOST_CFLAGS) -I. -g codec-cfg.c ..................으로 고친다.
Arm용으로 컴파일한 mad나 termcap라이브러리를 참조할 수 있게한다.
#vi config.mak
111번 라인 수정
TERMCAP_LIB=-Itermcap -L/usr/local/arm/termcap/lib으로 수정
155번 라인 수정
MAD_LIB=-Imad -L/usr/local/arm/libmad/lib 으로 수정
역시 mad관련 헤드파일의 경로를 올바르게 지정해준다.
#vi libmpcodecs/ad_libmad.c
23번 라인 수정
#include<mad.h> 을
#include "/usr/local/arm/libmad/include/mad.h"로 수정한다.
#make
여기서 에러-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ENTRANT -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o armv4l/jrevdct_arm.o armv4l/jrevdct_arm.S
armv4l/jrevdct_arm.S: Assembler messages:
armv4l/jrevdct_arm.S:59: Error: no such instruction: `stmdb sp!,{r4 - r12,lr}@all callee saved regs'
armv4l/jrevdct_arm.S:61: Error: too many memory references for `sub'
armv4l/jrevdct_arm.S:62: Error: invalid char '[' beginning operand 2 `[ sp]@save the DCT pointer to the stack'
armv4l/jrevdct_arm.S:64: Error: invalid character '=' in operand 2
armv4l/jrevdct_arm.S:65: Error: expecting operand after ','; got nothing
armv4l/jrevdct_arm.S:66: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:68: Error: no such instruction: `ldrsh r0,[lr,'
armv4l/jrevdct_arm.S:69: Error: no such instruction: `ldrsh r1,[lr,'
armv4l/jrevdct_arm.S:71: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:72: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:73: Error: no such instruction: `ldr r5,[lr,'
armv4l/jrevdct_arm.S:74: Error: no such instruction: `ldr r2,[lr,'
armv4l/jrevdct_arm.S:75: Error: no such instruction: `ldr r3,[lr,'
armv4l/jrevdct_arm.S:76: Error: no such instruction: `ldr r4,[lr,'
armv4l/jrevdct_arm.S:77: Error: no such instruction: `orr r3,r3,r4'
armv4l/jrevdct_arm.S:78: Error: no such instruction: `orr r3,r3,r2'
armv4l/jrevdct_arm.S:79: Error: no such instruction: `orrs r5,r3,r5'
armv4l/jrevdct_arm.S:80: Error: no such instruction: `beq end_of_row_loop@nothing to be done as ALL of them are 48'
armv4l/jrevdct_arm.S:81: Error: no such instruction: `orrs r2,r3,r1'
armv4l/jrevdct_arm.S:82: Error: no such instruction: `beq empty_row'
armv4l/jrevdct_arm.S:84: Error: no such instruction: `ldrsh r2,[lr,'
armv4l/jrevdct_arm.S:85: Error: no such instruction: `ldrsh r4,[lr,'
armv4l/jrevdct_arm.S:86: Error: no such instruction: `ldrsh r6,[lr,'
armv4l/jrevdct_arm.S:88: Error: no such instruction: `ldr r3,[r11,'
armv4l/jrevdct_arm.S:89: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:90: Error: no such instruction: `ldr r5,[r11,'
armv4l/jrevdct_arm.S:91: Error: too many memory references for `mul'
armv4l/jrevdct_arm.S:92: Error: no such instruction: `ldr r3,[r11,'
armv4l/jrevdct_arm.S:93: Error: no such instruction: `mla r6,r5,r6,r7@r6=tmp2'
armv4l/jrevdct_arm.S:94: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:95: Error: no such instruction: `mla r2,r3,r2,r7@r2=tmp3'
armv4l/jrevdct_arm.S:96: Error: too many memory references for `sub'
armv4l/jrevdct_arm.S:98: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:99: Error: no such instruction: `rsb r2,r2,r5,lsl'
armv4l/jrevdct_arm.S:100: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:101: Error: no such instruction: `rsb r3,r6,r3,lsl'
armv4l/jrevdct_arm.S:103: Error: no such instruction: `stmdb sp!,{r0,r2,r3,r4}@save on the stack tmp10,tmp13,tmp12,tmp11'
armv4l/jrevdct_arm.S:105: Error: no such instruction: `ldrsh r3,[lr,'
armv4l/jrevdct_arm.S:106: Error: no such instruction: `ldrsh r5,[lr,'
armv4l/jrevdct_arm.S:107: Error: no such instruction: `ldrsh r7,[lr,'
armv4l/jrevdct_arm.S:109: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:110: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:111: Error: no such instruction: `ldr r10,[r11,'
armv4l/jrevdct_arm.S:112: Error: too many memory references for `mul'
armv4l/jrevdct_arm.S:113: Error: too many memory references for `mul'
armv4l/jrevdct_arm.S:114: Error: too many memory references for `mul'
armv4l/jrevdct_arm.S:115: Error: no such instruction: `mla r4,r10,r4,r8@r4=122310ldr r10,[r11,'
armv4l/jrevdct_arm.S:116: Error: no such instruction: `mla r6,r9,r6,r8@r6=122410ldr r9,[r11,'
armv4l/jrevdct_arm.S:117: Error: no such instruction: `mla r7,r10,r7,r2@r7=tmp0+z1'
armv4l/jrevdct_arm.S:118: Error: no such instruction: `ldr r10,[r11,'
armv4l/jrevdct_arm.S:119: Error: no such instruction: `mla r5,r9,r5,r0@r5=tmp1+z2'
armv4l/jrevdct_arm.S:120: Error: no such instruction: `ldr r9,[r11,'
armv4l/jrevdct_arm.S:121: Error: no such instruction: `mla r3,r10,r3,r0@r3=tmp2+z2'
armv4l/jrevdct_arm.S:122: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:123: Error: no such instruction: `mla r1,r9,r1,r2@r1=tmp3+z1'
armv4l/jrevdct_arm.S:124: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:125: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:126: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:128: Error: no such instruction: `ldmia sp!,{r0,r2,r4,r6}@r0=tmp10/r2=tmp13/r4=tmp12/r6=tmp11'
armv4l/jrevdct_arm.S:129: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:131: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:132: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:133: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:134: Error: too many memory references for `mov'
armv4l/jrevdct_arm.S:135: Error: no such instruction: `strh r8,[lr,'
armv4l/jrevdct_arm.S:137: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:138: Error: too many memory references for `sub'
armv4l/jrevdct_arm.S:139: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:140: Error: too many memory references for `mov'
armv4l/jrevdct_arm.S:141: Error: no such instruction: `strh r8,[lr,'
armv4l/jrevdct_arm.S:143: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:144: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:145: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:146: Error: too many memory references for `mov'
armv4l/jrevdct_arm.S:147: Error: no such instruction: `strh r8,[lr,'
armv4l/jrevdct_arm.S:149: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:150: Error: too many memory references for `sub'
armv4l/jrevdct_arm.S:151: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:152: Error: too many memory references for `mov'
armv4l/jrevdct_arm.S:153: Error: no such instruction: `strh r8,[lr,'
armv4l/jrevdct_arm.S:155: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:156: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:157: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:158: Error: too many memory references for `mov'
armv4l/jrevdct_arm.S:159: Error: no such instruction: `strh r8,[lr,'
armv4l/jrevdct_arm.S:161: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:162: Error: too many memory references for `sub'
armv4l/jrevdct_arm.S:163: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:164: Error: too many memory references for `mov'
armv4l/jrevdct_arm.S:165: Error: no such instruction: `strh r8,[lr,'
armv4l/jrevdct_arm.S:167: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:168: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:169: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:170: Error: too many memory references for `mov'
armv4l/jrevdct_arm.S:171: Error: no such instruction: `strh r8,[lr,'
armv4l/jrevdct_arm.S:173: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:174: Error: too many memory references for `sub'
armv4l/jrevdct_arm.S:175: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:176: Error: too many memory references for `mov'
armv4l/jrevdct_arm.S:177: Error: no such instruction: `strh r8,[lr,'
armv4l/jrevdct_arm.S:179: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:180: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:181: Error: too many memory references for `sub'
armv4l/jrevdct_arm.S:182: Error: no such instruction: `bne row_loop'
armv4l/jrevdct_arm.S:183: Error: no such instruction: `beq start_column_loop'
armv4l/jrevdct_arm.S:186: Error: no such instruction: `ldr r1,[r11,'
armv4l/jrevdct_arm.S:187: Error: too many memory references for `mov'
armv4l/jrevdct_arm.S:188: Error: too many memory references for `and'
armv4l/jrevdct_arm.S:189: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:190: Error: invalid char '[' beginning operand 2 `[lr'
armv4l/jrevdct_arm.S:191: Error: invalid char '[' beginning operand 2 `[lr'
armv4l/jrevdct_arm.S:192: Error: invalid char '[' beginning operand 2 `[lr'
armv4l/jrevdct_arm.S:193: Error: invalid char '[' beginning operand 2 `[lr'
armv4l/jrevdct_arm.S:196: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:197: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:198: Error: too many memory references for `sub'
armv4l/jrevdct_arm.S:199: Error: no such instruction: `bne row_loop'
armv4l/jrevdct_arm.S:202: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:203: Error: no such instruction: `ldr lr,[ sp]'
armv4l/jrevdct_arm.S:204: Error: expecting operand after ','; got nothing
armv4l/jrevdct_arm.S:206: Error: no such instruction: `ldrsh r0,[lr,'
armv4l/jrevdct_arm.S:207: Error: no such instruction: `ldrsh r2,[lr,'
armv4l/jrevdct_arm.S:208: Error: no such instruction: `ldrsh r4,[lr,'
armv4l/jrevdct_arm.S:209: Error: no such instruction: `ldrsh r6,[lr,'
armv4l/jrevdct_arm.S:211: Error: no such instruction: `ldr r3,[r11,'
armv4l/jrevdct_arm.S:212: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:213: Error: no such instruction: `ldr r5,[r11,'
armv4l/jrevdct_arm.S:214: Error: too many memory references for `mul'
armv4l/jrevdct_arm.S:215: Error: no such instruction: `ldr r3,[r11,'
armv4l/jrevdct_arm.S:216: Error: no such instruction: `mla r6,r5,r6,r1@r6=tmp2'
armv4l/jrevdct_arm.S:217: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:218: Error: no such instruction: `mla r2,r3,r2,r1@r2=tmp3'
armv4l/jrevdct_arm.S:219: Error: too many memory references for `sub'
armv4l/jrevdct_arm.S:221: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:222: Error: no such instruction: `rsb r2,r2,r5,lsl'
armv4l/jrevdct_arm.S:223: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:224: Error: no such instruction: `rsb r6,r6,r3,lsl'
armv4l/jrevdct_arm.S:226: Error: no such instruction: `ldrsh r1,[lr,'
armv4l/jrevdct_arm.S:227: Error: no such instruction: `ldrsh r3,[lr,'
armv4l/jrevdct_arm.S:228: Error: no such instruction: `ldrsh r5,[lr,'
armv4l/jrevdct_arm.S:229: Error: no such instruction: `ldrsh r7,[lr,'
armv4l/jrevdct_arm.S:231: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:232: Error: no such instruction: `orr r9,r1,r3'
armv4l/jrevdct_arm.S:233: Error: no such instruction: `orr r10,r5,r7'
armv4l/jrevdct_arm.S:234: Error: no such instruction: `orrs r10,r9,r10'
armv4l/jrevdct_arm.S:235: Error: no such instruction: `beq empty_odd_column'
armv4l/jrevdct_arm.S:237: Error: no such instruction: `stmdb sp!,{r0,r2,r4,r6}@save on the stack tmp10,tmp13,tmp12,tmp11'
armv4l/jrevdct_arm.S:239: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:240: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:241: Error: no such instruction: `ldr r10,[r11,'
armv4l/jrevdct_arm.S:242: Error: too many memory references for `mul'
armv4l/jrevdct_arm.S:243: Error: too many memory references for `mul'
armv4l/jrevdct_arm.S:244: Error: too many memory references for `mul'
armv4l/jrevdct_arm.S:245: Error: no such instruction: `mla r4,r10,r4,r8@r4=122310ldr r10,[r11,'
armv4l/jrevdct_arm.S:246: Error: no such instruction: `mla r6,r9,r6,r8@r6=122410ldr r9,[r11,'
armv4l/jrevdct_arm.S:247: Error: no such instruction: `mla r7,r10,r7,r2@r7=tmp0+z1'
armv4l/jrevdct_arm.S:248: Error: no such instruction: `ldr r10,[r11,'
armv4l/jrevdct_arm.S:249: Error: no such instruction: `mla r5,r9,r5,r0@r5=tmp1+z2'
armv4l/jrevdct_arm.S:250: Error: no such instruction: `ldr r9,[r11,'
armv4l/jrevdct_arm.S:251: Error: no such instruction: `mla r3,r10,r3,r0@r3=tmp2+z2'
armv4l/jrevdct_arm.S:252: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:253: Error: no such instruction: `mla r1,r9,r1,r2@r1=tmp3+z1'
armv4l/jrevdct_arm.S:254: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:255: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:256: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:258: Error: no such instruction: `ldmia sp!,{r0,r2,r4,r6}@r0=tmp10/r2=tmp13/r4=tmp11/r6=tmp12'
armv4l/jrevdct_arm.S:259: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:261: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:262: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:263: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:264: Error: too many memory references for `mov'
armv4l/jrevdct_arm.S:265: Error: no such instruction: `strh r8,[lr,'
armv4l/jrevdct_arm.S:267: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:268: Error: too many memory references for `sub'
armv4l/jrevdct_arm.S:269: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:270: Error: too many memory references for `mov'
armv4l/jrevdct_arm.S:271: Error: no such instruction: `strh r8,[lr,'
armv4l/jrevdct_arm.S:273: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:274: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:275: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:276: Error: too many memory references for `mov'
armv4l/jrevdct_arm.S:277: Error: no such instruction: `strh r8,[lr,'
armv4l/jrevdct_arm.S:279: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:280: Error: too many memory references for `sub'
armv4l/jrevdct_arm.S:281: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:282: Error: too many memory references for `mov'
armv4l/jrevdct_arm.S:283: Error: no such instruction: `strh r8,[lr,'
armv4l/jrevdct_arm.S:285: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:286: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:287: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:288: Error: too many memory references for `mov'
armv4l/jrevdct_arm.S:289: Error: no such instruction: `strh r8,[lr,'
armv4l/jrevdct_arm.S:291: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:292: Error: too many memory references for `sub'
armv4l/jrevdct_arm.S:293: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:294: Error: too many memory references for `mov'
armv4l/jrevdct_arm.S:295: Error: no such instruction: `strh r8,[lr,'
armv4l/jrevdct_arm.S:297: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:298: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:299: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:300: Error: too many memory references for `mov'
armv4l/jrevdct_arm.S:301: Error: no such instruction: `strh r8,[lr,'
armv4l/jrevdct_arm.S:303: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:304: Error: too many memory references for `sub'
armv4l/jrevdct_arm.S:305: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:306: Error: too many memory references for `mov'
armv4l/jrevdct_arm.S:307: Error: no such instruction: `strh r8,[lr,'
armv4l/jrevdct_arm.S:309: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:310: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:311: Error: too many memory references for `sub'
armv4l/jrevdct_arm.S:312: Error: no such instruction: `bne column_loop'
armv4l/jrevdct_arm.S:313: Error: no such instruction: `beq the_end'
armv4l/jrevdct_arm.S:316: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:317: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:318: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:319: Error: too many memory references for `mov'
armv4l/jrevdct_arm.S:320: Error: no such instruction: `strh r0,[lr,'
armv4l/jrevdct_arm.S:321: Error: no such instruction: `strh r0,[lr,'
armv4l/jrevdct_arm.S:323: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:324: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:325: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:326: Error: too many memory references for `mov'
armv4l/jrevdct_arm.S:327: Error: no such instruction: `strh r4,[lr,'
armv4l/jrevdct_arm.S:328: Error: no such instruction: `strh r4,[lr,'
armv4l/jrevdct_arm.S:330: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:331: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:332: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:333: Error: too many memory references for `mov'
armv4l/jrevdct_arm.S:334: Error: no such instruction: `strh r6,[lr,'
armv4l/jrevdct_arm.S:335: Error: no such instruction: `strh r6,[lr,'
armv4l/jrevdct_arm.S:337: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:338: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:339: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:340: Error: too many memory references for `mov'
armv4l/jrevdct_arm.S:341: Error: no such instruction: `strh r2,[lr,'
armv4l/jrevdct_arm.S:342: Error: no such instruction: `strh r2,[lr,'
armv4l/jrevdct_arm.S:344: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:345: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:346: Error: too many memory references for `sub'
armv4l/jrevdct_arm.S:347: Error: no such instruction: `bne column_loop'
armv4l/jrevdct_arm.S:350: Error: junk at end of line, first unrecognized character is `@'
armv4l/jrevdct_arm.S:351: Error: too many memory references for `add'
armv4l/jrevdct_arm.S:352: Error: no such instruction: `ldmia sp!,{r4 - r12,pc}@restore callee saved regs and return'
make[1]: *** [armv4l/jrevdct_arm.o] Error 1
make[1]: Leaving directory `/mplayer/libavcodec'
make: *** [libavcodec/libavcodec.a] 오류 2
에러 메세지-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
뭐가 문제 일까요?
먼저 툴체인을 잘못 설치 하셨습니다.
EZ-PXA270의 경우에는 커널을 2.6.21을 사용하며, 램디스크 또한 gcc-3.4.3을 이용하여 만든 것이기 때문에 다른 GCC 버젼을 사용할 경우에는 컴파일이 정상적으로 되더라도 타겟보드에 올렸을 경우 에러가 발생합니다.
1. 툴체인을
자료실 >> Tool Chain >> 페도라 코어 2, 코어3 ARM GCC 3.4.3 - arm-toolchain-3.4.3.tar.gz
http://forum.falinux.com/zbxe/?mid=ToolChain
에서 다운 받으셨어 다시 설치해 주셔야 합니다.
2. 정상적으로 설치를 하셨다면... /usr/arm-linux 디렉토리 밑에 관련 파일들이 생성됩니다.
그리고... gcc는 arm-linux-gcc 로 됩니다.. armv5l-linux-gcc는 예전 커널 2.4.19에서 사용된 툴체인입니다.
3. 이렇게 하시고. Termcap, mplay를 다시 컴파일 해 보시기 바랍니다..