'porting'에 해당되는 글 9건
- 2011.07.29 [stm32f103cb] usos-ii 소스 디렉토리/파일 구조
- 2011.07.29 [stm32f103cb] ucos-ii 포팅 사전 준비
- 2011.06.23 [s3c6410] lame-3.98.4 cross compile
- 2011.06.23 [s3c6410] xvidcore-1.3.2 cross compile
- 2011.06.15 [s3c641] libogg cross compile
- 2011.06.10 [s3c6410, qt4] glib cross compile
- 2011.06.09 [s3c6410] glib-2.2 porting 중 에러 대처
- 2011.06.09 [s3c6410] ffmpeg porting
- 2011.06.09 [s3c6410] x264 porting
[stm32f103cb] usos-ii 소스 디렉토리/파일 구조
임베디드/uc/os-ii 2011. 7. 29. 17:55
- 모든 port는 하드디스크의 /software/ucos-ii 디렉토리 아래에 존재해야 한다.(하드드라이브 위치는 상관없다.)
- 프로세서의 port 코드는 다음의 2~3개 파일로만 구성해야 한다.
- OS_CPU.H
- OS_CPU_C.C
- 인라인 어셈블리를 지원하는 컴파일러인 경우 여기서 필요한 어셈블리 코드를 기술한다.
- OS_CPU_A.ASM ( 필요한 경우 )
- 인라인 어셈블리를 지원하는 컴파일러인 경우에는 필요없을 수도 있다.
- port 소스가 들어있는 디렉토리 이름은 해당 소스가 어떤 프로세스인지를 나타낸다.
- ucos-ii 의 port소스들은 프로세서 별로 완전히 다른 소스코드지만 같은 이름으로 다른 디렉토리에 존재할 수 있다.(헷갈리지 말자!)
- 또한 디렉토리들은 컴파일러에 따라서 구분해야 한다.
- 대충 아래와 같은 형태가 될꺼다.
- /SOFTWARE/uCOS-II/x86/PARADIGM
- x86환경에서 Paradigm 컴파일러을 사용하는 port 소스 디렉토리
- /SOFTWARE/uCOS-II/x86/BC45
- x86환경에서 borland C V4.5 컴파일러를 사용하는 port 소스 디렉토리
'임베디드 > uc/os-ii' 카테고리의 다른 글
[stm32f103cb] ucos-ii 포팅 사전 준비 (0) | 2011.07.29 |
---|
[stm32f103cb] ucos-ii 포팅 사전 준비
임베디드/uc/os-ii 2011. 7. 29. 17:42
CPU : STM32F103CB
STMicroelectronics 사의 flash loader을 이용해서 rom에 바이너리 쓰기 한다.(사용버젼은 v1.3)
포팅시 ucos 사이트에서 구한 port 소스를 이용한다.
여기서 포팅시 각 보드 특성에 맞춰서 수정해야 할 파일들은 아래와 같다.
OS_CPU.H
OS_CPU_A.ASM
OS_CPU_C.C
위 3파일에 있는 데이터 타입이나 함수, 또는 어셈블리 코드를 보드에 맞게 수정해야 한다.
포팅 작업을 하는데 필요한 컴파일러가 필요하다.
필요조건은
STMicroelectronics 사의 flash loader을 이용해서 rom에 바이너리 쓰기 한다.(사용버젼은 v1.3)
포팅시 ucos 사이트에서 구한 port 소스를 이용한다.
여기서 포팅시 각 보드 특성에 맞춰서 수정해야 할 파일들은 아래와 같다.
OS_CPU.H
OS_CPU_A.ASM
OS_CPU_C.C
위 3파일에 있는 데이터 타입이나 함수, 또는 어셈블리 코드를 보드에 맞게 수정해야 한다.
포팅 작업을 하는데 필요한 컴파일러가 필요하다.
필요조건은
- 재진입이 가능한 코드를 생성 할 수 있어야 할 것
- 어셈블리 프로그래밍을 지원할 것
- C 코드 수준에서 인터럽트 enable/disable 지원 할 것
'임베디드 > uc/os-ii' 카테고리의 다른 글
[stm32f103cb] usos-ii 소스 디렉토리/파일 구조 (0) | 2011.07.29 |
---|
[s3c6410] lame-3.98.4 cross compile
임베디드/S3C6410 2011. 6. 23. 10:45
#!/bin/sh
./configure \
--prefix="/app" \
--host=arm-generic-linux-gnueabi
./configure \
--prefix="/app" \
--host=arm-generic-linux-gnueabi
'임베디드 > S3C6410' 카테고리의 다른 글
[s3c6410] gstreamer-0.10.30 + plugins cross compile (0) | 2011.06.23 |
---|---|
[s3c6410] gst-plugins-base-0.10.35 cross compile (0) | 2011.06.23 |
[s3c6410] gst-plugin-base-0.10.22 cross compile (0) | 2011.06.23 |
[s3c6410] xvidcore-1.3.2 cross compile (0) | 2011.06.23 |
[s3c6410] gstreamer test (0) | 2011.06.22 |
[s3c6410] xvidcore-1.3.2 cross compile
임베디드/S3C6410 2011. 6. 23. 09:46
cd build/generic
create mybuild.sh script
create mybuild.sh script
#!/bin/sh
./configure \
--prefix="/app" \
--host=arm-generic-linux-gnueabi
./configure \
--prefix="/app" \
--host=arm-generic-linux-gnueabi
'임베디드 > S3C6410' 카테고리의 다른 글
[s3c6410] lame-3.98.4 cross compile (0) | 2011.06.23 |
---|---|
[s3c6410] gst-plugin-base-0.10.22 cross compile (0) | 2011.06.23 |
[s3c6410] gstreamer test (0) | 2011.06.22 |
[s3c6410] libxml2 cross compile (0) | 2011.06.20 |
[s3c6410] libvorbis-1.3.2 cross compile (0) | 2011.06.15 |
[s3c641] libogg cross compile
임베디드/S3C6410 2011. 6. 15. 11:53
./configure --prefix=/usr/arm-generic-linux-gnueabi --host=arm-generic-linux-gnueabi
make && make install
make && make install
'임베디드 > S3C6410' 카테고리의 다른 글
[s3c6410] libxml2 cross compile (0) | 2011.06.20 |
---|---|
[s3c6410] libvorbis-1.3.2 cross compile (0) | 2011.06.15 |
[s3c6410] gst-plugins-base-0.10.22 cross compile (0) | 2011.06.14 |
[s3c6410, qt4] glib cross compile (0) | 2011.06.10 |
[s3c6410] glib-2.2 porting 중 에러 대처 (0) | 2011.06.09 |
[s3c6410, qt4] glib cross compile
임베디드/S3C6410 2011. 6. 10. 16:22
glib은 libffi 라이브러리를 요구한다. 다운로드
glib_cv_stack_grows=no
glib_cv_has__inline=yes
glib_cv_has__inline__=yes
glib_cv_uscore=no
ac_cv_func_posix_getpwuid_r=yes
ac_cv_func_posix_getgrgid_r=yes
glib_cv_use_pid_surrogate=yes
arm-linux.cache 파일 작성
내용은 아래와 같이 한다.
glib_cv_long_long_format=llglib_cv_stack_grows=no
glib_cv_has__inline=yes
glib_cv_has__inline__=yes
glib_cv_uscore=no
ac_cv_func_posix_getpwuid_r=yes
ac_cv_func_posix_getgrgid_r=yes
glib_cv_use_pid_surrogate=yes
glib-2.22.0 configure options
./configure --prefix=/usr/arm-generic-linux-gnueabi --target=arm-generic-linux-gnueabi --cache-file=arm-linux.cache --with-threads=posix --host=arm-generic-linux-gnueabi
make
make install
glib-2.26.1 configure options
PKG_CONFIG="/usr/arm-generic-linux-gnueabi/bin/pkg-config" ./configure --prefix=$PWD/_install --target=arm-generic-linux-gnueabi --cache-file=arm-linux.cache --with-threads=posix --host=arm-generic-linux-gnueabi
* SSIZE_MAX error가 발생하면 해당 파일을 열어서 아래와 같이 추가한다.
#ifndef SSIZE_MAX
#define SSIZE_MAX LONG_MAX
#endif
'임베디드 > S3C6410' 카테고리의 다른 글
[s3c641] libogg cross compile (0) | 2011.06.15 |
---|---|
[s3c6410] gst-plugins-base-0.10.22 cross compile (0) | 2011.06.14 |
[s3c6410] glib-2.2 porting 중 에러 대처 (0) | 2011.06.09 |
[s3c6410] ffmpeg porting (0) | 2011.06.09 |
[s3c6410] x264 porting (0) | 2011.06.09 |
[s3c6410] glib-2.2 porting 중 에러 대처
임베디드/S3C6410 2011. 6. 9. 18:18
SSIZE_MAX 에러 일 경우, 에러가 나온 해당 파일을 찾아서 아래와 같은 내용을 첨부한다.
#ifndef SSIZE_MAX # define SSIZE_MAX LONG_MAX #endif
'임베디드 > S3C6410' 카테고리의 다른 글
[s3c6410] gst-plugins-base-0.10.22 cross compile (0) | 2011.06.14 |
---|---|
[s3c6410, qt4] glib cross compile (0) | 2011.06.10 |
[s3c6410] ffmpeg porting (0) | 2011.06.09 |
[s3c6410] x264 porting (0) | 2011.06.09 |
[s3c6410] usb disk automount rules (0) | 2011.06.03 |
[s3c6410] ffmpeg porting
임베디드/S3C6410 2011. 6. 9. 12:59
#./configure --enable-cross-compile --cross-prefix=arm-generic-linux-gnueabi- --enable-gpl --enable-swscale #--disable-static --enable-shared --prefix=/usr/arm-generic-linux-gnueabi --disable-mmx --disable-armv5te #--disable-iwmmxt --arch=armv4l --target-os=linux --enable-libx264 --enable-pthreads
./configure --target-os=linux --arch=armv5te --enable-cross-compile --cc=arm-generic-linux-gnueabi-gcc --cross-prefix=arm-generic-linux-gnueabi- --enable-static --disable-shared --enable-libx264 --enable-gpl --disable-asm --disable-yasm --prefix=/usr/arm-generic-linux-gnueabi --disable-amd3dnow --disable-amd3dnowext --disable-mmx --disable-mmx2 --disable-sse --disable-ssse3 --enable-pthreads
make && make install
./configure --target-os=linux --arch=armv5te --enable-cross-compile --cc=arm-generic-linux-gnueabi-gcc --cross-prefix=arm-generic-linux-gnueabi- --enable-static --disable-shared --enable-libx264 --enable-gpl --disable-asm --disable-yasm --prefix=/usr/arm-generic-linux-gnueabi --disable-amd3dnow --disable-amd3dnowext --disable-mmx --disable-mmx2 --disable-sse --disable-ssse3 --enable-pthreads
make && make install
#!/bin/sh
# --cross-prefix="/usr/arm-generic-linux-gnueabi/bin/arm-generic-linux-gnueabi-" \
# --nm=arm-generic-linux-gnueabi-nm \
# --ar=arm-generic-linux-gnueabi-ar \
# --as=arm-generic-linux-gnueabi-as \
# --ld=arm-generic-linux-gnueabi-ld \
./configure \
--prefix="/app" \
--target-os=linux \
--enable-cross-compile \
--arch=armv5te \
--cc=arm-generic-linux-gnueabi-gcc \
--cross-prefix=arm-generic-linux-gnueabi- \
--enable-static \
--disable-shared \
--enable-libx264 \
--enable-gpl \
--disable-asm \
--disable-yasm \
--disable-amd3dnow \
--disable-amd3dnowext \
--disable-mmx \
--disable-mmx2 \
--disable-sse \
--disable-ssse3 \
--enable-pthreads \
--enable-libmp3lame \
--enable-libxvid \
--enable-libvorbis \
--enable-postproc \
# --cross-prefix="/usr/arm-generic-linux-gnueabi/bin/arm-generic-linux-gnueabi-" \
# --nm=arm-generic-linux-gnueabi-nm \
# --ar=arm-generic-linux-gnueabi-ar \
# --as=arm-generic-linux-gnueabi-as \
# --ld=arm-generic-linux-gnueabi-ld \
./configure \
--prefix="/app" \
--target-os=linux \
--enable-cross-compile \
--arch=armv5te \
--cc=arm-generic-linux-gnueabi-gcc \
--cross-prefix=arm-generic-linux-gnueabi- \
--enable-static \
--disable-shared \
--enable-libx264 \
--enable-gpl \
--disable-asm \
--disable-yasm \
--disable-amd3dnow \
--disable-amd3dnowext \
--disable-mmx \
--disable-mmx2 \
--disable-sse \
--disable-ssse3 \
--enable-pthreads \
--enable-libmp3lame \
--enable-libxvid \
--enable-libvorbis \
--enable-postproc \
--extra-cflags="-I/app/include -I/usr/arm-generic-linux-gnueabi/include" \
--extra-libs="-L/app/lib -L/usr/arm-generic-linux-gnueabi/lib"
--extra-libs="-L/app/lib -L/usr/arm-generic-linux-gnueabi/lib"
'임베디드 > S3C6410' 카테고리의 다른 글
[s3c6410, qt4] glib cross compile (0) | 2011.06.10 |
---|---|
[s3c6410] glib-2.2 porting 중 에러 대처 (0) | 2011.06.09 |
[s3c6410] x264 porting (0) | 2011.06.09 |
[s3c6410] usb disk automount rules (0) | 2011.06.03 |
[s3c6410] mplayer 포팅 (0) | 2011.04.28 |
[s3c6410] x264 porting
임베디드/S3C6410 2011. 6. 9. 12:45
CC=arm-generic-linux-gnueabi-gcc ./configure --prefix=/usr/arm-generic-linux-gnueabi --disable-gpac --enable-static --enable-strip --cross-prefix=arm-generic-linux-gnueabi- --host=arm-generic-linux-gnueabi
make && make install
make && make install
'임베디드 > S3C6410' 카테고리의 다른 글
[s3c6410] glib-2.2 porting 중 에러 대처 (0) | 2011.06.09 |
---|---|
[s3c6410] ffmpeg porting (0) | 2011.06.09 |
[s3c6410] usb disk automount rules (0) | 2011.06.03 |
[s3c6410] mplayer 포팅 (0) | 2011.04.28 |
[s3c6410] Keypad device driver 포팅 (0) | 2011.04.27 |