BLOG main image
LoofBackER's Blog
Jun - Sik , Yang Blog

신발끈 맬 때 마다

분류없음 2006.12.25 20:10 by LoofBackER
배를 빌린다.
노를 빌린다.
노를 젖는다.
배는 가겠지.
어딜 가는가.
알순 없는가.
설마 그럴까.
아니 안그래.
그럴 순없지.

그렇게 떠난다.
이런식 바란다.
어차피 이렇다.
어차피 저렇다.
그렇고 그럴껄.
그래서 그렇다.

나를 찾아서 떠나자.
나는 누굴까 정말로.
너는 내말이 들리니.
네말 잘들려 바보야.
바보 난이런 말한다.

신발끈 멜때 마다 한번쯤 생각 해줘.
신발끈 멜때 마다 한번쯤 생각 해줘.

너는 나를 모른다.
나도 너를 모른다.

그래서 두렵다.

그래 그렇다.
나는 누구냐?
너는 누구나?

나는 꿈을 향해 꿈을 먹고 사는 그런 동물일 뿐이다.

나는 신발끈 고쳐 매고 그 곳으로 앞만 보고 달린다.
신고

HOWTO Linux Kernel Compile

분류없음 2006.12.22 20:11 by LoofBackER
많은 분들이 커널 컴파일 방법을 그냥 한줄로 줄줄이 외워버리고 마는것 같습니다.
예를 들어
'cd /usr/src/linux;make mrproper;make xconfig'
'make dep;make clean;make zlilo;make modules;make modules_install;
make install;reboot'
라고 쳐 넣고 커널 컴파일이 끝나기를 기다리곤 하지요...
하지만 각각이 뭘 의미 하는 건지 잘 모르고 그냥 줄줄이 외우고 있기만
하신것 같더라구요...
그래서 제가 제 나름대로 각각의 설명을 해 보려고 합니다...




우선 그림(?)을 그려보면 이렇습니다
make mrproper -* /make xconfig -* make dep;make clean -* //make zlilo
|make menuconfig| |make bzlilo/
make config / |/make zImage
\make bzImage/
-* make modules
-* lilo 설정

-* make install -* lilo 설정

-* make modules_install
입니다. (그림이 좀 복잡하지요? ^^;;)

make mrproper
커널 컴파일과 관련해서 여러가지 문제가 발생할 수 있는 것들을
초기화 해주는 것입니다.
그러나, make mrproper는 저는 개인적으로 하지 마시기 바랍니다 ^^
이걸 써야 하는 상황이라면 좀 더 커널 설정에 대해 자세히 아셔야 합니다
커널 설정과 커널 컴파일시 생성되는 대부분의 화일을 초기화 시켜 버리는
것입니다...
특히, 이것을 수행하게 되면,
기존에 커널 설정해 놓은 정보도 모두 날라가 버리거든요....


make xconfig/menuconfig/config
그리고 xconfig는 아시겠지만 X에서 커널 설정을 하게 해주는 것이구요
menuconfig는 ncurses라는 라이브러리가 설치되어있고 X를 사용하지
않고 설정을 할때 쓰는 방식이구요.
config는 X도 ncurse도 없다 할때 쓰시면 됩니다...
세가지의 기능상 차이는 없고 그냥 사용자에게 보여지는 인터페이스가
조금씩 다르지요...
이 글에서는 각 설정에 대해 말씀 드리지 않겠습니다
넘 길걸랑요.. 다른 자료를 찾아 오시구요. 그리고 자신의 하드웨어
사양에 대해 자세히 아셔야 합니다

make dep;make clean
그리고, 그다음에 make dep이라는 것은 config 설정이 끝났으면
그것을 실제 컴파일 과정에 들어가게 하기 위해서 여러가지 의존성 설정을
하는 것입니다. 예를 들어
sb(사운드 블레스터 모듈) 이 뜨기 전에 sound라는 모듈이 떠야하고
sound가 뜨기 전에 soundcore가 떠야 한다는 둥의 의존성입니다...
이 의존성은 make config 시에 정해 지는 것이구요 make dep이라는
명령으로 실제로 적용시키는 것입니다
그다음에 make clean은 그냥 찌꺼기를 청소하는 것이라고만 아시면되겠구요

make zImage/make bzImage
그리고, make zImage가 있고, bzImage기능이 있는데
전자는 말 그대로 커널을 컴파일해서 이미지를 만드는 것입니다
(저는 이 과정이 끝난뒤에 압축이 이루어 이는 것으로 알고 있습니다.
앞에 붙은 'z'가 압축을 의미한 것으로 알고 있습니다
이것은 /usr/src/linux/arch/i386/Makefile을 살펴 보면
'compressed: zImage'라는 항목으로 확인 할 수 있습니다.)
그리고 후자는 b가 붙는데 커널의 이미지가 일정 크기 이상이 되면
컴파일 방식이 바뀌어야 하는 모양입니다.
(여기서 b는 big을 의미하는 거겠죠? ^^;)
그래서 커널 이미지가 큰 경우 이 방식으로 컴파일을 해야 합니다
그러나 제 경험상 커널 컴파일에 대해 좀 노하우가 쌓이게되고
컴파일을 잘하게 되시면 이것은 쓰지 않게 되실겁니다...
그렇다면 어떨때는 make zImage를 쓰고,
어떨때는 make bzImage를 쓰는가???
이것은 make zImage를 수행한뒤에
맨 뒤에 에러메시지에 "make bzImage를 사용하십시요"라고 (물론 영어로)
나온다면 make bzImage로 커널 컴파일을 다시하면 됩니다..

make zlilo/make bzlilo
그리고, make zlilo와 make zImage는 별로 차이가 없는 명령입니다.
make zlilo는 lilo사용자를 위한 커널 컴파일 및 설치 명령입니다.
make zImage;make install;lilo 정도의 명령 입니다.
하지만 뒤에서(lilo설정에서)
make zlilo와 make zImage;make install;lilo간의 차이를 설명드리죠
(정확히는 make zlilo는 make zImage뒤에
'mv /vmlinuz /vmlinuz.old;
mv /System.map /System.old;
cat zImage * /vmlinuz;
cp /usr/src/linux/System.map /;
/sbin/lilo;' 를 수행하게 됩니다.)
(참고: make bzlilo라는 것도 있는데,
zlilo와 bzlilo의 차이는 zImage와 bzImage의 차이와 같다고 생각됩니다
역시 /usr/src/linux/arch/i386/Makefile을 살펴 보시면 확인할 수 있음)

make install
그리고 make install인데, 이것은 make zImage나 bzImage 를 통해
생성된 커널 이미지를 설치하는 것입니다.
이 명령에 의해 커널이 설치(install) 되는 곳은
/boot 입니다. 이곳에 vmlinuz-x.x.x-xx형식으로 저장되고,
Symbolic link로 vmlinuz -* vmlinuz-x.x.x-xx가 생성됩니다.

make modules
그 다음에 모듈 컴파일입니다
이 것은 커널에서 사용할 모듈을 컴파일 하는 과정입니다.
(주의:modules에서 's'를 빼먹지 마세요...
물론 빼먹으면 컴파일이 안되지만.. ^^;;)
흔히들 이것은 make zlilo다음에 실행한다고 생각하기 쉬운데
make dep;make clean 이후에 실행가능한 것입니다
make modules는 make dep에서 얻어지는 의존성 정보를 가지고
모듈을 컴파일 하는 것이기 때문입니다.
경우에 따라서는 모듈 컴파일 타임이 커널 컴파일 타임보다
길어질 수 있습니다. (일반적으로는 더 길지요... ^^;;)

make modules_install
make modules_install은 짐작하시는 바와 같이 컴파일 완료된 모듈들을
설치(!)하는 것입니다
(주의:여기서도 modules_install에서 's'를 빼먹지 마세요..)
그러나 이 과정에서 기존에 있던 모듈을 삭제하지 않고 그냥 그 위에
덮어쓰기 하기 때문에 종종 문제가 됩니다
그래서 make modules_install 이전에 /lib/modules/x.x.x-xx
디렉토리를 삭제해 주셔야 합니다.
여기서 x.x.x-xx는 커널의 버전을 의미합니다.
이 숫자는 /usr/src/linux 가 링크된 디렉토리명에서 확인할 수 있습니다.
예를 들어 ls -l /usr/src/linux 했을때 'linux -* linux-2.2.10'이면
/lib/modules에도 2.2.10으로 디렉토리가 생기는 것이죠.
(정리하면 모듈 컴파일및 설치는 아래와 같이 하시면 되겠죠..
'make modules;rm -fr /lib/modules/x.x.x-xx;make modules_install')

lilo설정
이 부분은 lilo사용자에 한하는 부분인데요.
우선 make zlilo(또은 bzlilo)를 사용하신 경우와 make zImage;make install
하신 경우가 다릅니다.
뭐가 다르냐면, 전자의 경우 커널 이미지가 /vmlinuz에 설치가 되고요
후자의 경우는 커널의 이미지가 /boot/vmlinuz에 설치가 되기 때문입니다
lilo설정화일(보통은 /etc/lilo.conf)을 보시면 아래와 같은 항목이 있는데,
image=/boot/vmlinuz
label=linux
root=/dev/hda8
read-only
여기서 zlilo를 사용하셨다면 'image=/vmlinuz'라고 하셔야 하고요
zImage와 install을 사용하셨다면
'image='/boot/vmlinuz'라고 하셔야 합니다
저 같은 경우는 그냥 귀찮아서 위와 같이 설정하고요.
make zImage방식으로 컴파일 할때는
'make zImage;make install'
이라고 하고요
make zlilo의 방식으로 컴파일 할때는
'make zlilo;make install'
이라고 합니다 ^^;;;;;
즉 'make zlilo;make install'이라고 하면 커널 이미지가
/vmlinuz와 /boot/vmlinuz 모두에 설치가 되는 겁니다 ^^;;;;;;
물론 lilo설정뒤에 프롬프트 상에서 'lilo'라고 한번 실행시켜주셔야합니다


!!주의 사항!!
그리고 주의 사항(!!)은 위의 모든 과정은 리눅스 소스가 설치된상태에서
해야 한다는 것(1)과 /usr/src/linux에서 해야 한다는 것(2)입니다
그리고, 커널 컴파일과 모듈 컴파일 중간에 실행을 중단하지 마십시요(3)..
정말이지 잘못 했다가는 커널 컴파일이 아에 안되버리는 수가 생깁니다
소스에 손상이 가는 경우가 있나봅니다...

!!확인!!
그리고, 끝으로 커널이 잘 설치 되었는지 확인하기 위해서
ls -l /boot 를 확인해 보시기 바랍니다.
/boot/vmlinuz과 이것이 링크된 화일이요.....
날짜와 시간이 지금이 맞는지...
그러면 설치가 되었음을 확인할 수 있구요

!!에러 확인!!
그리고 참고로 커널이나 모듈을 컴파일 할때 에러가 나는 경우가 있는데
이것은 어떻게 확인하냐믄요.. make zlilo나 make zImage 또는 bzImage
실행이 끝난뒤를 살펴 보시면 ***ERROR 뭐 이런식으로 눈에 뜨이게
표현됩니다...
그러니 이 메시지를 놓치지 않기 위해서라도
커널 컴파일시에
# make dep;make clean;make zlilo;make modules;make modules_install;make instal
l;reboot
이런식으로 일사천리로 쓰시면 안되겠지요..(물론 순서는 위의 것이 맞습니다 ^^)
저 같은 경우는 우선
# cd /usr/src/linux;make xconfig
# make dep;make clean
하구나서요
# make zlilo
를 실행시킴과 동시에 창 하나를 더 뛰워서
# make modules 를 실행시키고 어디 딴데가서 책 좀 보다 옵니다 ^^
그러고 나면 두경우에 에러가 났는지 안났는지 확인할 수 있지요..
그렇게 확인이 되었으면
# make modules_install;make install;reboot
를 합니다...
(참고: at now 라는 명령을 쓰면 컴파일 과정이 고스란히 저장이 되어서
메일로 저장됩니다만... 본 글과는 좀 거리가 있는 내용이라 생략합니다
다른 분의 글을 참고 하세요...)


!!리부팅~!!
그리고 리부팅 시키면 커널의 압축이 풀리고 커널이 로딩 됩니다
그 뒤에 모듈이 로딩 되기 전에요
"Finding modules dependance..." 를 하지요
앞에서 말씀 드린 모듈들의 의존성 정보를 작성하고요
(depmod -a라는 명령입니다)
그 의존성 정보를 (화일은 /lib/modules/x.x.x-xx/modules.dep) 화일에
업데이트를 수행합니다
혹시 여기서 에러가 발생한다면
커널과 모듈 설치 하시고 그냥 리부팅 하지 마시고요
직접 아래와 같이 해보세요
# cd /lib/modules/x.x.x-xx
# depmod -a
라고 해보세요...
여기서 에러가 안나면 저처럼 나옵니다
---- 인용 시작 ----
[root@mind 2.2.10]# pwd
/lib/modules/2.2.10
[root@mind 2.2.10]# depmod -a
[root@mind 2.2.10]#
---- 인용 끝 ----
에러나 가면 커널 설정을(make xconfig에서요..) 다시 잘 해보시기 바랍니다
이부분은 커널 설정과 모듈 관련 부분이므로 이 글에서는 생략합니다.




휴~~ 이제야 끝났군요...
저는 리눅스를 참 많이 다뤄 봤는데요, 제가 리눅스 다룬 시간의 절반 이상이
이 커널 컴파일과의 시간이었습니다.
정말 알면 쉬울(?)지 몰라도, 모르면 정말 답답하지요...
예전에 커널을 직접 컴파일 해서 사용한다는 사실 자체가 놀라울때는
'make dep;make clean.....'
하는 것이 꼭 무슨 주문 같더군요 ^^;;
그게 뭐하는 건지 궁금했는데,
시원하게 설명해 주는 글을 본적이 없었습니다...
완전히 저는 몸으로 삽질반 노가다반으로 스스로 익혀 버렸는데
흑흑.... 시간 아까버.. T.T
그때 누가 그런것좀 안 가르쳐주나.. 하고 기다렸는데
이렇게 제가 적게 될줄이야... ^^

커널 컴파일 잘하면 자신의 하드웨어 성능의 100%이상의 성능을 기대할 수
있습니다. 다들 커널 컴파일에 성공하시기 바랍니다...
신고

Making Booting Disk

분류없음 2006.12.16 20:04 by LoofBackER

Windows 2000/XP에서 부팅디스켓 만들기


작성자 : 정원호 (lion21@nownuri.net)
편집자 : 정원호 (lion21@nownuri.net)
최초 게시일 : 2002년 1월 13일

들어가며...


어제 저녁무렵에 필자의 고등학교 친구에게 전화가 왔다. 전화기에 친구의 이름이 찍히는 순간 감(?)을 잡았다. 또 컴퓨터가 말썽인가 보다. :-)

전화를 받아보니 역시나 였다. 어찌어찌해서 Windows XP를 설치했는데 탐색기에서 CD-ROM(LG 52x)이 보이지 않는다는 것이다. LG 52배속 시디롬이 XP에서 문제를 일으킨다는 것은 필자도 익히 들은바 있었기 때문에 어렵지 않게 해결방법을 제시해 줄 수 있었다. CD-ROM의 롬바이오스를 최신 버전으로 업그레이드하면 해결될 것이라고 알려줬더니 필자 친구 曰 롬바이오스(ROM BIOS)가 뭐냐고 물었다. :-(

대충 설명해 주고 도스로 부팅해서 어찌어찌하라고 방법을 일러줬다. 하지만 필자 친구 또한 어디서 들었는지 Windows XP는 NT 계열운영체제이기 때문에 도스를 사용할 수 없는거 아니냐고 묻는 것이다.

물론 어느 정도 맞는 이야기이다. Windows 2000/XP는 기본적으로 NT 커널에서 작동하는 운영체제이기 때문에 사실상 도스와는 상관없는 운영체이다. 하지만 여전히 도스로 접근이 가능하며, 운영체제 상에서도 DOS용 부팅 디스켓을 만들 수 있도록 지원하고 있다.

서설이 너무 긴느낌이다. 이번 강좌(팁?)에서는 Windows 2000/XP 상에서 도스용 부팅 디스켓을 만드는 법에 대해서 알아보고 가능하다면 좀 더 유익한 팁을 정리해 보겠다.


개 념


시작하기 전에 부팅 디스켓(Bootable Diskette) 라는 용어의 의미를 정확하게 알고 넘어가자.

부팅 디스켓은 하드디스크 MBR(Master Boot Record)의 백업 사본을 가지고 있는 디스켓으로서, 쉽게 말하면 하드디스크의 도움/존재 없이도 스스로 컴퓨터를 부트(운영체제를 메모리 상으로 적재하는 것)시킬 수 있는 디스켓을 말한다.

이때 부팅 디스켓에는 시스템을 일으킬 수 있는 최소한의 시스템 파일(msdos.sys, io.sys, command.com 등)이 담겨져 있다. 물론 이외에도 여러가지 알 수 없는(?) 파일들이 보일 것이다. 일례로 himem.sys, config.sys, autoexec.bat 등이 있다.

이쯤에서 약속 하나만 하자.(본 강좌내에서만 통하는 약속 말이다.) 앞서 설명한 msdos.sys, is.sys, command.com 파일만 담겨져 있는 디스켓을 부팅 디스켓이라 부르고, 후자의 파일들(himem.sys, autoexec.bat, config.sys etc)이 같이 담겨져 있는 디스켓은 시동 디스켓이라 부르도록 하겠다. 이유? 차차 알게 될것이다.


Windows XP에서 DOS 부팅 디스켓 만들기


  1. 만드는 법
  2. 매우 쉽다. [탐색기] → [A 드라이브을 선택하고 마우스 오른쪽 버튼] → [포맷]

    빨간색 박스 부분에 반드시 체크를 해주어야 한다. 그럼 기타 모든 선택옵션이 비활성화 될 것이다. 다음에 [시작] 버튼을 눌러주면 끝이다.

    이 방법은 Windows 95, 98, XP 모두 가능하다.(Windows 2000은 제외) 하지만 결과물로 나타난 파일목록은 조금씩 다를 것이다. 앞에서도 언급한 바 있지만 DOS는 io.sys, msdos.sys, command.com 파일만 있으면 부팅이 가능하기 때문에 나머지 파일은 별 신경을 쓰지 않아도 된다.

  3. 쓰임새
  4. 그렇다면 이런 방법으로 만든 부팅 디스켓은 어디에 써먹을 수 있나?

    가장 많이 사용되는 곳이 바로 롬바이오스(펌웨어) 업그레이드이다. 참고로 펌웨어 업그레이드는 Motherboard, CD-ROM/RW 에서 자주 이루어진다. 펌웨어 업그레드 작업은 매우 민감한 작업이니만큼 디스켓상의 필요없는 파일(msdos.sys, io.sys, command.com, 펌웨어 관련 파일은 제외)은 모두 지우도록 한다.


Windows 2000/XP에서 시동 디스켓 만들기


  1. 만드는 법
  2. 다들 아는 이야기이겠지만 Windows 2000/XP는 더이상 도스모드를 지원하지 않기 때문에 자체적으로 시동 디스켓을 제작할 수 없다. 따라서 Windows 95/98이 설치된 컴퓨터에 만들어야 한다. 만드는 방법은 쉽다. [제어판] → [프로그램 추가/제거] → [시동 디스크] 에서 만들 수 있다. 이때 해당 운영체제 설치 CD가 필요하다. 물론 설치 CD 없이도 만들수는 있지만 약간 복잡하고 완벽하게 똑같이 만들기는 어렵다.

    하지만 주위에 꼭 Windows 95/98이 설치된 컴퓨터가 있으리라는 법은 없다. 이럴때는? 서드파티 프로그램을 이용하여 이미 작성된 시동디스크의 이미지를 디스켓에 담으면 된다. 말이 조금 어렵다. 따라해 보면 쉽게 이해할 수 있을 것이다.

    일단 디스켓에 이미지 파일을 기록할 수 있는 유틸리티를 다운 받는다. [도스용 프로그램]    [윈도우용 프로그램]

    어떤 것을 선택해도 상관없다. 편할걸로 선택하기 바란다. 기능상의 차이라면 윈도우용 프로그램은 이미지를 기록할 수 있을 뿐 아니라 이미지 추출도 가능하다는 정도이다.

    다음으로 시동디스크 이미지를 다운받는다. [Windows 98SE에서 제작한 시동디스크 이미지 다운로드]

    ▷ 도스용 프로그램(rawrite.exe)을 실행시킨 모습
    ▷ Windows용 프로그램(rawwritewin.exe)을 실행시킨 모습

    사용법은 따로 설명하지 않겠다. 고등학교 이상의 영어 실력자이라면 누구나 스스로 할 수 있을테니 말이다.

    굳이 한가지 팁을 주자면, 도스용 프로그램을 사용할 때에는 가급적 프로그램과 이미지 파일을 같은 폴더에 위치시키면 편하다. 경로를 따로 지정할 필요없이 바로 이미지파일명만 기재해 주면 된다.

    윈도우용 프로그램은 Read와 Write 탭이 있어 약간 헷갈릴 수 있는데 Write 탭을 이용하면 된다. Read 탭은 이미지를 추출할때 사용한다.

    작업을 성공적으로 마쳤다면 A 드라이브 안에 있는 디스켓에 파일이 잔뜩 들어있는 것을 발견할 것이다. 파일들의 사용처 및 사용방법은 내장된 reame.txt 파일을 참조하면 된다.

  3. 쓰임새
  4. 자 그렇다면 어떨때 시동디스크가 필요할까? 솔직히 1년에 한두번 사용하면 많이 사용한것이 되겠지만...

    첫째, 운영체제를 새로 설치할때 필요할 수가 있다. 요즘 운영체제는 시디자체에서 시디롬 부팅을 지원하기 때문에 솔직히 별로 필요없을 수도 있지만 시디를 잘못 구웠다던지 아니면 설치 소스만 가지고 있는 경우에는 요긴하게 사용될 것이다.

    둘째, 부팅 디스켓과 동일하게 사용될 수 있다. 즉 펌웨어 업그레이드시에 사용될 수 있는 것이다. 물론 필요없는 파일들은 지워주면 된다.

    셋째, 고스트, 이지백투와 같은 하드디스크 이미지 제작용 프로그램을 이용할때 필요하다. 물론 부팅 디스켓으로도 할 수 있는 작업이다. 물론 고스트의 경우에는 정품 사용자라면 자동으로 PC-DOS 디스켓을 만들 수 있게 해준다.

    넷째, Windows 2000/XP를 사용하다 보면 절대로 지워지지 않은 파일들이 있다. 만약 파일시스템이 NTFS가 아닌 FAT16/32라면 위 시동디스크로 부팅해서 간단하게 지울 수 있다. 도스의 파워를 실감할 수 있는 부분이다.

    이외에도 사용할 일이 분명 있을 것이다. 하지만... 생각이 나지 않는다. :-)

  5. 부팅 디스켓과 시동 디스켓의 차이
  6. 이제 부팅 디스켓과 시동 디스켓을 확실하게 구별해 보자.

    가장 큰 차이점은 시디롬 지원 유무일 것이다. 시동 디스켓에는 시디롬 드라이버와 이를 사용할 수 있게끔 해주는 config.sys, autoexec.bat 파일이 들어 있다.

    물론 도스를 만줘본 사람들은 부팅 디스켓으로도 쉽게 시디롬을 지원하게 할 수 있지만 별도로 시디롬 드라이버를 구해야 하고, 역시 config.sys, autoexec.bat 파일을 약간 손봐줘야 하는 귀찮음이 따른다.

    참고로 부팅 디스켓에서 시디롬을 지원하는 방법을 소개하겠다. 설명하기 귀찮으니 그냥 다음 파일을 다운로드 받아 부팅 디스켓에 덮어쓰기 하면 된다. zip 파일로 압축되어 있으니 먼저 압축을 해제하고 A 드라이브에 복사하면 된다.

    두번째 차이점은 각종 외부 명령어가 첨부된다는 것이다. 부팅시스켓으로 부팅하면 command.com 내에 있는 내부명령어(copy, del, md, type 등)만 사용할 수 있지만 시동 디스켓을 이용하면 꽤 유익한 명령어(fdisk, format, edit, sys, attrib 등)들이 들어있다. 이러한 외부명령어들은 대부분 램드라이브(RAM Drive)라는 새로운 드라이브에 위치하게 된다.

    이 정도면 도스용 부팅 디스켓에 대해서는 거의 꿰고 있다고 해도 과언이 아닐것이다. 물론 각종 명령어에 대해서는 스스로 공부를 해야 할 것이다. :-)


Windows 2000용 부팅 디스켓 만들기


  1. 만드는 법
  2. 누차하는 이야기이지만 Windows 2000는 더이상 DOS 부팅을 지원하지 않기 때문에 Windows 95/98과 같은 방법으로 부팅할 수는 없다. 다만 하드디스크의 NTloader나 boot.ini 파일이 깨졌을때를 대비해서 플로피 디스크 부팅은 가능하다.

    먼저 Windows 2000에서 디스켓을 포맷한다. 반드시 Windows 2000에서 해야한다. 이유는 필자도 모른다. :-)

    다음으로 C:\에 있는 ntldr, ntdetect.com, boot.ini 를 디스크에 복사한다. 위 파일들은 windos 2000이 부팅할 때 사용되는 시스템 파일들이다. 만약 복구콘솔을 설치한 분들은 추가로 ntbootdd.sys, cmldr도 함께 복사한다.

    이제 끝이다. 간단한 만큼 기능도 미약한다.

  3. 주의사항
  4. 만약 Windows 2000 자체에 문제가 생겼다면 무용지물이다. 또한 boot.ini 파일은 타인의 컴퓨터에서 단순하게 카피해 오면 안된다. 컴퓨터마다 boot.ini 파일 내용이 다를 수 있기 때문이다. 반드시 자신의 컴퓨터에서 복사한다.(물론 스스로 boot.ini 파일을 만들 수도 있지만 문법이 꽤나 어렵다. 이 부분에 대해서는 다음 강좌에서 소개하겠다.)

    위 방법은 Windows xp에서도 동일하게 적용된다.


Windows 2000/XP용 설치 디스켓 만들기


부팅 디스켓, 시동 디스켓이 나오더니 이제 설치 디스켓이라는 말이 나온다. :-) 사실 Windows 95/98에서는 시동 디스켓=설치 디스켓이었다. 하지만 Windows 2000/XP에서는 시동 디스켓이라는 용어는 사라지고 대신에 Windows 2000/XP를 플로피디스크상에서 설치할 수 있게 해주는 설치 디스켓이라는 것이 있다. 물론 시디롬부팅이 되는 Windows 2000/XP CD라면 별 유용성이 없는 것이다.

  1. Windows 2000용
  2. 4장의 디스켓과 Windows 2000 CD가 필요하다.

    CD 내용을 보면 Bootdisk 라는 폴더가 있는데 그 안을 열어보면 아래 그림과 같이 이미지 파일 4개와 이미지를 기록할 수 있는 프로그램 2개가 있다.


    앞서 설명한 Windows 2000/XP에서 Windows 98 시동디스크 만들기를 떠올리면 비슷하다는 생각이 들것이다.

    MAKEBOOT.EXE는 도스용(16bit 운영체제에서 사용)이고, MAKEBT32.EXE는 윈도우와 같은 32bit 운영체제에서 사용할 수 있는 유틸리티이다.

    윈도우상에서 설치 디스켓을 만든다면 탐색기에서 MAKEBT32.EXE를 더블클릭하면 된다. 이하 설명은 생략하도록 하겠다. 메뉴가 한글로 뜨기 때문에 사용하는데 아무 지장이 없을 것이다. 그저 프로그램에서 요구하는데로 디스켓만 갈아 끼워주면 된다.

  3. Windows XP용
  4. Windows XP 설치 디스켓을 만들려면 총 6장의 디스켓과 Windows 2000과 마찬가지로 이미지파일과 이미지기록용 프로그램이 필요하다. 그런데 이상하게도 Windows XP 시디안에는 그런 파일이 없다.(Windows 2000과의 차이점이다.) 그렇다면 위 파일들을 어디에서 구해야 할까? 쉽다. MS 홈페이지에서 다운 받으면 된다.

    다운로드 받기 → [한글 Windows XP Professional 용]   [한글 Windows XP Home Edition 용]

    사용법은 정말 간단하다. 더블클릭하고 라이센스에 동의하면 Windows 2000에서의 그것과 똑같은 화면을 볼 수 있을것이다. 다만 6장의 디스켓을 요구할뿐...


Windows 2000용 응급복구 디스크(ERD) 만들기


또 있어? 하는 분들도 있을것이다. 필자도 괴롭다. :-)

Windows 2000의 응급복구 디스크는 운영체제가 갑자기 바보(?)가 되어버린 경우에 사용할 수 있는 아주 괜찮은 복구툴이다. 정말 강추한다.

한가지 유의해야 할 것은 응급 복구 디스크를 사용하는 경우 기본적인 시스템 파일, 파티션 부트 섹터 및 시작 환경만을 복구할 수 있다. 레지스트리(Registry, 복구콘솔 이용)나 데이타 복구(백업 이용)는 불가능하다.

  1. 만드는 법
  2. [시작]→[프로그램]→[보조프로그램]→[시스템 도구]→[백업]을 선택한다.

    빨간색 박스 안에 있는 사각형 버튼을 누르면 응급복구 디스크를 만들 수 있다.

    응급복구 디스크를 만드는 선택 사항으로 '복구 디렉토리로 레지스트리 백업, 레지스트리가 손상된 경우, 이 백업을 사용하여 시스템을 백업할 수 있습니다.'가 있는데 가급적 체크하기 바란다.

    또 하나 주의해야 할 점은 응급복구 디스크 내용은 디스켓을 작성한 순간의 운영체제 상황을 기록한 것이기 때문에 추후 다른 작업(서비스팩 설치, 하드웨어 변경, 프로그램 추가/제거 등)을 한 경우에는 복구가 불가능할 수 있다. 때문에 중요한 작업을 하기 전과 후에는 항상 복구 디스켓을 작성하는 습관을 가져야 할 것이다. 너무나 당연한 얘기지만 타인의 컴퓨터에서 작성한 응급복구 디스크는 아무러 쓸모가 없다는 것을 명심해야 한다.

    이런 방법으로 해서 제작된 응급복구 디스켓에는 총 3개의 파일이 저장된다. autoexec.nt, config.nt, setup.log 이 그것이다. autoexec.nt, config.nt 파일은 MS-DOS 서브 시스템 파일로 별로 중요하지 않은 것임에 반해 setup.log 파일은 실질적인 복구과정을 담은 파일로서 디스크/폴더/파일 정보를 담고 있다. 일종의 로그파일이라 생각하면 될 것이다.

  3. 사용법
  4. 응급복구 디스크를 사용하기 위해서는 반드시 Windows 2000 설치 CD가 필요하다. 물론 부팅가능 CD이어야 한다. (CD-ROM 부팅이 불가하다면 위에서 설명한 'Windows 2000 설치 디스크'를 만들어야 한다.)

    1. Windows 2000 설치 CD 또는 설치 디스켓(CD 부팅이 불가능한 경우)을 드라이브에 넣는다.
    2. 텍스트 기반 설치 부분이 시작되면 프롬프트에 따라 R 키를 눌러서 복구 옵션을 선택한다.
    3. Windows 2000 설치 CD를 넣으라는 명령이 나타되면 CD를 넣는다.
    4. 프롬프트가 표시되면 R 키를 눌러 응급 복구 프로세스를 선택한다.
    5. 프롬프트가 표시되면 다음 중에서 선택한다.

      - 수동 복구(M 키) : 이 옵션을 사용하면 시스템 파일, 파티션 부트 섹터 문제, 시작 환경 문제 등을 선택하여 복구할 수 있다.(고급 사용자 또는 관리자만 사용)

      - 빠른 복구(F 키) : 가장 쉬운 옵션이고 입력이 필요없다. 이 옵션은 시스템 파일, 시스템 디스크의 파티션 부트 섹터, 시작 환경(듀얼 부팅 또는 멀티 부팅 시스템인 경우) 등과 관련된 문제를 복구하는 데 사용된다.

    6. 응급 복구 디스크를 넣으라는 프롬프트가 나타되면 FDD에 디스켓을 넣는다.
      복구 작업을 하는 동안 없거나 손상된 파일이 Windows 2000 CD 또는 시스템 파티션의 systemroot\Repair 폴더의 파일로 교체된다.
    7. 제대로 복구되어 프로세스를 완료하면 시스템을 다시 시작한다. 부팅이 된다면 교체된 파일이 하드 디스크에 제대로 복사된 것이다.

  5. Windows XP용은?
  6. Windows XP 에서는 Windows 2000과 조금 다르다. '응급복구 디스크'가 '시스템 자동복구 마법사(ASR)'로 바뀌었다. 이름도 바뀌고 버전도 올라간 만큼 기능도 많이 향상되었으리라 믿는다.(필자도 아직 사용해 보지 않았기 때문에... ^^;)

    응급복구 디스크의 경우에는 1.44MB 디스켓 한장에 쏙~ 들어갔지만 시스템 자동복구 마법사의 경우에는 정말 택!도 없다. 이는 응급복구 디스크가 위치 정보(로그파일)만 담고 있는 반면에 ASR은 시스템을 시작하는데 필요한 시스템 파일 자체를 담고 있기 때문이다. 이에 관한 자세한 정보는 필자가 테스트해 본 후에 다시 정리해 보도록 하겠다.


마치며...


이상으로 부팅/시동/응급복구 디스켓에 대해서 알아보았다.

Windows 운영체제가 확실한 믿음을 줄만큼 안정적이지는 못하다는 것을 알면서도 정작 부팅(시동)디스크나 응급복구 디스크(&백업)의 필요성과 중요성은 별로 느끼지 못하는것 같다.

有備無患, 渴而穿井 이라는 고사성어도 있다. 당장 필요없는 내용이라고 쉽게 넘기지 말고 미리 준비해 둔다면 모두 살이 되고 피가 될 수 있을 것이다. ^^;

신고
1년이라는 시간이 흘렀다.
1년이라는 시간은 지구가 어떤 시작점을 기준으로 한바퀴 돌았다는 걸 의미 한다고 한다.
지구가 태양계에 떠 다니며 태양과 힘 조절을 하면서 자기가 있었던 위치로 다시 돌아오는
시간이 딱 일년 걸린다고 한다.
나도 모르게 지구는 벌써 26바퀴나 돌았나 보다.
많이 돌았다.
내가 지구에서 살면서 지구의 운동을 인지 한적은 한번도 없다.
그냥 학교에서 배운데로 그냥 그렇게 알고 있을뿐이지..

북극 그리고 남극
나침반은 지구의 자기장에 반응 하여 방위를 알려준다.

진정으로 북쪽은 지구의 위쪽을 의미 해야 하는걸까?
지구의 위쪽에는 무엇이 있을까?

지구는 둥글고 지구는 어떠한 선을 궤도로 태양을 돈다.
태양도 어떠한 궤도로 조금씩 돈다고 배운거 같다.
아주 조금이지만 그래도 돈다고.
그러면 내가 생각 했던 것과는 다르게 지구는 몇천년전과 다른 위치로 가는것임에 틀림없다.
태양계가 움직인다는 의미는 무엇을 의미 하는건지..
모르겠다.

컴퓨터 사이언스 라는 분야에서 나는 시스템 즉 관리 입장의 분야가 좋다.
시스템 관리에 관한 이슈에 관심이 많다.
시스템을 관리 하기 위해서는 그 시스템을 알아야 한다.
어떠한 시스템을 주워졌을때 그 시스템이 어떻게 생겨 먹은지 알고
그다음에 그 시스템을 깨끗하게 청소 해주고 그 시스템을 내가 제어 해야 한다.
이 시스템에서 발 붙이고 살 사람들을 위해 평등하면서도 우선순위를 고려 하면서
시스템을 이용할 수 있게 나는 어떠한 매카니즘 즉 법을 만들고 법을 이용 할 수있는
통로 법률 같은것도 제공 해야 한다.
컴퓨터 세상에서는  운영체제가 어떠한 구조인지 보고 그 구조에 따라 맞춰서 애플리케이션을
만들어야 한다.
운영체제가  DOS이면 아주 간단하게 그냥 무한루프 돌면서 자기만 생각 하며 살면 된다.
윈도우이면 다른 사람도 생각 하고 살아야 한다.
이런 시스템 아주 안정적인 시스템을 만드는 사람이 되고 싶다.

컴퓨터 사이언스 측면에서는 아주 밑단 부터 하고자 한다.
신고

눈을 돌리면 창문이 있네...
어둡네...
좀 있으면 환해 지겠지...
그러겠지...
당연한 소리만 하네...
세상은 왜 맨날 무한 루프만 도는걸까?
해는 매일 뜨고 지지
꽃들은 여기저기 피고 지지
세상의 이치를 따지는 인간들은 매일 같은 이 일상의 규칙을 왜 구분 하려 드는걸까?

왜 그러는 걸까?

왜 사는거지?

인간은 어쩌다가 이 지구에서 살까?

우주의 저 넓은 우주의 어딘가에서 그들은 무엇을 생각 하고 살까?

저 넓은 우주의 생물체들은 우리를 어떤 관점으로 바라볼까?
우리는 미개한 종족
우리가 무심코 밟는 개미의 존재와 같이
거대한 우주는 하나의 모래알의 존재 인것을..

우주가 모래알이면 이런 거대한 우주는 존나게 많다.
존나게 많은 우주들은 하나의 모래 알로서 사막을 아루고 있고 그 사막 위에는 낙타가 있다.
낙타는 우리 우주를 발로 짓밟는다.
우주안의 하나의 은하계 은하계 안의 태양계중 지구의 대한민국 서울에 사는 나는 낙타가 보이지 않는다.
낙타도 내가 보이지 않는다.
이러한 차원의 갭을 이기고 하나님은 우릴 과연 어떤 존재로 인식 하고 있는 거냐?

괘변의 세계에 빠지면
괘변이 잘 풀리면
그날은 우울한 날이다.

소주를 마셔야 한다.

내 괘변을 이해 해줄 사람이 없다.
점점 외로워 진다.

이 괘변은 중학교때 부터인가? 시작 된거 같다.
모래알 이론 푸하하

신고

26살의 꿈

분류없음 2006.12.13 20:06 by LoofBackER

나는 내가 누군지 모른다.

내가 누굴까?

나는 무엇을 하고 살아야 하는 놈일까?

컴퓨터 프로그래밍을 잘 하는 사람이 되기를 꿈꾸다가

이제는 너무 많은걸 바라는 속물이 되어 가나?

유학!!....

내 주제를 알자.

내가 그런 사람이 될 수 있을까?

나는 누군가?

유학 머 그거 대단 하나?

그냥 가면 되는거지..

머릿 속에 떠오르는 단어 ....

돈 돈 돈
시발....

돈이 나는 없다.

돈은 나에게 없다.

돈은 내 것이 아니다.

돈을 나에게 오게 할 수 없다.

돈을 나는 가지고 있지 않다.

젠장.

돈을 부모님게 달라고 하는 행위

즉 돈줘 엄마

이말은 이제 신물 난다.

이말은 나를 썩게 만든다.

나는 나의 마음을 정말 누구 보다 더 내가 잘 안다.

내가 내안에 다른 누군가가 있어도

그래도

나는 누구 보다도 자신 있다.

나는 나를 안다.

유학이 갑자기 떠나고 싶네

왜 그럴까?

나는 내 정체성을 알지만.

그래도 하고 싶은거 내가 하고 싶은거 내가 하고자 하는것은

나도 모른 사이에 휙 하고 다가온다.

다가와서 내 마음을 송두리채 앗아가버리고

나는 껍데기만 남아 그곳으로 향해 내 껍질을 내던진다.

젠장.

돈이 문제다.

나도 걱정 없는 개부자 2세의 마인드를 가지고 개손을 벌리며

개돈을 뿌리고 싶다.

그렇지만 나는 개가 아니어서 개처럼 살 수 없다.

개처럼 벌어서 정승처럼 쓴다는 말이 있지.

개처럼 벌긴 개뿔

난 나의 마인드를 가진채 들어온 돈을 벌 생각이다.

나의 상식 아래의 돈.

상식적인돈을 상식적으로 쓴다면 그땐 나의 돈은 세상을 풍족하게 해주겠지.


아무튼 유학은 모르겠다.

더욱 더욱 조사를 해보아야 겠다.


멤버십의 회의를 느낀다.

점점더 느낀다.

이대로 이와 같은 마음으로는 나는 이집단의 일원일 수 없다.

곧 결정 날듯 하다.

나의 마음과 나의 행동이 어느 한 점을 향해 가겠지.

안녕

신고

윈도우 생성 보고서

분류없음 2006.12.12 20:03 by LoofBackER

윈도우 프로그래밍을 할때 윈도우를 생성 하는 루틴을 설명 해 드리겠습니다.
먼저 WinMain 에서 HWND  를 선언 하고 WNDCLASS 를 선언 합니다.
HWND는 윈도우 핸들을 선언 하는것입니다. HWND  라는 구조체가 있는데 여기의  멤버를 채워놓고 윈도우의 정보를 저장 합니다.
WNDCLASS는 윈도우 클래스를 선언 하는것입니다.
윈도우 클래스라는 구조체와 윈도우 핸들이라는 구조체 두개가 있습니다.
이 두개가 왜 있어야만 하냐면 윈도우 개발자 측면을 강조 하기 위해 만들어 진것 같습니다.

WinMain()이라는 메인 즉 첫 진입 함수 에서는 WndClass의 여러가지 구조체 멤버에게 값을 지정 해줍니다.
WndClass.cbClsExtra=0;
WndClass.cbWndExtra=0;
WndClass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
WndClass.hInstance=hInstance;
WndClass.lpfnWndProc=(WNDPROC)WndProc;
WndClass.lpszClassName=lpszClass;
WndClass.lpszMenuName=NULL;
WndClass.style=CS_HREDRAW | CS_VREDRAW;
이런식으로 백그라운드 색깔이나 커서 아이콘 인스턴스 콜백 함수 포인터 주소
클래스 이름 스타일 등등 의 멤버의 값을 넣고
RegisterClass()함수를 이용해서 클래스를 등록 합니다.
이때 RegisterClass()함수는 내부적으로 지금까지 등록 되어 있는 윈도우 들의 링크들 즉 링크드 리스트와 같이 클래스를 연결 시켜 놓은 링크를 따라 여러 윈도우 클래스를 검색 하면서 지금 등록 하려는 윈도우 클래스와 같은것이 있는지 검사 하고 없으면 등록을 합니다.
여기서 RegisterClass()에서 등록을 못하게 되면 윈도우는 생성이 되지 않습니다.
왜냐면 CreateWindow()함수에서는 RegisterClass()에서 등록을 한 윈도우 클래스만 윈도우 핸들로서 윈도우를 만들어 주기 때문입니다.
CreateWindow()함수의 인자는 CreateWindow(lpszClassName, lpszWindowName, dwStyle, x, y, nWidth, nHeight, hwndParent, hmenu, hinst, lpvParam) 이렇게 많습니다.
이런것들을 인자로 받은 CreateWindow()함수는 내부적으로 HWND 구조체의 멤버에 값을 넣겠죠.
이때 RegisterClass()에서 등록을 실패 했으면 윈도우는 생성 되지 않습니다.
핸들을 리턴 하지 않는 것이죠..
이때 WM_CREATE 메시지는 CreateWindow()함수가 발생을 시킵니다.
CreateWindow()함수가 리턴을 하게 되면 이제 윈도우의 생성 준비는 이미 마친것입니다.
윈도우는 등록 되었고 모든 설정값은 저장 되었습니다.
이제 ShowWindow()라는 함수가 호출 됨으로서 윈도우가 화면상에 나오게 됩니다.
이제 어떠한 사용자의 동작에 따라 메시지 햔들러에게 메시지를 보내는 그런 동작을 할 준비가 끝나고 이미 윈도우는 화면상에 나타난것입니다.

신고

SW 산업의 미래는 밝다

분류없음 2006.12.09 20:02 by LoofBackER
요즘 들어 컴퓨터 공학과의 인기는 날로 떨어지는 추세인것 같다.
닷컴기업들의 거품이 빠지면서 프로그래머가 되겠다는 사람들은 줄어드는것 같다.
대학의 인풋 데이터를 검색 해봐도 컴퓨터 프로그래머의 숫자는 격감 한 걸 알수있다.
그나마 컴공 졸업자들은 개발자의 길을 가지 않고 편한 서비스 업체의 관리직으로
빠지는 경향이 큰것 으로 보인다.

다 내생각이다.
그냥 선배들이나 주위 친구들을 보면 그런쪽으로 많이 가려는 듯 보인다.

컴공을 나왔으면 어느정도 프로그래밍 스킬을 익혀서 개발자로 취직을 하는것이
일반적이어야 하는데 공사 공무원 은행전산직 대기업 전산직으로 빠지는 사람들을
자주 목격한다.

전자회사 개발자나 현업 개발자로 가는 사람이 많지가 않은것이 사실이다.
인도 중국의 개발자는 연간 수백만명이 양산된다고 하는데 우리나라 개발자는
수가 대폭 줄고 있는 실정이다.

그런면에서 나는 다행이다.
국내의 경쟁 상대가 줄고 있다.
국가적인 차원에서는 손해 겠지만 내 몸값은 오를 확률이 아주 크다.
요즘은 임베디드니 머니 해서 많은 개발을 한다.
임베디드 환경은 점차 좋아 지고 있다.
임베디드 환경에서는 크로스 컴파일 환경을 구축하여서 개발을 한다.
이것이 순수 소프트웨어와 다른점이다.
그것 말고는 다른것이 거의 없다고 볼 수 있다.
미래에는 임베디드 환경도 지금의 펜티엄 프로세서 보다 나뻐지진 않겠지
물론 작은 센서 같은 것에는 큰 프로세서가 들어가진 않겠지만
임베디드의 환경은 좋아 질것이뻔하다.
현재에도 컴퓨터 환경이 많은 부분을 인류에게 가져다 주고 있지만
아직도 멀었다.
컴퓨터로 할일은 무궁 무진하다.
이것은 변할수없는 진리이다.
컴공인이여
우리는 고급 인력이다.

우리는 미래의 희망이다.
힘을 내서 기술력을 키우자
ㅋㅋㅋㅋ
졸리다.
신고

매는 하늘을 난다

분류없음 2006.12.03 20:01 by LoofBackER
머뭇 거린다.

머뭇 거려..

내 앞에 길이 여러개가 있다.

뒤로 갈수도 있다.

앞으로 갈 수도 있다.

옆으로 갈 수도 있다.

위로도 갈 수 있다.

앞으로 가는 길은 아직 안 가본길

뒤로가면 집이 있다.

포근한게 집 처럼 좋다.

인생을 즐기며 뒤로도 가고 싶다.

인생은 고난한 거라며

보이지도 않는 어둑한 길을 나침반도 없이

홀로 걷는다.

뛰어 가기엔 아직 나의 다리가 정비가 안되 있다.

좀더 노력 하자.

지금 내가 선택한 이길의 끝을 보면

내가 중간에 타협 없이 끝까지 간다면

조그만 빛이 보일거야.

하지만 망원경이 있다면...

멀리 내다 볼 수 있다면 그렇다면 멀리 내다 보며 길을 갈 수 있을텐데..

처음엔 길이 두개 였다.

둘 중 하나만 선택 했으면 돴었다.

지금은 길이 4개다.

네개중 하나만 선택 해야 한다.

길을 잘 못온건지.

자꾸만 뒤를 돌아 보게 된다.

뒤로 다시 돌아 갈 수는 없다.

앞으로 가면서 머리는 뒤를 본다.

뒤에서 발목을 잡는다.

발목이 잡혀서 질질 끌리지만 그래도 걷는다.

이런 삶을 계속 끌고 나가는 나는 외롭고 두렵고 각박하다.

몸이 지친다.

붕 떠오른다. 나 이대로 내버려 두지마.

나 이제 그만 이제 그만

난 자유롭고 싶은 한마리 매가 될래

매가 되면 이왕에 푸른 매가 될래.
신고

8/16 삼성 ARM 세미나 Q&A S3C2413A

분류없음 2006.12.02 19:59 by LoofBackER

8/16에 진행된 삼성 ARM 세미나 Q&A 리스트입니다.


업체마다 가격이 많이 다르던데 삼성칩 가격은 어떤가요??
가격은 CPU마다 틀립니다. 양산가로 대략 $10 초반입니다.

오늘 혹시 암시스템의 전체적인거랑 lcd와도 관련된거 이야기나오나요?
LCD Controller에 대해 간략히 설명만 합니다.

외부 메모리 인터페이스중에서 32-bit Synchronous방식 인터페이스도 지원 하나요?  32bit FIFO같은 장치를 붙일려고 하는데..
32bit 프로세서 이므로 GCS(chip select) 신호를 잘 이용하시면 32bit FIFO 연결이 가능합니다.

AP로 쓰이는 예를 몇가지만 들어주세요~ 임베디드와 별 차이 없어보이기도 해서요~~
Smart Phone이나 PMP용으로 최적화된 칩들을 예를 들 수 있겠습니다.

비디오 코덱이나 기타 멀티미디어 기능들이 모두 원칩화 되어 있습니다.

현재 arm7으로 개발 중입니다..당연히 도움이 되겠죠?
이번 세미나는 삼성ARM 기반으로 프로젝트 개발시, 성능과 전반적인 주변장치를 비교해서

가장 적절한 칩을 선택하기 위한 관련기술들을 소개하는데 목적이 있습니다.

ARM7은 강의내용에 포함되어 있지 않지만, 도움은 되실겁니다.

전체적인 구조와 회로연결을 보고 싶은데요,, lcd부분의 데이터 시트는 없나요? 특정 모델혹은 상용화된 모델의 데이터시트요,,
CLABSYS 홈페이지에 접속하시면, 삼성 ARM 칩별로 개발 보드와 LCD 보드들을 판매하고 있습니다.

참고하시면 많은 도움이 되실겁니다.

현재 ARM 프로세서의 클럭이 어디까지 올라갔나요? Maximum으로요..
실제 양산된 모델로는 최대 90MHz까지 동작합니다.물론 오버해서는 더 올라가지요... ^^

ARM9은 현재 700-800MHz 까지 동작합니다.

S3C2410A 와 S3C2413A 의 차이를 간략히 설명부탁드립니다. S3C2440
아래와 같은 몇가지 큰 차이점이 있습니다.
기본적으로는 가격은 2410과 같게, 성능은 2440과 같게 ^^
1.CAMIF : 영상입력이 가능
2.ATA : CF/IDE 컨트롤러 내장
3.DDR : SDRAM DDR(16bit) 지원
4.기타 One NAND나 부수적인 차이

Cortex가 ARM12을 다르게 부르는 건가요~~??
그런 개념으로 이해하시면 됩니다.

단 ARM12라고 부르지 않는 이유는 ARM11에 비해 고성능의 제품군도 있지만

새로운 개념의 ARM7 제품군도 포함되어 있기 때문입니다.

혹시 실시간으로 외부에서 들어오는 시그널을 카운트하면서(절대 놓치지 않으면서)

시리얼 통신또는 또다른 동작들을 처리가능 한가요?
외부에서 들어오는 신호(시그널)의 주파수와 대역폭이 문제겠지만,

특별한 상황이 아니라면 신호입력과 동시에 시리얼 기타 동작이 가능합니다.

정확한 것은 구체적인 정보가 필요하겠죠?

ARM12의 양산가격을 어느 정도로 생각하면 좋을가요?
Cortex(ARM12)는 크게 3가지 모델이 있습니다.

- Cortex-A8 : 고성능 멀티미디어용
- Cortex-R5 : 실시간 제어용
- Cortex-M3 : 마이컴 분야

전세계적으로 현재 양산되는 모델이 Cortex-M3 밖에 없어, 이것만 답변드리겠습니다.

Cortex-M3 컨셉은 마이컴 분야에서 저가격으로 ARM의 성능을 이용하자는 건데, 대략적인 가격은 1-3$ 내외입니다.

구체적인 정보나 기타 사항은 www.clabsys.com 영업팀으로 문의바랍니다.

S3C2800 중에 리드 타입이 하나 있죠..

ARM7 제품들 중에는 SOIC나 TQFP 타입도 나온 제품이 있습니다.

arm 11은 내부가 64비트 외부가 32비트로 구성 되나요
네 ARM10부터 내부는 64비트, 외부는 32비트로 되어 있습니다.

제품구매시에 하드웨어 보드는 구매가 되는데 소프트 디버거나 컴파일러등은 어떻게 되나요??
상용 컴파일러 등은 별도 구매하셔야 합니다.
다양한 제품들이 있는데, 소스 크기가 제한되어 있는 평가 버전을 이용하시거나 무료 GCC 컴파일러를 이용하셔도 됩니다.

Dual Bus가 Harvard 구조를 일컫는 말인가요~? 개념이 갑자기 헷갈려지네요 ^^;
Dual Bus는 DRAM버스와 local BUS가 따로 나와있는 것을 말하는 것이고 하버드 아키텍처는 메모리만

s3c2443은 일반업체에서 언제쯤 쓸수 있나요?
이제 막 ES 버전이 나왔습니다. 10월 말 쯤 평가보드가 나올 듯 하구요..

11월 말쯤 양산되어 일반 업체들은 그 때쯤 사용이 가능하실 듯 합니다.

S3C2410A 와 S3C2413A 그리고 S3C2440A의 차이점을 간단히 설명 부탁드립니다.
카메라 기능만 아니라면, 저속도는 2410 고성능은 2440으로 보시면 됩니다.

2413은 2410에 2440 성능을 가진다고 보면 되구요.
아울러 2413은 핸드폰과 같은 ARM926EJ-S 코어라서, DSP 확장명령어와 하드웨어 JAVA 모두 지원합니다.

S3C2410 : Basic
S3C2413 : 2410 + 카메라+ATA+DDR+One NAND
S3C2440 : 고성능 2410 + 카메라


삼성의 AP 중에 디스플레이 신호(VGA/LVDS)를 직접 생성해주는 제품도 있나요?
VGA란 아날로그 RGB를 말씀하시는건가요???
만약 아날로그 RGB라면 현재 나온 삼성 AP중에는 없습니다만
외부에 LVDS 또는 아날로그 RGB 드라이버 IC를 연결하시면 됩니다.

1024*768정도의 동영상을 재생하려 하면 어느정도의 코아를 써야 될까요???
데이타시트와는 달리 일반적인 UI 프로그램의 정지화면이나,

Windows CE 화면같은 것은 1024*768까지 동작하는데 문제가 없습니다.

다만 동영상 재생을 위의 해상도에서 하려면 문제가 많이 보입니다.

삼성반도체와 무관하게 일반적으로 ARM9은 QVGA/WQVGA에서 리얼타임 재생이 되고,

ARM11급에서 VGA/WVGA까지 가능합니다.

그 이상일 경우에는 특별한 코덱을 사용하거나, ARM 솔루션 중 특별한 기능을 사용해야 구현이 가능합니다.

arm920T코어를 사용해서 시스템 구축 한다고 하면 LCD도 920T에 맞는 것을 사용하면 괜찮나요??
LCD는 920T에 맞는 것은 없습니다.
LCD와 관련된 사항은 사용하실 LCD가 디지털인지 아날로그인지,

LCD가 어떤 방식으로 구종되는지등 LCD방식이 가장 중요합니다.
Core하고 LCD는 전혀 상관이 없습니다.

그럼 2410, 2413, 2440  모두 ARM9 을 사용한 보드인가요?
넵, 맞습니다.
다만 2410/2440은 ARM920T이고, 2413은 ARM926EJ-S라서 더 많은 명령어를 지원해서 훨씬 좋지요?

arm7,9,... 전체 제품의 명령어를 정리해 놓은 자료가 있을까?
ARM7, 9의 ASM의 경우 칩 테이터 시트에
기본적으로 포함이 되어 있으므로 데이터 시트를 참고하시거나
ARM홈페이지에 가시면 다운로드 받으실수 있습니다.

2413 데이터 쉬트가 미흡해 보이는데, 보강은 되지 않나요?
삼성의 홈페이지에 보면 업데이트 되어 있는데.. 확인해 보지 않으셨나요..?

시랩시스에서 제공되는 부분에서 uCOS-II 포팅에 대한 부분이 아직 제공이 되지 않는데, 아직 진행이 안 된 상황인가요?
SBC 시리즈의 uC/OS-II 작업은 모두 포팅되어 있습니다.
CD 및 홈페이지에는 아직 자료가 업데이트 되지 않았습니다.
익일까지 홈페이지에 업데이트 해 놓겠습니다.

S3C2413 EVD도 One-NAND를 적용해 사용중인가요??
CLABSYS 개발보드는 일반 NAND를 사용하며,

삼성반도체의 SMDK는 One-NAND도 부착할 수 있도록 되어 있습니다.

현재나와 있는 s3c2413에는 리눅스가 포팅되어 있는 건가요?
네.. 포팅되어 제공되고 있습니다.

one nand 용량이 얼마나되나요??
삼성 반도체 홈페이지에 가시면 용량별로 제품이 나와있습니다.참고하시기 바랍니다.

LCD는 6.4"까지만 지원하는 건가요?
데이터시트 상에는 640*480까지 지원이 가능하다고 하지만
실질적으로는 800*600까지 지원이 가능하므로 10.4"까지 지원이 가능합니다.

WinCE나 WinXP 포팅 가능한지?
WindowCE는 포팅 가능합니다. 현재 SBC 보드에서도 포팅하여 제공해 드리고 있구요..
XP의 경우는 x86 계열에서만 포팅 가능합니다.

controller를 포함호고 있는 모듈을 물어보는건데 labsys에서 판매하고 있는 것은 모듈로 920T에 맞게 나오는거 맞나요?

예를 들어 LP35같은거요
SBC 시리즈에는 모두 LCD 컨트롤러가 내장되어 있습니다.
920T와 926EJ 코어를 내장한 모듈이 준비되어 있구요..
LP35/LP40/LP64 등은 이러한 SBC에 모두 사용 가능하도록 만들어진 LCD 보드 입니다.  

동영상 플래이을 화면에 여러개 창으로 플래이할수 있나요?
삼성반도체 ARM11은 mDRAC III/mDRAC III+라고 합니다. 이 모델은 LCD 화면에 여러개의 창을 열고, 동영상 재생을 각각 실시간으로 재생하는 것으로 알고 있습니다. 참고하세요...

800*600은 안정적이지 않은 거 같은데, 어떤 LCD를 쓰세요?
CPU에 따라 다르지만
큰문제 없이 사용이 가능합니다.
저희가 개발용으로 사용한 LCD는 TTL방식의 디지털 LCD입니다.

혹 JAVA를 지원하는 컴파일러가 있나요?? JAVA를 사용한다는게 신기해서요..ㅎ
자바를 지원하는 컴파일러는  SUN에서만 라이센싱 하여 판매하고 있습니다.

LCD화면이 커지게 되면 CPU속도에 어떤 영향이 있습니까?
LCD가 커지면 2가지 현상들이 발생합니다.
결과적으로 32비트 버스 최고속도를 기준으로 결정하시고, CPU 성능은 기능을 감안하여 적절한 모델을 참조하세요.
첫째, LCD가 커진만큼 해상도가 증가하는데 이에 따라 프레임버퍼의 내용을 버스를 통해 LCD에 계속 뿌려줘야 하므로,

버스 대역폭 로드가 발생합니다.
둘째, 큰 해상도에 맞는영상처리를 해야 하므로, CPU의 성능도 좋아야 합니다.

sc32440의 RTC의 소모 전류는 어느정도 인지 알고 싶습니다.
수백uA 정도 소비가 됩니다.
자세한 사항은 S3C2440의 데이터 시트를 보시면 알수있습니다.

2410 을 가지고 리눅스 APP를 개발하고 있는데요. 2413 보드를 가지고도 APP 개발하는데는 문제가 없나요?
2413의 경우 리눅스로 APP개발을 하시는데 문제는 없습니다만
2410과 동일한 소스로 진행을 하실려고 하면 Core가 다르므로 동작을 하지 않습니다.

XGA동영상 재생에 문제가 있는것은 버퍼제한이 있어서 그런것입니까?
LCD Controller의 버퍼제한에는 문제가 없습니다.

XGA 급을 실시간으로 처리할 정도의 버스 대역폭과 하드웨어 코덱이 내장되어 있지 않다는데 문제가 있지요...

1024 * 768 은 지원하지 않나요???
현재 ARM9 기반의 SBC 시리즈에서는 LCD 컨트롤러가 지원하고 있지 않습니다. 또한 성능도 딸리구요..
1024*768 은 ARM11에서 사용 가능하시니 검토해 보시기 바랍니다.

s3c2413에 대해서만 설명을 하는 듯하네요. 이왕이면 s3c2442와 관련해서도 함께 설명해주었으면 더 좋을 듯한데요.
모바일 SDRAM과 NAND FLASH를 내장하고 있으니 기존의 삼성 ARM칩과 어느 정도 차별화된 칩인데 말이죠.
현재 세미나는 출시되어 있는 제품들을 기준으로 설명하고 있습니다.

하지만 뒷 부분에서.. 2442나 ARM11 제품들에 대해서도 비교 설명하고 있으니.. 끝가지 수강해 주세요..

혹시 XP embedded 에 대한 테스트도 진행하셨었나요?
ARM에서는 XP Embedded를 지원하지 않습니다. 즉, 테스트 불가하지요..^^

nand boot일 경우 DMA가 하드웨어로 설정되어 있나요?
NAND 부팅의 경우 초기 4KByte 복사는 DMA가 하드웨어로 설정이되고,

소프트웨어로 복사를 할때는 DMA를 소프트웨어로 설정하셔야 합니다.

WDT는 신뢰할 수 있나요? 오동작하는 경우는 없는지.....?
WDT의 신뢰성은 적용하고자 하는 응용분야에 따라 신뢰성의 기준이 달라집니다.

만약 의료/군사분야과 같은 엄격한 경우에는 ARM내부의 WDT가 발진회로나 PLL의 동작여부까지 반영되지 않으므로,

외부에 전용 칩을 달아주시는 것이 좋습니다.

제가 직접 컨트롤러 모듈을 제작할려고 하는데요 컨트롤러같은것을 clabsys에서 따로 판매하시는지 궁금합니다.
ARM7 컨트롤러를 말씀하시는 것인가요..?
ARM7 제품들은 ATEML SAM Series가 있고.. 삼성 제품으로는 3410/44B0X 가 모듈 형태로 준비되고 있습니다.
또한 추후 모델들은 Core Module 의 형태로 준비하고 있습니다.

저는 gcc만 써왔는데요. ADS와 RVDS의 차이점이 뭔가요?
일단 성능면에서는 아무래도 상용 제품이다보니  GCC 보다는 ADS/RVDS 가 더 좋습니다.

전에 삼성서 심도있게 비교 평가해 보았었는데.. 약 35% 정도 성능이 더 좋았습니다.
실무자 입장에서는 컴파일러에 따른 Directive 등의 명령어가 틀려서.. 어셈블리 작성하실 때 유의하시면 됩니다.

전에 LN2440보드를 썼을때 IIC로 컴퍼스 모듈을 제어했을때 초음파 센서를 동작시킬 경우 제대로 동작하지 않았는데 서로 방해되는 지요?
IIC를 사용하실 경우 디바이스에 따라 약간의 특성차이가
생겨 동작을 제대로 하지 않을 수 있습니다.
이런 경우에는 IIC Controller를 사용하시지 말고, GPIO로 제어를 하시면 문제가 해결이 될것입니다.

uCOS 포팅 자료를 제공하지 않나요?
제공하고 있습니다.

2413 보드에.. uC-OS II 포팅 예제를 지원 합니까?? 제공되는 소스에는 없어서요..
CD에 업데이트 되지 않았나 봅니다.

익일 저녁까지 홈페이지의 자료실에 업데이트 해 놓겠습니다.
불편을 끼쳐 죄송합니다.

지상파 DMB도 ARM으로 구현가능한가요?? 그리고 기업에서도 라이센스없이 구현이 가능한가요?
지상파 DMB의 멀티미디어 칩으로 여러가지 모델이 사용되고 있는데,

대표적으로 국내에서 많이 사용되는 Neptune 칩은 ARM코어가 내장되어 있습니다.
앞으로는 WinCE가 동작하는 메인 ARM 프로세서의 성능이 충분해서 소프트웨어 만으로 동작할 수 있는데,

S3C2443이나 ARM11 급에서 부터 가능해집니다.

LCD 컨트롤러에 TFT-LCD에 팔레트기능을 지원하던데 설명 좀 부탁드립니다,
삼성 ARM 프로세서에 내장된 LCD 컨트롤러는 예전부터 팔레트 기능을 지원하고 있습니다.

자세한 설명은 온라인상이라 답변이 힘들고,

CLABSYS의 ARM 프로세서 강의를 듣거나 실습을 통해 풀어가셔야 할 것 같습니다.

2413 데이터 쉬트가 많이 미흡한 듯 하던데, 혹시 계속 업데이트가 되고 있는지 궁금합니다.
삼성 홈페이지에서 계속 업데이트 되고 있습니다. 버전을 어떤 것을 가지고 계신지..^^

RTC의 소모전류의 경우 데이터시트에서 정확한 값을 찾을 수가 없어서 일허게 질문을 드리게되었스니다.

RTC의 소비전류의 경우 정확하게는 나와있지 않지만 수백uA이하로 생각하시면 됩니다.


BusHold Request에 대한 자세한 내용을 알고싶습니다.
Bus Request는 외부에서 버스 사용을 요청시 버스 제어권을 넘겨주는 방식을 말합니다.

AMBA 3 자료는 어디에서 구할 수 있나요? AMBA 2와의 차이점은?
가장 큰 차이로는 AMBA2에 비해 AXI 라는 64비트 버스를 지원하게 되었습니다.

ARM 사 홈페이지에 업로드 되지 않았나요..?
없다면 ARM 사에 올려달라고 요청하겠습니다.

BSP의 소스코드 지원은 어느 정도 되나요?
당사에서는 BSP 소스 지원은 하지 않습니다.
안정성과 기능성을 높인 대신 바이너리로만 제공하고 있습니다.

arm9 LCD 모듈를 직접 제작 할려고 하는데 컨트롤러 칩같은것을 모듈 형태가 아닌 각각의 형태로 판매하나요?
CLABSYS나 기타 회사에서 판매하는 ARM9 개발보드는 크기도 크고 필요없는 기능도 많지요?

만약 원하시는 LCD에 ARM9 보드 기능만을 쉽고 빠르게 추가하시려면,

CLABSYS의 CM(Core Module) 모듈을 추천합니다.

칩 기준으로 개발할 필요없이, CPU, ROM, RAM과 전원, 클럭 등이 모두 40x30mm 크기로 제공되어 구현이 빠릅니다.
칩을 구매 가능한지를 질문하는 것은 아니죠? 이 내용은 CLABSYS 영업팀으로 문의주세요... ^^

Core 가 다르면 Linux를 올리는데 달라지는 것이 무엇무엇이 있나요? 커널이미지나 램디시크가 달라지나요?
Core가 달라지면 Linux의 컴파일러가 달라지므로 사용하실려고 하는 Core의 컴파일러로 재컴파일을 하셔야 합니다.

cpu 속도는 보통 몇 MIPS인가요?
흔히 MHz당 몇 MIPS나 나옵니까? 라는 질문이 많이 합니다.
결론, 버스구성이나 사용하는 메모리에 따라 무지하게 차이가 많이 납니다. CPU 속도가 같아도요.
Dhrystone이나 Whestone 소스가 인터넷에 있습니다. 이걸 ARM 컴파일러로 컴파일 해서 보드에서 돌려보세요.
정확한 MIPS를 얻으실 수 있습니다.

삼성에서 나오는 arm9용 LCD 모듈 데이터 시트를 구할수 있는지요
저희 홈페이지의 자료실에 업로드 되어 있습니다.
회원 로긴 하신 후 다운로드 받으실 수 있습니다 .

ethernet부분은 아직까지 10Mbps를 고집하는 이유가 있는지 궁금합니다. 요즘은 100M 기본인듯 한데..
ARM 프로세서는 응용 분야에 따라 몇가지로 나뉘는데, 멀티미디어용/제어용/네트워크용 등으로 분류할 수 있습니다.
Ethernet 기능등으로 사용하는 네트워크 용의 경우에는 당연히 100M를 지원해야 할 뿐 아니라,

채널도 기본적으로 2채널 이상을 지원해야 리피터나 라우터 등의 기능 구현이 가능하겠지요?
이런 용도의 칩은 저가격에 별도로 잘 나와 있어서 이를 사용하시면 됩니다. 원칩에 모두 내장되어 있으니깐요...
그리고 성능도 잘 나옵니다. 내부적으로 DMA기반으로 동작하도록 되어 있습니다.


반면 세미나에서 주로 언급하는 모델등은 멀티미디어 용인데,

외부에 100M 이더넷을 붙여봐야 인터럽트 기반의 소프트웨어로 드라이버를 제작해야 하는 관계로

성능이 나오지도 않고(버스 대역폭의 한계), 주로 개발용으로만 사용하는 관계로

기존부터 널리 사용되던(개발의 부담이 없는) 10M 모델을 주로 사용하는 것입니다.
이해되시죠? ^^

iic 통신을 사용하는데요. 기본이 슬레이브 수신모드 입니다.

그러다가 커멘드가 입력되면(커멘드의 종류에 따라서.). 슬레이브 송신모드로 변경하는데 문제가 있는것 같습니다. 

커멘드 종료는 주소,command,rx또는tx 이렇게 3바트로 구성됨.

슬레이브 수신에서 송신으로 변경하는 경우.. 다시 start 시그널부터 시작해서 주소를 전송하고 해야 하는지 알고 싶습니다.
IIC의 경우 마스터 모드, 슬레이브 모드가 별도로 있는 것이 아닙니다.
IC마다 다르지만 보통의 경우 데이터를 읽어올대는
ID+R/W신호(  예: ID가 0x20이고 R일때 1이면, ID 보낼때 0x21을 보냄)
를 보내고, 읽을 주소를 보내면 해당 데이터가 들어오게 됩니다.


s3c2440에 보면 iic가 있는데.. 이것의 동작방식을 마스터,슬레이브 및 송신,수신 모드를 설정하게 되어 있습니다.

슬레이브 송신 수신 모드를 사용하는데.. 수신에서 송신으로 변환시 문제가 발생합니다. 그래서 질문을 드린것입니다.
IIC Controller의 특성일 수도 있으므로
GPIO로 제어를 해보시거나 모드 변경시(수신->송신)
재 초기화를 해보시기 바랍니다.

LCD 인터페이스는 RGB인터페이스만 지원하나요?
현재 당사에서 판매하고 있는 제품으로는 RGB와 CPU 버스 방식을 지원하고 있습니다.

조만간 출시될 2443이라는 제품에서는 CCIR601 인터페이스도 지원될 것입니다.

아 추가로 RTC전원관리는 어떤 식인지요?
RTC는 시간이 계속가야 되므로 별도로 Battery를 달아
지속적으로 시간 Count가 되도록합니다.

그림에서 "Video Decoder"가 ARM칩 내부에 내장이 되어 있나요?
아니요.. 별도의 외장 칩을 사용하여 구현하였습니다.

ARM과 Flash 간의 인터페이스는 Flash 제조사마다 다른가요. ARM에서는 이러한 인터페이스를 모두 제공해주나요.
보통은 호완성 때문에 인터페이스는 통일되어 있으므로 큰 문제는 없습니다만
특이할 경우는 메모리와 어드레스, 제어신호등이 사용하실려는 ARM 칩에 연결이 가능한지 확인을 해보셔야 합니다.

core가 같으면 다른 모델이라도 같은 컴파일러를 쓰면 되나요?
KEIL이나 일부 컴파일러는 프로세서 별로 라이센스가 부여되어 모델별로 다른 제품을 사용하셔야 합니다.
하지만 ADS/RVDS와 같이 일반적인 컴파일러는 코어별 라이센스가 부여되어

코어만 같으면 다른 모델이라도 상관없이 사용 가능하십니다.

임베디드 보드에.. Linux를 올리는 것과 WIN.CE를 올리기 위한 차이가 있나요??
리눅스의 경우 GCC라는 무료 컴파일러를 사용하여 포팅을 하는 반면,

WinCE의 경우  플래폼 빌더라는 컴파일러를 구매하신후 포팅을 하셔야 합니다.
또한 리눅스의 경우 폭넓은 자료를 얻을 수 있어 WinCE보다 쉽게 접근을 할 수 있으나.

WINCE의 경우 자료가 적어 처음공부하실때 어려움이 따릅니다.

lcd 17"와이드에 사용하여 1024*768, 1280*768로 3,4개의 창에서 동영상을 플래이 시킬려면 추천할수있는 프로세서나 제품이 있는지요?
말씀하신 스펙에 대해서는 ARM 보다는 x86이나 FPGA와 같이 하드웨어로 구현하시어 사용하시는 것이 더 바람직합니다.

제가 ARM을 이제 막 시작한 초보라 ARM7과 9에서 SD나 T-flash 같은것도 내부에서 지원이 되나요??
T-flash는 잘 모르겠지만, SD/MMC 컨트롤러는 ARM9 급에 모두 내장되어 있어 저가격으로 쉽게 구현이 가능합니다.
ARM7/9 가격 차이가 몇 천원 안나니깐, ARM9을 사용하세요...


추가답변 : T-Flash는 규격이 sd와 호환되는것으로 알고 있습니다. 사이즈만 다른것이므로 지원될 것입니다.

회로도랑 데이터시트,, 구매기록이 없으면 다운받을수 없다는데요,,ㅠ.ㅠ
아.. 회로도는 구매자에 한하여 다운로드 가능하나 데이터시트는 회원이면 다운로드 가능하도록 해 놓은 것으로 기억합니다.

다운로드가 안된다면 금일 저녁 확인해 보세요.. 수정해 놓겠습니다.

SD카드에 대해서 파일개념으로 하였을 경우 읽기/쓰기 속도는 어느정도 보장하는지요?
SD카드의 읽기/쓰기 속도는 OS의 드라이버 및 H/W에 따라 차이가 크므로 어느정도 속도를 보장을 할 수 없습니다.

ARM칩 내부에 PCI지원해주는 모델도 있나요??
넵, BGA 패키지가 아닌 유일한 ARM9인데요.
S3C2880이라고 PCI 컨트롤러가 내장되어 있습니다.

다만 주변장치가 풍부하지 않고 많이 사용하지 않아 추천하고 싶지는 않네요..

2410의 경우 ADC쪽에서 중간 값(Vref/2)을 읽지 못하는 문제를 보았었습니다.

2440이나 2443의 경우에는 그런 문제점이 없을지 알고 싶습니다.
이 경우는 삼성전자에 문의를 하셔야 될것 같습니다.

MMC Plus에서 4/8bit mode를 지원한다고 했는데, data pin이 1개인데 어떻게 지원되는지 간략히 알려 주세요.
MMC Plus에서는 핀의 갯수가 달라졌습니다.

요즘 MMC Plus 메모리 카드 구매하시면 접촉 신호선이 2줄입니다.
데이타 핀이 총 8개입니다.
인터넷에서 자료 검색해 보세요... ^^
8비트 모드를 지원하는 모델은 S3C2443부터입니다.

답변중 S3C2410과 S3C2440의 차이점이 약간 틀린 부분이 있군요.

S3C2410에는 AC97이 없구요. S3C2440은 있는데요. 물론 Camera 기능도 S3C2440에는 추가되었다는 것도..
일단 큰 차이만 말씀드려서 착오가 있는 것 같습니다.
오디오 출력 인터페이스는 2410.2413.2440 모두 지원합니다.
다만 IIS는 모두 지원하는 반면, AC97 인터페이스는 2440만 지원합니다.

2410/2413은 지원 안 합니다.

지금 설명해 주시는 사항들은 2413 기반의 926 Core 사양들이지요?

2410 의 920T Core 의 사양은 따로 데이터시트등을 확인해봐야 하겠죠?
세미나에서 언급되는 삼성반도체의 ARM9의 경우에는

S3C2413만이 ARM926EJ-S 코어이며, 기타 칩은 모두 ARM920T입니다.
DSP 확장명령어, 하드웨어 JAVA를 사용하지 않는 경우에는,

소프트웨어 개발시 특별히 데이터시트를 보실 필요가 없습니다.

컴파일러 설정시 코어만 선택하면 모두 호환됩니다.
소프트웨어 개발시에는 주로 주변장치에 대해서만 데이타시트를 참조하지요... ^^

비디오 인터페이스와 카메라 인터페이스가 지원되는 Core는 어떤 것들이 있나요? ARM 9 범위 내에서 부탁드립니다.
삼성반도체 ARM9 프로세서에 국한해서 답변드립니다.
카메라 인터페이스 (CCIR656/601 8bit)를 지원하는 모델은 S3C2413/2440/2442/2443이고,

화면 출력시 비디오 인터페이스 CCIR601를 지원하는 모델은 S3C2443입니다.
공집합은 S3C2443 뿐이네요...
혹시 비디오 인터페이스가 NTSC와 같은 신호라면, 모두 가능합니다.
질문하신 내용과 맞나요? 도움이 되시기를 바랍니다.

2413보드에서 SD Card를 4bit 방식으로 데이터 처리를 하던데..

SPI방식이나 1Bit 방식과 비료해 볼때 속도 면에서는 어느정도 우수하나요??
굉장히 힘드 질문이네요?
실제 대역폭 성능은 SD 버스폭보다도 내부 FIFO나 드라이버 구성(DMA사용여부) 등의 영향을 많이 받습니다.
내부적으로는 OS나 SD 모델별, 드라이버 별로 제품개발시 튜닝 및 최적화를 수행합니다.
SPI 방식의 경우에는 FIFO를 사용하지 않으므로 비교할 수 없을 정도로 느립니다.

동일 SD 컨트롤러를 사용할 경우에는 1/4bit의 성능비교를 하기는 조금 힘드네요.

1비트 모드는 저희가 WinCE 4.2에서만 사용한 관계로 절대비교가 힘듭니다.
대략적으로 말씀드리면 대충 30-40% 정도가 아닐까 예상합니다.

보드를 제작하였느데 8set중에 하나가 NAND Flash D/L중 TOC Configuration 접속이 되지 않아 후속작업을 하지못하고 있는데,

혹시 어디를 점검해야 할까요?
답변드리기에는 정보가 너무 부족하네요..
NAND의 CS, RnB등 Controller신호에 문제가 없는지 확인을 해보시기 바랍니다.

외부에 부착된 Flash를 프로그래밍 할때( JTAG이용 ) Xscale의 경우

회로가 공개된 Wiggler/Byte Blaster등 간단한 하드웨어와

인텔에서 무료로 제공하는 Jflashmm 이라는 소프트웨어를이용해 개발이 가능한데 삼성프로서의 경우는 어떤식으로 제공하나요?
삼성의 경우에도 인텔과 비슷한 기능을 하는 소프트웨어 소스를 제공하고 있습니다.

삼성 홈페이지에 오픈되어 있습니다.
저희 제품 중 JFlash의 경우도, 오픈된 삼성의 소스를 저희 보드에 맞게 최적화하여 판매하고 있는 것입니다.  

보드마다 USB-B type이 접속이 잘 되는 보드도 있고 안되는 보드도 있는데 이는 어떤 이유가 있을까요?
USB 접속이 안된다면, 포트가 나간 이유 밖에 없습니다.
되다 안되다 한다고 하시면.. PC 상에서 USB 인식을 할 때 전원이 딸려 그럴수도 있습니다.
USB 케이블을 연결하기시 전에 전원인가를 해 주신 후 USB 케이블을 연결해 주세요..

앞서 다른분이 100Mbps 이더넷에 관해 질문을 하셨고 그에 대한 답변이 있던데 그에 대해 궁금한게 있어서 질문 드립니다.
외부에 100M 이더넷을 붙여도 인터럽트 기반의 소프트웨어로는 성능이 나오지 않는다고 하셨는데
최근 많이 사용되는 S3C2440와 같은 칩의 경우 동작 속도가 400MHz나 되는데 100M 이더넷의 성능을 낼수 없다는게 잘 이해가 안갑니다.
그리고, 100M 이더넷을 지원하는 별도의 칩이 잘 나와있다고 하셨는데 이에 대한 관련 정보 부탁드립니다.
음... 오해가 있으신데요...
실제 측정해 보시면 이해하실 것 같습니다.
통상 외부 이더넷 컨트롤러는 16/32비트 버스에 부착합니다.
S3C2440 400MHz에서 C로 코딩해 보세요.
메모리 영역간 복사를 할 때 최대 속도가 얼마나 나오는지...
3MB/sec를 크게 넘지 못할 겁니다.
이더넷 컨트롤러에서 데이타를 읽거나 써야 전송대역폭이 나올텐데, 버스 트래픽이 걸리니 재 속도가 안 나오겠지요?
이론적인 버스 속도, 클럭 속도만을 보시는 것은 의미가 없습니다.


앞선 100M 이더넷 관련 질문에 대한 답변 감사드립니다. ^^
질문한 내용 중에 100M 이더넷 지원하는 별도의 칩에 대해서 문의를 드렸는데 여기에 대해서는 답변이 없네요.
여기 관련해서도 답변해주시면 감사하겠습니다.

100M 내장된 네트워크용 ARM9 프로세서는 삼성반도체의 경우 단종으로 인해 추천하지 않습니다.

Micrel사와 같은 회사에서 적절한 모델을 검토하시면

1만이하에 ARM코어 기반에 100M 다채널이 포함된 프로세서들을 보실 수 있습니다.

2442 가격이 어떻게 되죠?
클럭이나 메모리에 따라 다르지만, 대략 20불 후반 정도 예상하시면 됩니다.

CPU+Memory를 따로 구매하는 것보다 약간 더 비싸다고 생각하시면 됩니다.

코덱얘긴중 MP3관련 언급이 없던디.. 삼성껀 어찌 처리하나요? Hw? Sw??
MP3도 역시 SW 코덱으로 처리합니다.

S3C24A0에는 MPEG4에 대한 하드웨어 엑셀레이터가 내장된 것으로 알고 있는데요.
S3C24A0는 H/W MPEG4 Encoder/Decoder 가속기 블럭들이 들어 있는 것 맞습니다.

Win-CE Booting시 초기화 중 FMD Init. 중에서 멈춰 더이상 진행되지 않는 경우가 있는데 이는 어떤 문제가 있을까요?
정확한 내용은 CLABSYS 홈페이지에 질문해 주시면 더욱 좋을 것 같습니다.
초기 WinCE 개발시 종종 나오는 문제인데,

빌드 과정이나 프로젝트 구성 중에 오류가 발생하는 경우가 있고 메모리 버스가 불안해서 그러는 경우가 있습니다.
전체 빌드 해보시고, 하드웨어 의심스럽다면 버스 클럭을 조금 낮춰서 빌드한 후 사용해 보세요...

920T Core 에서 카메라 인터페이스와 비디오 인터페이스 모두 구현 가능한지요?
코어와는 상관 없구요..컨트롤러가 내장되어 있으면 가능합니다.

2413과 2440에서는 컨트롤러가 내장되어 있습니다.

920T Core 에서 카메라 인터페이스와 비디오 인터페이스 모두 구현 가능한지요?
비디오 인터페이스가 CCIR601 비디오 출력 인터페이스면 되는 건가요?

CRT/TV 어떤 비디오 인가에 따라 달라집니다.
S3C2443은 ARM920T이고, 카메라 입력과 비디오 출력 모두 지원합니다.

시랩시스에서 멋진 키트들을 많이 개발하시는데, 구매자 이외에는 자료를 대부분 공개를 안 하시네요.

어느정도는 제공해 주시면 안 된느지요?
ARM7의 경우는 회원에 한해 모두 공개하고 있습니다.
ARM9의 경우는 문서들만 오픈하고 있구요..
어느 정도라 하면..^^;
의견을 주세요.. 검토해 보겠습니다.

수고하셨습니다..^^ 좋은 것 많이 알게 되었네요..아까 듣다가 끊어져 버려서 질문올린게 없어졌는데요...

삼성 arm chip의 경우 두개 이상을 연동해서 한 시스템으로 사용할 수 있나요??

아니면 각자 따로따로 시스템 인터페이스를 구축해야 하나요..오늘 정말 좋은 정보와 세미나 감사드립니다..^^
2칩 멀티 프로세서 시스템을 구현하고자 할 때,

각각의 메모리 시스템을 사용할 거라면 S3C24A0와 같은 칩을 사용하면 편리합니다.

스마트 폰을 염두에 둔 것인데, 2개의 프로세서를 연결하기 위한 DPRAM과 기타 제어회로가 모두 원칩화 되어 있어 편리합니다.
만약 동일 메모리를 사용하면서 멀티 프로세서를 구현하고자 한다면 ARM11 MPCore를 추천합니다.

메모리는 공통이며, ARM11 코어가 최대 4개까지 병렬로 동작합니다.

ARM을 이용한 회로 개발을 할 때 제일 고민하는 부분 중에 하나가

아트웤 후에 테스트 보드 또는 생산 할 때 높은 클럭 속도등을 이유로..제대로 동작이 안되기도 한다 들었는데..

그런것을 지원가능한가요?
고객분들이 그런 문의를 많이 해 주셔서..
사실, 그런 부분은 기술 지원해 드리기는 많이 어렵습니다.
그래서.. 큰 고민이 되는 고속 인터페이스 부분인 CPU/ROM/RAM 등으로만 코어 모듈을 제작하여 판매하고 있습니다.

이런 것들을 이용해 보심이 어떠신지요..?

출처: http://cafe.naver.com/onlineseminar.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=55
신고
TAG S3C2413A
1 

카테고리

분류 전체보기 (107)
::::::Dairy::::: (5)
:::::what?::::: (1)
:::::Computer::::: (5)
:::::Idea::::: (2)
:::::Want::::: (1)

달력

«   2006/12   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

티스토리 툴바