2006년 11월 27일 월요일

리시버(앰프) 상식 (용어 설명) | 음향기술

* 5.1 채널 입력단자(5.1 Channel Input)

이 6개의 아나로그 시그날 입력 단자는 외부의 DD 디코더나 DTS 디코더, 이러한 디코더들이 내장된 DVD 플레이어로부터 디코딩된 다중채널 사운드(DD, DTS 같은)를 입력 받기 위해 존재하는데 흔히 이런 5.1채널 입력단자를 갖춘 리시버를 5.1채널 레디 리시버(5.1Channel Ready Receiver) 라 부르기도 하며, 이러한 5.1채널 아나로그 시그날 입력단자가 있는 리시버는 앞으로 나올 차세대 DVD-Audio 포맷에 대응 할 수 있기도 하다.

* 주파수 대역폭(Bandwidth)

리시버를 구매하기 위해서는 주파수 대역폭(Range Of Frequency 혹은 Bandwidth)을 염두에 두어야 하며 좁은 대역의 주파수 대역폭을 핸들링 하는 리시버보다 20-20,000Hz의 인간의 모든 가청 주파수 대역을 핸들링 하는 리시버를 구매 하는 것이 중요하다.

* 디지털 오디오 입력단자(Digital Audio Inputs), 디지털 오디오 출력단자(Digital Audio Outputs)

돌비 디지털이나 DTS 디코더를 내장한 리시버는 DVDP의 다중채널(5.1채널) 디지털 신호나 CD 혹은 MD의 스테레오의 디지털 신호를 입력 받기 위하여 이에 대응할 수 있는 광학(Optical) 단자나 동축(Coxial) 단자를 내장하고 있다.

* 광(Optical) 단자, 동축(Coxial) 단자

AV 기기들의 디지털 오디오 신호를 연결하는 방식은 흔히 위의 두 가지 방식이 이용되고 있습니다. 일반적으로 디지털 기기라 할수 있는 CDP, DVDP 등의 구조는 크게 타이틀 자체에 디지털 입력되어 있는 신호를 읽어 들이는 부분과 (흔히 트랜스포트 라 합니다),

요 읽어 들여진 디지털 신호를 스피커로 들을 수 있도록 아나로그로 전환 시켜주는 오디오 D/A 컨버터(오디오 D/A 컨버터란, 디지털 쏘스에 입력되어져 있는 디지털 오디오 신호를 스피커를 통해 들을 수 있는 아나로그 신호로 전환하는 것을 의미합니다.) 부분으로 되어진 형태를 띄고 있는데, 요 디지털 오디오 신호를 읽어서 CDP, DVDP 등에 내장되어져 있는 D/A 컨버터를 거치지 않고 AV 리시버나 기타 다른 기기로 보낼 때 이용하는 입/출력 단자입니다.

그럼 왜 자체에 내장 되어진 D/A 컨버터를 이용하지 않고 AV 리시버로 디지털 신호를 전송 하는지에 대해서 의문이 생길 것입니다. 그 이유는 다름이 아니라 일반적으로 CDP의 경우는 오디오 D/A 컨버팅을 거치더라도 아나로그 음원은 좌/우 의 스테레오 2 채널로 분리되어 2개의 선으로 간단히 앰프에 연결이 가능하지만, DVDP의 경우는 다르겠죠?

만약 DVDP에서 DD(돌비디지탈) 이나 DTS(Digital Theater Systems) 의 5.1채널의 사운드로 인코딩 되어져 있는 경우에는 DVDP 에 내장되어져 있는 오디오 D/A 컨버터로 컨버팅 후에는 무려 5.1 채널의 아나로그 신호로 분리되어지고 이것을 앰프로 연결하려면 6개나 되는 라인이 필요하게 됩니다.

그 밖에, DVDP 자체에 내장된 오디오 D/A 컨버터 보다 AV 리시버등에 내장된 오디오 D/A 컨버터가 보다 더 효율적이고 안정적으로 컨버팅을 수행하기 때문이지요..

일반적으로 동축단자를 연결하기 위한 동축케이블은 저항값 75오옴의 선이면 가능하구요 광단자를 연결하기 위해서는 광케이블이 필요합니다. 흔히 일반적으로 광케이블로 연결하는 것보다 동축 단자로 연결하는 것이 소리가 더 두툼하고 해상도가 좋다고 알려져 있지만 꼭 그런 것은 아닙니다. (광단자를 통해 들어온 디지털 오디오 신호를 처리 하는 회로부분이 아직도 많은 개선이 요구가 되기 때문이며 이론상으론 광 단자가 더 좋은 음질을 낸다고 알려져 있습니다..)

주의할 점은 광케이블의 경우, 꺽이면 안되므로 조심해서 다루어야 합니다.

* DSP(Digital Signal Processing)

일부 기종의 리시버들은 신호음의 가감을 통해서 디지털 신호 처리부에서 인위적인 음장감을 형성하는 회로를 내장하고 있는데 이를 DSP 라 한다.

* 돌비디지탈(Dolby Digital, DD)

돌비 디지탈은 각각 분리된 다중의 채널을 이용하는 서라운드 방식입니다. '분리' 란 의미가 매우 중요한데, 이것은 사운드가 가지고 있는 정보를 각각 5.1채널, 총 6개의 채널로 분리시켜, 명확하고 독립적으로 이용함을 의미합니다.

돌비 디지탈은 종종 5.1채널 방식이라고 하는데, 20-20,000Hz 까지의 주파수 대역의 정보를 갖고 있는 프론트 좌우 2채널, 센타 1채널, 서라운드 좌우 2채널의 총 5채널의 정보와, 20-120 Hz 까지의 LFE(Low Frequency Effects, 저음효과)를 담고 있는 0.1채널의 서브우퍼 채널부분이 더 해진 것을 의미합니다. (아래그림 참조)

DVD와 HDTV, 그리고 위성 방송용으로 개발된 오디오 포맷이지만 근래에 들어서, DVD의 대중화와 함께 자리잡은 5.1채널(6채널)의 사운드가 인코딩 되어져 있는 오디오 포맷의 한종류이다.

돌비 디지탈의 두드러진 특징으로는 20-20,000Hz 까지의 주파수 대역 정보를 담고 있는 각각의 프론트와 센타, 스테레오 서라운드의 5채널과 여기에 더해진 0.1채널의 서브우퍼 채널로 정의되며, 이러한 분리된 돌비 디지탈의 사운드는 훨씬 명료하고 현장감있는 사운드와 또렷한 대사 전달을 가능하게 하고, 또한 이러한 특징들은 돌비 디지탈 포맷이 돌비 프로로직 보다도 훨씬 깊은 저역의 양감과 사운드 퀄러티를 제공 하게 되는 것입니다.

또한 돌비 디지탈의 뛰어난 데이타 압축방식은 질 좋은 사운드 퀄러티를 유지하면서 디스크 기록면의 사용 용량을 줄일수 있는 효율성 때문에 DVD나, LD등의 멀티 채널 포맷으로 쉽게 자리 잡을수 있었으며, 또 적은 용량으로 6 채널의 분리된 멀티 채널을 요구하는 차세대 HDTV 방송 등 차세대 공중파 방송등에서도 적극적인 도입을 검토 하는 단계입니다. (아래그림 참조)

DVD와 HDTV, 그리고 위성 방송용으로 개발된 오디오 포맷으로 1채널에서 6채널의 사운드가 인코딩 되어져 있다. 5.1 채널의 돌비 디지털은 6개의 분리된 오디오 채널을 가지고 있는데, 20-20,000Hz까지의 가청주파수 대역을 커버하는 5채널(프론트 좌.우 각 1채널, 센터 1채널, 서라운드 좌,우 각 1채널 총 5채널)의 오디오 신호와 0.1 에 해당하는 LFE(Low Frequency Effects, 저음효과) 를 담당하는 서브우퍼 채널을 지칭 하는 것이다.

근래에 들어서 리시버들이 돌비 디지털 디코더가 내장 되어진 형태로 출시 되어지고 있으며, 흔히 돌비 디지털 대응형(Doly Digital Reagy)의 리시버는 내장된 돌비 디지털 디코더 없이 6개의 아나로그 사운드 입력단자들만 가지고 있어서 돌비 디지털 디코더가 내장된 DVDP를 이용하거나 외장형의 돌비디지탈 디코더를 이용해야 하므로 구매시에 유의해야 한다.

* 돌비 프로로직(Dolby Pro Logic)

돌비 프로로직은 다중채널의 한 모델이며, 이것은 프론트 채널의 음원으로부터 센터나, 서라운드 같은 다른 채널로 이끌어 내는 방식을 의미합니다. 이러한 경우에, 센타와 서라운드 채널은 프론트의 좌,우 신호로부터 분리 되어 지는 것입니다. 이렇게 분리된 서라운드 신호는 스테레오가 아닌 모노의 신호음을 가지게 됩니다. (아래그림 참조)

돌비 프로로직 같은 서라운드 방식이 대중적이게 된 것은, 그 답은 간단한데, 센터, 그리고 서라운드를 포함하는 사운드 트랙의 다중 정보를 2채널로 믹스 다운(Mixed Down, 혼합)하여 이용 가능하게 했기 때문입니다.

즉 아래의 그림처럼 프론트 채널의 좌,우 신호와, 센터, 서라운드의(모노) 4채널의 사운드 트랙의 신호음을, 인코딩을 시켜 2채널의 신호로 믹스다운 하여 이용하는 방식이며, (아래그림 참조)

이러한 2채널로 인코딩 되어 있는 돌비 서라운드 신호는 비디오 테이프, LD, 그리고 위성 혹은 스테레오 TV 방송을 경유하여 손쉽게 이용 가능하게 됩니다.

그 다음에, 가정에서 그 신호음을 다시 돌비 프로로직 디코더를 내장한 리시버를 통하여 재생되는데, 이때 이 돌비 프로로직 디코더를 내장한 리시버가 돌비 프로로직 방식으로 인코딩 되어진 신호를 프론트 채널의 좌,우 신호와, 센터, 서라운드의(모노), 4 채널로 바꿔주는 것입니다.

이러한 과정은 채널의 분리도를 간단하게 높일 수 있게 되고 원하는 매체를 통하여(비디오 테이프, LD, 그리고 위성 혹은 스테레오 TV 방송) 사운드를 손쉽게 전송하고, 분리해내 이용 가능 할수 있게 되는 것입니다.

* DTS (Digital Theater Systems)

DTS 는 Digital Theater Systems의 약자로 영화나 음악에 사용되는 다채널 서라운드 코딩(Coding) 테크놀로지의 명칭이다.

DTS 는 높고 유연한 압축 알고리듬을 가지고 있어서 최대 샘플링 레이트 192kHz, 24bit 로 이용이 가능한데 이는 일반 CD의 녹음 방식인 리니어 PCM 코딩 방식과(44.1kHz, 16bit) 비교 할 때 훨씬 높은 해상도를 가짐을 알 수 있다.

즉, 아나로그 음향을 가지고 디지털로 바꾸는 작업을 샘플링(Sampling) 이라고 하는데, 두 채널의 16bit의 리니어 PCM 코딩 방식으로 녹음된 CD의 경우, 초당 44,100회(44.1kHz) 까지 샘플링 작업이 가능하며 이처럼 16bit의 샘플링 주파수를 가진 CD의 경우, 65,536(2의 16승) 까지의 주파수 진폭을 가지게 된다.

그러나 DTS처럼 24비트 방식으로 녹음된 CD음의 경우 샘플링 주파수는 16,777,216(2의 24승)의 주파수 진폭 레벨을 가지게 된다. 이처럼 커다란 차이는 훨씬 다이나믹하고 생생한 레코딩이 가능하게 되고 오리지날 마스터 음원으로부터 완벽에 가까운 재생이 가능하게 되는 것이다.

DTS가 영화산업에서 첫번째로 빅 히트를 친 것은 1993년 스티븐 스필버그 감독이 출시한 ‘주라기 공원(Jurassic Park)’ 부터이다. DTS는 DD처럼 여섯 채널을 가진 서라운드 사운드이지만 DD와는 아주 중요한 차이점이 존재한다.즉 극장에서 음향을 재생할 때, DD는 필름과 필름사이에 녹음되어 있는 사운드 트랙에 직접적으로 인코딩 되어져 재생되지만 (아래 그림 1 참조),


그림1

DTS 는 CD에 DTS 방식으로 인코딩 되어진 사운드 트랙을 저장하였다가 필름이 재생될 때 각 영화 플레임에 맞도록 정교한 플레이어 시스템을 이용하여 재생하게 되는 것이다.

또한 DTS는 플레이 되는 CD 사운드에 중대한 오류가 발생이 될 때 임시적으로 수행이 가능하도록 영화 필름상에 스테레오의 백업 사운드를 포함하고 있어서 더욱 안전하기도 하다. 이러한 이유로 인해 현재 약 18,000곳의 영화관이 DTS 서라운드 시스템을 채택하고 있다.

현재 이 DTS는 영화관을 위해 개발된 5.1채널의 오디오 포맷의 한 종류지만 압축률이 돌비디지탈보다 낮기 때문에 더 좋은 음질을 제공해 주어서 홈씨어터 부분에서 두드러진 증가세를 보이고 있다.

DTS 대 Dolby Digital 의 압축률의 차이는 3.5:1 대 12:1 로 그 차이가 많이 나며, 전송률 또한 차이가 많이 나는데, DTS 가 1.5Mbits/sec 인데 비해서 Dolby Digital 은 384 kbits/sec 의 전송률을 가진다.

* FM 수신감도(FM Sensitivity)

리시버의 FM 신호를 잡아주는 능력으로 낮은 숫자일수록 리시버에 내장된 FM 튜너가 좋은 수신감도를 가진 것이다.

* 순간 최대 출력(High Current Power)

리시버의 전기신호(전류)가 스피커의 보이스 코일을 통해서 돔이나, 콘지를 진동 시켜서 소리신호로 변환이 되는데, 영화의 사운드 트랙이나 음악 안에는 순간적으로 짧은 시간에 많은 양의 전기신호(전류)를 필요로 하는, 즉 다이나믹한 소리를 내 줘야 하는, 그런 부분이 있는데, 이때 순간 최대 출력이 높은 리시버가 같은 와트수(W)의 앰프일지라도 소리를 더 펀치력 있고 파워풀하게 만들어 준다.

* OSD(On Screen Display)

일부 고가 기종의 리시버들은 GUI(Graphic User Interface) 를 이용하여 아이콘 형태로 TV 스크린상에 리시버의 동작상태나 제어 상태들을 표시 하고 이를 통해서 쉽게 콘트롤 할 수 있도록 하는 기능이 있는데 이러한 기능을 OSD 라한다. 또한 일부 기종의 리시버들은 리모트 콘트롤러에 LCD 판넬을 내장하여 이러한 기능을 수행하기도 한다.

* 포노 입력단자(Phono Input)

턴테이블에서 나오는 신호음은 다른 오디오 기기들(CD, DVD,Tape,LD 등등)의 신호음 보다 훨씬 작기 때문에 앰프와 연결하기 위하여 포노 앰프 등을 이용하기도 하는데 포노 입력 단자가 있는 리시버의 경우는 이러한 포노 앰프를 거치치 않고 턴테이블의 신호음을 받아 들여서 재생 할 수 있는 리시버이다.

* 파워앰프(Power Amplifier)

파워앰프는 프리 앰프에서 나온 낮은 신호음을 가지고 스피커를 구동 할 수 있도록 해주는 말 그대로 파워 증폭 앰프인데. 보통의 일반적인 리시버는 인티그레이티드 앰프(Integrated Amplifier, 인티그레이티드 앰프는 파워 앰프부와 프리앰프부가 합쳐진, 2채널 스테레오 신호음을 재생하기위한 앰프를 지칭한다) 처럼 이러한 파원 앰프부와 프리 앰프부를 둘 다 내장한 형태로 유통이 되어지며, 파워앰프부와 프리앰프부가 분리된 고급형의 리시버들도 유통이 되어진다.

* 프리앰프(Preamplifier)

제어앰프(Control Amplifier) 나 제어센타(Control Center) 라고 불리기도 하는데 프리앰프는 여러 외부기기 들로부터 들어온 외부음의 신호를 선택하여 콘트롤 할 수 있도록 해주는 앰프로 미약하게나마 파워앰프에서 요구하는 정도로 이 신호음을 증폭 시켜서 파워앰프로 보내는 역할을 한다.

* 리시버(Receiver)

프리임프, 파워 앰프, AM/FM 튜너 등이 하나로 통합되어져 콘트롤 할수 있는 오디오 형태를 지칭하는 말이다.

* RMS Power vs Peak Power

앰프나 리시버가 일정하게 출력해 낼 수 있는 최대의 파워를 와트수(W)로 표시하여 나타낸 것이 RMS Power 이고, 순간적으로 리시버나 앰프가 나타 낼수 있는 파워를 와트수(W)로 표시하여 나타낸 것이 Peak Power 이다. RMS Power 가 높을수록 음의 찌그러짐 없이 사운드를 더 크고 더 깨끗하고 표현 할 수 있다.

앰프 나 리시버 구매시에 이점을 주의 하여야 하는데, 일부 리시버나 앰프 제조회사 중에는 제품 스펙이나 제품 판넬 상에 이 순간 최대 출력치인 Peak Power를 마치 RMS 파워인 것처럼 표기해 놓아서 혼돈을 일으키는 경우가 왕왕 있다.

* 컴포지트단자(Copposite, 일명 RCA 단자), S-Video 단자, 컴포넌트 단자(Component)

위의 단자들은 비디오(화상)신호를 전송하는 입.출력 방식입니다. TV는 빛의 삼원색인 RGB(Red, Green, Blue) 요 세 가지의 색을 이용하여 나머지 색상을 재생을 하는데, 요 RGB 신호는 휘도신호인 Y 와 색차신호인 Cb, Cr 로 분리 되어 Video나 DVD/Ld 등에 저장 되어 있다가 TV 에서 다시 컨버팅(전환)이 되어서 Y/Cb/Cr => RGB 로 바뀌어져 화면에 표현이 되는 것입니다.

이중 Composite 단자는 요 Y/Cr/Cb 신호를 하나로 뭉뚱그려서 합친 상태로 전송 하는 방식인데 비하여 둥그런 모양의 커넥터안에 4개의 핀이 지원되는 S-Video 단자는 비디오 시그날의 색차신호(Chrominance, Cr/Cb)와 밝기 신호인 휘도(Y)를 각각 두개로 분리하여 전송하는 방식으로 컴포지트 단자로 전송 할 때 보다 섬세하고 높은 해상도를 표현 할수 있습니다.

컴포넌트 단자는 S 단자보다 더 진보된 것으로 Y, Cb, Cr 신호를 각 독립적인 선으로 분리 하여 전송하는 방식으로 S 단자보다 더 정확한 색상표현이 가능하게 한 방식으로 일반적으로 DVD 등에는 꼭 요 컴포넌트 출력 단자가 지원이 되고 있습니다.

따라서 DVDP 와 TV의 연결방식은 컴포넌트 단자로 연결하는 것이 최고로 좋으며, 요 컴포넌트 단자는 일반적으로 특성임피던스가 75오옴을 지원하는 케이블이면 어느것이나 적용이 가능합니다. 다만 요즘 나오는 TV 들은 대부분이 S 단자는 지원하나 일부 최고급 기종이 아니면 컴포넌트 단자를 지원하지 않고 있습니다.

* 왜율(THD, Total Harmonic Distortion)

음의 왜곡률이란 말로 앰프나 리시버가 재생하는 재생 음의 정확도를 수치로 표현한 것으로 리시버나 앰프의 내부에서 발생되는 노이즈의 양을 의미한다. 일반적으로 수치가 낮을수록 좋다.

출처 : fineAV

2006년 11월 22일 수요일

Free Software for embedded systems — Free Electrons

http://free-electrons.com/

SkyEye - Open Source Simulator

http://www.skyeye.org/

About SkyEye

SkyEye is an Open Source Software Project (GPL Licence). Origin from GDB/Armulator, The goal of SkyEye is to provide an integrated simulation environment in Linux and Windows. SkyEye environment simulates typical Embedded Computer Systems (Now it supports a series ARM architecture based microprocessors and Blackfin DSP Processor). You can run some Embedded Operation System such as ARM Linux, uClinux, uc/OS-II (ucos-ii) etc. in SkyEye, and analyse or debug them at source level. See below for completed lists.

Please Note: Due to main development of SkyEye on gro.clinux.org, the SkyEye files on sourceforge website might be slightly delayed, but we try to keep it updated. Please access:

http://gro.clinux.org/projects/skyeye/
for latest information and latest release tarball of SkyEye!

Now the following hardwares can be simulated by SkyEye:
  • CPU CORE: ARM7TDMI, ARM720T,StrongARM, XScale, Blackfin

  • APPLICATION CPU: Atmel AT91X40/AT91RM9200,Cirrus CIRRUS LOGIC EP7312/EP9312 CS89712,Intel SA1100/SA1110, Intel PXA 25x/27x, Samsung 4510B/44B0/2410/2440, Sharp LH7xxxx, NS9750, Philips LPC22xx, BF533

  • MEMORY: RAM, ROM, Flash

  • Peripheral: Timer, UART,NIC chip,LCD, TouchScreen, etc.
Now the following Operating Systems and system softwares can run in SkyEye:
  • uC/OSII-2.x with network support

  • uClinux based on Linux2.4.x/2.6.x with Network/LCD/TouchScreen/Flash Mem support

  • ARM Linux 2.4.x/2.6.x with Network/LCD/TouchScreen/Flash Mem support

  • Ecos and rtems

  • lwIP on uC/OSII

  • applications on uC/OSII, uClinux,ARM Linux

2006년 11월 21일 화요일

레오폴드, 네트워크 지원 외장형 HDD `랜디스크 테라`출시

http://www.dt.co.kr/contents.htm?article_no=2006112102011232718002

PC주변기기 전문업체 레오폴드(대표 신용석)는 네트워크 지원 외장형 하드디스크드라이브(HDD) `랜디스크 테라ㆍ사진`를 출시한다고 20일 밝혔다.

신제품은 1테라바이트(TB) 및 2TB 용량 2가지 제품으로 출시되며, 4대까지 HDD를 장착할 수 있다. 레이드(RAID)를 지원하고 시리얼ATA 방식을 사용해 고속 파일 공유와 네트워크를 이용한 데이터 백업이 가능하다.

시스템을 켠 상태에서 HDD 교체가 가능하며 USB와 eSATA 단자를 2개씩 탑재해 디지털카메라 데이터를 옮기거나, 프린터서버 등으로 사용할 수도 있다. 가격은 1TB 120만원, 2TB 230만원.

2006/11/21, 이형근기자@디지털타임스

RAID장치 : HDL-GT2.0 (2 TERA) 상품 상세보기: http://www.leopold.co.kr/cart/?doc=cart/item.php&it_id=1163987442

"Teardown of Sony PlayStation 3" 관련주소들

sony playstation 3 teardown - Google 검색
 
Circuit board removed from Sony PlayStation 3 console - Google 검색
 
The Sony PlayStation 3 Dissected - The Prophecy Forums
 
PLAYSTATION 3ハードウェアレポート【速報編】
 
Take a Look Inside Sony’s PlayStation 3 with Semiconductor Insights - Semiconductor Insights

2006년 11월 20일 월요일

Re: [gnuarm] Jtag Circuit Diagram

--------------- Original message -------------
From : "Ian Guffick"<iguffick@iee.org>
To : <gnuarm@yahoogroups.com>
CC :
Date : Sat, 18 Nov 2006 5:23:8 +0900 (KST), Fri, 17 Nov 2006 20:18:02 -0000
Subject : Re: [gnuarm] Jtag Circuti Diagram
 
> Hi ALL,
>
> I have board of LPC2138 of ARM7 board. presently i am downloading
> program from my PC to board using RS232(ISP). i wanted to download
> program using J-Tag.
>
> From where do i get complete diagram of J-TAG circuit diagram, so that
> i can develop at my home.(I am not in a position to purchase J-TAG so
> i want it free)
>
> From where do i get Free Utility to download program from My PC to arm
> board using J-TAG connector.
>
> Thanks a lot in advance
>
> Dharmendra
>
 
You will be able to find schematics for "wiggler" interfaces from many places, that will give you the necessary hardware.
For software have a look at OpenOCD at http://openocd.berlios.de/web/
If you have problems configuring/using OpenOCD there is a forum at http://www.sparkfun.com/cgi-bin/phpbb/viewforum.php?f=18
 
There are other interfaces such as the Amontec units :-
http://www.amontec.com/jtagkey-tiny.shtml
Quite cheap and has the advantage of operating over USB (the wiggler uses the parallel port).
 
Regards,
Ian Guffick.

2006년 11월 19일 일요일

[컬럼] 초보자를 위한 임베디드 리눅스 학습 가이드

[컬럼] 초보자를 위한 임베디드 리눅스 학습 가이드


목차

1. 개요

2. 저작권

3. 문서

4. 임베디드 리눅스를 공부하기 위하여 자신의 상태에 따라서 무엇을 해야 하는가?
4.1 임베디드리눅스를 공부하고자 하는분들이 가장 먼저 해야 할일
4.2 리눅스를 설치 해 본적도 없는 초 울트라 초차
4.3 리눅스 명령에 익숙하지 않다면
4.4 리눅스 디렉토리 구조를 모른다면
4.5 쉘 스크립트를 모른다면
4.6 유닉스 운영 체제를 모른다면
4.7 C 언어를 모른다면
4.8 리눅스에서 도는 어플리케이션을 작성한 적이 없다.
4.9 make 사용법을 모른다면
4.10 리눅스가 동작하기 위한 최소한의 기본 구성에 대해 아는 것이 없다.
4.11 커널 컴파일을 해 본적이 없다면.
4.12 커널의 구조를 모른다면
4.13 어셈블러를 모른다면

5. 윗글에서 제안한 리눅스의 개발과 관련한 기본을 다진후 진행하는 방법
5.1 디바이스 드라이버를 정복하라!!!
5.1.1 어떤 책이 좋을까?
5.1.2 디바이스 드라이버 프로그램을 직접 해본다.
5.1.3 프린터 포트를 이용한 캐랙터 디바이스를 만든다.
5.1.4 자신이 사용하는 커널 버전이외의 내용은 과감하게 삭제한다.
5.1.4 네트웍크용 디바이스 드라이버는 공부해라.
5.1.5 기존에 디바이스 드라이버를 한번쯤 스스로 재 작성해 보라.
5.2 커널을 이해하라....
5.3 커널을 이해하기 위한 방법론 및 어디까지?

6. 정말 임베디드 리눅스를 하려면
6.1 평가 보드를 구매하라...
6.2 평가 보드를 구매 했다면....
6.3 MCU를 공부하라..
6.4 평가 보드의 회로를 공부해라...
6.5 평가 보드에 사용되는 디바이스를 공부해라...
6.6 크로스 컴파일 환경을 구축하는 것을 공부하라...
6.7 부트 로더를 공부하라.
6.8 NFS 시스템에 대해서 공부하라...
6.9 그외 나머지는 어떻게?
6.9.1 MMU가 없다..
6.9.2 루트 디스크 이미지와 램 디스크
6.9.3 플래쉬 메모리에 대해서 공부 할것
6.9.4 계속 늘어 놓으면 한도 끝도 없을 것 같으므로 ...

7. 빨리 개발하는 방법....
7.1 이미 개발된 평가 보드를 이용할 것...

8.0 내가 하고 싶은 말은 ...

1. 개요

이 문서의 내용은 정말 초보자가 임베디드 리눅스를 어떻게 접근하면 좋은가에 대한 생각을 적어 놓은 것이다.

2. 저작권

이 문서는 GNU 라이센스를 따른다.
단 최초 작성인은 유영창임을 표시하여야 한다.

3. 문서

버전 1.0 - 2001. 06. 11
버전 1.1 - 2001. 06. (html version)
이 문서에 불만이 있거나 다른 생각이 있다면 여기로 메일을 보내 줄것
frog6502@hanmail.net

4. 임베디드 리눅스를 공부하기 위하여 자신의 상태에 따라서 무엇을 해야 하는가?


4.1 임베디드리눅스를 공부하고자 하는분들이 가장 먼저 해야 할일
임베디드 리눅스를 해야 겠다는 생각만 가지고 있다가 이젠 시작해야지 라는 생각을 하셨다면 우선 숨을 크게 들이키시고 내벹는 행동을 반복하신후 임베디드 리눅스를 단번에 점령하겠다는 생각을 버린다. ^^;
정말 임베디드 리눅스는 한번 들어가 보면 끝이 없어서 한두달 만에 끝장을 보겠다는 생각을 가지셨다면 당장 그만 둘것!
당장 그만 두지 않더라도 조만간 그만 두게 될것이다.
왜?
한두달안에는 끝나지 않기 때문이다.
혹시 시작하는 시점의 여러분의 실력이 리눅스의 커널을 이미 분석이 끝난 실력이라면...
더구나 여러 아키텍쳐에 포팅까지 한 실력이라면 정말 한두달 사이에 끝날수 있을 것이다.
굳이 임베디드 리눅스를 따로 할 필요가 없는 실력자이므로...
4.2 리눅스를 설치 해 본적도 없는 초 울트라 초차
당장 리눅스 배포판을 구한다.
PC에 리눅스를 설치한다.
4.3 리눅스 명령에 익숙하지 않다면
우선 리눅스에 관련된 책을 한권 산다.
그리고 한번 쭈욱 읽어 본다.
kldp.org 싸이트에 들락 날락 거리면서 man.kldp.org 도 참고 하면서....
단 주의 할것은 암기력에 자신 있는 분을 제외하고는 명령을 굳이 외우려고 하지 말것
자주 사용하는 명령은 손가락이 외운다.
굳이 사용도 하지 않는 명령을 외우려고 스트레스 쌓이지 말고...
더구나 리눅스 명령어는 정말 정말 너무 많다.
4.4 리눅스 디렉토리 구조를 모른다면
최상위 디렉토리를 외운다.
몇 개 안되므로...
그리고 서점에 간다...
리눅스 관련 책들을 보면서 디렉토리에 관련된 내용을 중점적으로 읽는다.
읽어야 하는 내용은 디렉토리 구현에 대한 것이 아니라..
각 디렉토리를 어떻게 구분해 놓았는가를 설명한 내용들을 읽는다.
대부분의 책들이 조금씩 만 소개하므로 굳이 책들을 사려고 하지 말고 서점에서 여러권을 설렵하는 것이 났다.
그리고 이것저것 패케지들을 손수 설치해 본다.
그러면 저절로 깨닫게 될것이다.
4.5 쉘 스크립트를 모른다면
리눅스를 하면서 쉘 스크립트를 모르면 고생문이 훤하다
사실 내가 그렇다.
그러나 쉘 스크립트를 아주 잘 할 필요는 없다.
쉘 스크립트를 읽을 정도면 된다.
쉘 스크립트를 작성할 필요가 있다면 스크립트에 대한 강좌를 인터넷에서 보고 하거나 다른 스크립트를 보면서 하면 되니까....
4.6 유닉스 운영 체제를 모른다면
유닉스 운영체제에 대한 최대한 쉽게 설명한 책을 골라서 그냥 소설 읽는 셈 치고 읽어 본다.

(참고) 쉽게 설명한 책들의 특징은
1. 그림이 많다.
2. 글씨가 크다.
3. 가격이 싸다.
4. 많은 사람들이 본다.
5. 두께가 얇다.
4.7 C 언어를 모른다면
이건 사람 얼굴에 입이 없는 셈이다.
밥 어떻게 먹으려나...
곧 굶어 죽게 될것이다.
바로 C의 기본적인 설명에 대한 책을 독파한다.
이건 정성 들여서 독파해야 한다.
임베디드 리눅스는 거의 C로 시작해서 C로 끝난다.
가끔 C++도 있지만....
4.8 리눅스에서 도는 어플리케이션을 작성한 적이 없다.
http://users.unitel.co.kr/~sangeun5/linux/lpg.html에 가본다.
정말 도움이 될것이다
4.9 make 사용법을 모른다면
make 사용법을 아주 잘 알 필요는 없다
그러나 기본적인 사용법은 알고 있어야 한다.
아주 복잡한 사용법은 이미 기술된것을 이용하는 것으로 충분하다.
4.10 리눅스가 동작하기 위한 최소한의 기본 구성에 대해 아는 것이 없다.
부팅 디스크를 만들어 본다.
여기서 주의 할것!
대부분의 분들이 켈프에 있는 부팅 디스크 만들기를 따라만 하시는데 이건 별로 효과가 없다.
부팅 디스크를 만드는 목적은 리눅스가 동작하기 위한 최소한의 기본 구성을 알고자 하는데 목적이 있다.
또한 로더의 필요성 커널과 루트 이미지의 분리와 램디스크에서 동작하는 것에 대해서 또 커널이 동작한 후에 실행되는 최소한의 진행과정을 이해하기 위한 것이다.
이를 알고자 하는데 목적을 두어야지 만드는데에만 열중하면 안된다.
또한 다른 부팅 디스크 이미지를 이용하여 그 내용을 살표보고 공부하여야 한다.
4.11 커널 컴파일을 해 본적이 없다면.
임베디드 리눅스는 커널을 가지고 놀아야 한다.
물론 안하고 하는 방법은 있다.
그러나 대부분의 임베디드 리눅스에서 커널 컴파일과 환경 설정은 거의 필수이다.
임베디드상에서 리눅스의 커널 환경을 설정하고 컴파일하는 방식과 우리가 일반적으로 다루는 PC의 커널을 다루는 방법은 거의 대부분이 같다.
PC상에서 커널을 자유자재로 가지고 논다는 것은 "임베디드상에서도 자유롭다"는 것을 의미한다.
4.12 커널의 구조를 모른다면
Uinx kernel 완전분석으로 가는길이라는 책을 한번 볼것
약간은 예전의 커널에 대한 이야기가 나오지만 커널이 어떻게 동작하는 지를 알수 있다.
4.13 어셈블러를 모른다면
임베디드 리눅스를 함에 있어서 어셈블러를 몰라도 가능한 영역은 있다.
그러나 많은 부분에서 부딪히게 된다.
고로 어셈블러는 필요 충분 조건이다.
어셈블러라는 것이 너무도 많은 종류가 존재하므로 모두 다 익히기는 어렵지만
자신이 사용하려는 MCU의 어셈블러는 익혀야 한다. 일단 PC를 이용한 임베디드에 대해서 익히려면 PC의 어셈블러는 알아야 한다.
자유 자재로 구사할 정도로 익힐 필요는 없다.
다른 쏘스의 명령을 이해하고 자신이 필요로 하는 기능을 추가하거나 수정할 수 있을 정도면 된다.

5. 윗글에서 제안한 리눅스의 개발과 관련한 기본을 다진후 진행하는 방법

임베디드 리눅스를 할때 많은 분들이 평가 보드를 이용한 학습을 준비한다.
그러나 이런 분들은 대부분 좌절한다.
왜?
기본기가 없는 분들이 평가 보드에 포팅하겠다고 덤비기 때문에 좌절하는 것이다.
포팅이 그리 쉬운 것은 아니다.
일단 PC에서 내공을 쌓은 후 접근하는 것이 수월하다.
임베디드 리눅스라고 PC의 리눅스와 다른 점은 거의 없다.
단지 아키텍쳐만이 다를 뿐이며 이 부분은 전체에 3%도 되지 않는다.
PC에서 리눅스의 내부를 자유 자재로 드나드는 분이면 임베디드 리눅스에 접근은 너무도 쉽다.
사실 몇가지 사항을 제외하고는 임베디드 리눅스보다 PC 시스템이 더 복잡하다.
가격도 비교해보면 임베디드 장비가 더 싸다.. ^^;
자 이젠 PC에서 임베디드 리눅스를 하기 위한 접근 방법을 알아 보자.
그리고 공부하기 위하여 평가 보드를 구입하기에는 개인이 구입하는 가격이 너무 고가이다.
컴퓨터를 또하나 사는 셈인데...이게 말처럼 쉽겠는가?
고액 연봉자라면 모를까....
5.1 디바이스 드라이버를 정복하라!!!
임베디드 시스템을 개발하는 과정에서 하드웨어쪽을 제외한 나머지 소프트웨어 측면에서 개발 비중은

로더 및 하드웨어 테스트 프로그램 10%
커널 포팅 10%
디바이스 드라이버 40%
임베디드 어플리케이션 40%

이렇다.
물론 내 개인적인 생각이므로 상황에 따라 다르겠지만 ....
그만큼 디바이스 드라이버는 중요하다.
디바이스 드라이버를 개발 한다고 평가보드를 구매 해야 하는가?
이에 대답은 "아니오" 이다.
PC는 매우 복잡한 시스템이다.
임베디드에 사용되는 대부분의 기능이 PC에는 있다.
그러므로 PC에 도는 하드웨어에 관련된 디바이스 드라이버를 스스로 만들 능력이 된다면 임베디드용 디바이스 드라이버를 만들 능력은 충분해 진다.
일단 돈 안드는 PC부터 정복해라.
PC가 없다면 모를까 ^^;
자 그럼 디바이스 드라이버는 어떻게 정복하는 것이 좋을까?
한번 알아보자..
5.1.1 어떤 책이 좋을까?
디바이스 드라이버를 만드는 방법에 대한 책으로 대표적인것에는 오렐리의 책이 있다.
그러나 이책을 초보자가 보기에는 너무 어렵다.
그렇다고 마땅한 다른 책이 있는 것도 아니다.
고로 선택권이 없으므로
이 책을 여러번 읽어 본다.
완벽하게 이해하려고는 하지 말기를 부탁한다.
여러번 읽어 보면 어렴풋이 무슨 내용인지 이해하는 시점이 있을 것이다.
5.1.2 디바이스 드라이버 프로그램을 직접 해본다.
우선 오렐리의 책에 소개된 싸이트에 가서 쏘스를 가져 온다.
그리고 쏘스를 이해하려고 노력한다.
또한 KELP의 내가 쓰고 있는 디바이스 드라이버의 강좌를 계속 지켜 보거나 현재 진행되고 있는 박철님이 진행하고 있는 목요 세미나에 참가한다.
아니면 웹을 뒤지면 의외로 디바이스 드라이버 강좌를 하는 싸이트가 꽤 된다.
싸이트 이름을 내가 일일이 외우기는 힘들지만 ... ^^;
( 천재는 건망증이 심하다고들 한다. )
5.1.3 프린터 포트를 이용한 캐랙터 디바이스를 만든다.
대부분의 임베디드 장비에서 사용되는 디바이스는 캐릭터 디바이스로 충분하다.
고로 캐랙터 디바이스를 안다는 것은 임베디드용 디바이스 드라이버의 절반에 해당하는 내용을 안다는 의미도 된다.
5.1.4 자신이 사용하는 커널 버전이외의 내용은 과감하게 삭제한다.
현재 임베디드용 커널은 2.2대를 근거로 사용한다.
2.4대는 최근에 나왔으므로 아직은 적용중이다.
임베디드용 커널은 버전이 낮다.
또 2.0 대 이전 버전은 약간 적용 방식이 다른 것으로 기억한다.
이를 위해서 오렐리 책에서는 이런 저런 내용을 기술하고 있는데 실전에 사용되는 임베디드 리눅스는 사실 커널을 여러가지로 사용하겠끔 굳이 설계하지 않아도 된다.
즉 커널 버전을 덜 타는 것이다.
범용적인 PC용 디바이스 드라이버를 작성할때나 고려할 내용이다.
그러므로 여러분은 괜히 쏘스를 어지럽히는 커널의 버전 관리에 대한 내용은 과감하게 제거하고 진행하는 것이 수명 연장에 지름길이 된다.
5.1.4 네트웍크용 디바이스 드라이버는 공부해라.
임베디드 장비에 리눅스를 사용하는 가장 큰 목적 중에 하나가 네트워크 스택을 이용하기 위한 것이다.
리눅스 자체가 덩치가 크므로 조그마한 임베디드 장비에는 아예 탑재하지 않는다.
채산성이 전혀 맞지 않기 때문이다.
더구나 리눅스의 대부분의 어플리케이션이 네트워크에 연관되어 있다.
고로 네트워크 디바이스 드라이버는 공부해야 한다.
5.1.5 기존에 디바이스 드라이버를 한번쯤 스스로 재 작성해 보라.
계속 말하는 것이지만 PC는 매우 복잡한 시스템이다.
고로 PC의 디바이스 드라이버를 구현 할수 있다는 것은 임베디드용 디바이스 드라이버를 구현 할 수 있는 능력이 된다는 것과 동일한 내용이다.
여기서 주의 할것은
PC에서 구현된 디바이스 드라이버들은 매우 안정된 상태이다.
여러분이 이렇게 완벽하게 안정된 디바이스 드라이버를 만들 수는 없다.
왜? 초짜이므로....
똑같이 안정된 디바이스 드라이버를 작성할수 있다면 바로 리눅스의 개발에 앞장 서 주시길 부탁한다.
보통 많은 분들이 PC용 디바이스 드라이버를 재 작성할때 시리얼 포트용 디바이스 드라이버 부터 하는데 제발 시리얼 포트 부터 하지 말것...
PC의 리눅스 상에서 시리얼은 정말 복잡하다.
보통 임베디드의 시리얼과는 상대가 되지 않는다.
터미날을 지원하는 기능과 가상 터미날과 연계 되어 있기 때문이다.
고로 차라리 프린터 포트나 마우스 같은 디바이스 드라이버 부터 만들어 가라...
어쩌면 랜카드용 디바이스 드라이버가 더 쉬울지도 모른다.
다시 당부 드리지만 시리얼 포트 부터 접근하지 말것....
5.2 커널을 이해하라....
디바이스 드라이버를 공부하다보면 많은 부분들이 커널과 연계되어 있음을 알게 된다.
그러므로 디바이스 드라이버에 대해서 공부가 끝났다면 커널의 40%쯤은 이해 했다고 볼 수도 있겠다.
커널을 공부함에 있어서 구분해야 할것이 있다.
하나는 아키텍쳐 의존적인 부분과 아키텍쳐와 독립적인 부분이 있다.
리눅스는 가급적 아키텍쳐 독립적으로 구성되려고 노력한 흔적이 여기저기 보인다.
그래서 리눅스가 다른 아키텍쳐에 포팅 될수 있었던 것이다.
만약 PC의 i386계열에 의존적인 부분이 매우 많았다면 지금처럼 임베디드용으로 사용되지도 못했을 것이다.
자 커널을 이해하는 방법은 어떤게 좋을까?
어디까지 이해해야 할까?
이에 대한 나의 생각을 풀어 보겠다.
5.3 커널을 이해하기 위한 방법론 및 어디까지?
커널을 이해하기 위해서 가장 좋은 방법은 쏘스에서 흐름을 쭈욱 쫒아가 보는 것이다.
이를 위한 방법은 켈프에서 제안한 숙제중 부팅 메세지를 시리얼로 보내는 방법을 제안한다.
물론 이때 "Uinx kernel 완전분석으로 가는길이라는 책"을 옆에 끼고 있는 것이 좋을 것이다.
물론 켈프에 조형기님이 진행하고 있는 강좌란도 무척 도움이 될것이다.
너무 완벽하게 쫒아 가려고 하지 않는 것이 좋을 것이다.
이 놈의 리눅스 커널을 쫒아 가는 것에 맛이 들리면 도통 헤어나질 못하게 된다.
필요한 만큼만 쫓아 다니면 된다.
임베디드 리눅스를 구현함에 있어서 대부분은 기존에 이미 포팅되어 있는 아키텍쳐를 이용하게 되는데 이 방법이 의미하는 것은 커널을 완벽하게 이해하기 보다는 커널 쏘스의 어떤 부분에 어떤 기능이 있는가 정도를 파악하는 선이면 된다는 것이다.
필요할때 좀더 자세하게 쏘스를 쫒아 다니면 된다.
또 내가 권유하는 방식은 당신이 필요로 하는 기능은 대부분 다른 사람이 이미 해 놓았을 가능성이 높다는 것이다.
커널에 집중하기 보다는 웹싸이트를 뒤지는 시간이 더 짧을 수 있다.
요즘은 Know Where!! 아닌가....

6. 정말 임베디드 리눅스를 하려면

5항까지 진행된 분이라면 6항 이후에 설명하는 과정을 수행해도 문제가 없을 것이다.
여기서 부터는 보통 일반인들이 말하는 임베디드 시스템용 리눅스를 어떻게 하는가를 설명하는 것이다.
6.1 평가 보드를 구매하라...
만약 당신이 가난한 개발자라면 이 이후에 진행은 포기해 달라..
왜? 개인이 하기에는 너무도 벅찬 돈이 든다.
그냥 평가 보드만 사서 될일이 아니다.
(이것도 정말 비싸다)
물론 평가 보드만 사도 될수 도 있지만 새로운 하드웨어적인 기능을 추가하고 시험하려면 개발 장비가 보통 고가가 아니다.
그냥 개인이 취미로 하기에는 이미 금전적인 부담이 넘어선다.
단 평가보드상에서 만족한다면 평가보드 살 능력이 되야 한다.
평가보드만으로도 꽤 많은 것을 공부 할수 있다.
단 평가보드를 구매할때 JTAG가 지원되는 평가보드를 구매하라 그나마 JTAG를 사용하는 공부는 돈이 적게 든다.
6.2 평가 보드를 구매 했다면....
평가 보드를 보통 구매하면 대부분의 문서가 따라 오게 된다.
물론 사용되는 디바이스의 설명서들이 포함되 있거나 최소한 어디서 구하는지에 대한 설명은 있을 것이다.
이런 자료를 모두 일단 확보할 것
6.3 MCU를 공부하라..
평가 보드에 사용되고 있는 MCU에 대해서 공부해야 한다.
MCU를 모르고 임베디드를 도전하는 것은 시간낭비의 지름길이다.

MCU의 구조
MCU의 하드웨어 사양
MCU의 프로그램 방법 ( 어셈블러 )
MCU의 동작 방식

뭐 이런 것이 있겠다.
6.4 평가 보드의 회로를 공부해라...
평가 보드의 회로를 읽는 법을 알아야 한다.
회로를 읽지 못하고 임베디드를 공부하려 한다면 진행하는데 한계를 느낄수 있다.
회로를 읽을수 있어야 외부 연결 커넥터에 어떻게 연결하는지를 이해 할수 있다.
6.5 평가 보드에 사용되는 디바이스를 공부해라...
평가 보드에 사용되는 디바이스를 모두 공부할 필요는 없다.
자신이 사용하고자 하는 디바이스에 대해서 하드웨어적으로는 어떻게 연결되고 디바이스를 제어하기 위해서는 소프트웨어 적으로 어떻게 해야 하는 가를 이해 해야 한다.
이런 이해를 위해서는 해당 디바이스에 대한 리퍼런스 매뉴얼의 확보는 필수적이다.
항상 나에 가슴을 아프게 하는 것은 기술된 언어가 영어라는 점이다.
빨리 한글이 전세계 공통어로 되어야 하는데....
나를 세계 대통령으로 밀어 주면 가장 먼저 한글을 공용어로 하고 모든 표기를 한글로 하는 세계법을 제정하겠다.
6.6 크로스 컴파일 환경을 구축하는 것을 공부하라...
임베디드 리눅스를 공부하는 것에 가장 큰 관문중에 하나가 크로스 컴파일 환경을 구축하는 것이다.
그나마 다행인것은 요즘은 아예 rpm 패케지로도 나온다는 점이다.
그래도 몇몇 cpu에 필요한 환경은 자신이 스스로 구축해야 한다.
또 평가 보드에 따라 구축하는 방법이 조금씩 다를 수 있다.
물론 평가보드에 따라오는 CD에는 일반적으로 크로스 컴파일에 필요한 화일도 따라오므로 좀 괜찮기는 하지만
아예 공부하지 않으면 조금만 문제가 생겨도 속수 무책일수 있다.
6.7 부트 로더를 공부하라.
임베디드 리눅스를 공부하기 위해서 가장 처음 부딪히는 것이 부트 로더다.
PC에서는 그 개념이 별로 중요하지 않으므로 이 문제가 별로 대두되지 않지만 임베디드에서는 바로 대두 된다.
보통은 이미 개발된 오픈된 부트 로더를 자신의 시스템에 맞게 바꾸게 된다.
그러므로 부트로더의 쏘스는 어느정도 분석하고 있어야 한다.
6.8 NFS 시스템에 대해서 공부하라...
임베디드 시스템에는 커다란 보조 기억 장치가 없기 때문에 필히 네트워크를 이용한 다른 시스템의 보조 기억 장치를 마운트 사용해야
편리하다.
이를 위해 사용되는 것이 NFS이다.
고로 이에 대한 공부는 해두는 것이 좋다.
6.9 그외 나머지는 어떻게?
커널을 올리고 바꾸고 하는 것은 PC에서 공부했다면 별로 문제가 되지 않는다.
또 대부분 커널은 포팅했다.
단 일반적으로 부딪히는 문제를 늘어 놓는다면 다음과 같다.
6.9.1 MMU가 없다..
보통 PC에서는 MMU가 있으므로 문제가 되지 않지만 임베디드 시스템에서는 MMU가 없는 것이 일반적이다.
왜?
가격이 싸기 때문이다.
그렇다면 어떤 문제가 있을까
바로 이 문제에 대해서 공부해야 한다는 것이다.
50100용을 사용하거나 드래곤볼을 사용한 임베디드 리눅스의 하우투 문서를 찾아 보고서 공부하는 것이 좋다.
6.9.2 루트 디스크 이미지와 램 디스크
임베디드 리눅스의 거의 대부분이 보조 기억 장치가 없거나 있어도 플래쉬 메모리 이다.
그래서 루트와 마운트 되는 기억 장치로 램 디스크를 많이 사용하게 된다.
문제는 램 디스크용 루트 이미지가 ROM에 있거나 플래쉬 메모리에 저장되기 때문이다.
커널의 루트 이미지 복사는 부분에 대한 공부를 필요로 하는 것이 이 때문이다.
6.9.3 플래쉬 메모리에 대해서 공부 할것
플래쉬 메모리는 하드 디스크 처럼 쓰고 읽을 수 있는 저장 장치이다.
더구나 읽는 속도가 매우 빠르다.
그러나 플래쉬 메모리는 쓰는 횟수에 한계가 있다.
이에 대한 공부를 미리 하지 않으면 당신이 납품한 임베디드 장비에 대해서 고생 할 가능성이 농후하다.
이에 대하여 다른 사람은 어떤 방법론이 있는가에 대하여 미리 공부해 두는 것도 좋을 것이다.
가끔 배신감 느끼게 플래쉬에 대한 몇가지 소프트웨어가 특허에 걸려 있다.
6.9.4 계속 늘어 놓으면 한도 끝도 없을 것 같으므로 ...
정말이다..
임베디드 리눅스라는 분야는 PC이외에 모두 다 라고할 정도로 다양하다.
이 모든 것을 미리 공부할수는 없다.
역시 실전에 부딪히면서 배우는 수밖에 ....

7. 빨리 개발하는 방법....

아마도 이 글을 읽고서 벌써 임베디드 리눅스를 공부하고 싶은 마음이 없어지는 사람들의 목소리가 들린다.
음....
아마도 이글을 읽고 있는 분들 중에는 당장 1달안에 개발을 완료 해야 하는 분들도 있을 것이다.
이에 대한 해답은 아니지만 속성 코스에 대해서 이야기 하려고 한다.
단 이 방법은 엔지니어로써 어느정도 구력이 있는 분에 해당하는 것이지 완전 엔지니어 초짜에 해당되는 것은 아님을 미리 밝힌다.
7.1 이미 개발된 평가 보드를 이용할 것...
자 임베디드 리눅스를 이용한 시스템을 만든다는 것은 자신이 목적으로 하는 동작이 정확하게 수행되면 된다.
그러므로 구현하고자 하는 장비와 최대한 같은 기능을 담고 있는 평가보드(개발보드)를 구한다.
이 평가 보드에는 리눅스가 모두 설치 되어 있어야 한다.
그리고 캐랙터 디바이스의 가장 최소한에 대한 공부만 한다.
이것 마저도 안한다면 어쩔수 없다.
그리고 평가보드의 회로를 최대한 그대로 수용한 목적 시스템을 만든다.

이런 상태라면 다음과 같은 할일만 남는다.
1. 부트로더에서 초기화와 커널 부팅을 수행하는 부분만 남겨 놓고 제거한다.
2. 커널을 그대로 사용한다.
3. 대부분의 디바이스 드라이버도 그냥 사용한다.
4. 추가된 디바이스의 드라이버만 작성한다.
5. 어플리케이션을 작성한다.
이것이 끝이다.

8. 내가 하고 싶은 말은 ...

내가 제안한 초짜가 임베디드 리눅스로 가는 길이 맞다고는 할수 없다.
아직도 나는 초짜이므로
하지만 기존에 개발하는 과정을 지켜본 나로써 내린 것은 위와 같은 것이다.
누군가 말했다.
임베디드 리눅스의 세계에 발을 들여 놓는 순간은 태산을 삽질해서 없에는 것과 같다는 것을
하지만 내가 해본 결과로는 임베디드 리눅스를 한다는 것은 리눅스의 본질을 파악하는 것과 거의 일맥 상통한다.
엔지니어라면 한번쯤 도전해서 이루고 싶은 영역이다.
또 생각보다 재미 있다.
당신도 해보라... 겁만 먹지 말고
천천히 가다보면 언젠가 이미 득도한 해커와 같은 반석위에 있는 자신을 발견 할 수 있을 지도 모른다.
어느날 저녁 새벽 3시쯤 근방에 이글을 마무리 하며.....

PS: 배고프다.... 그리고 졸립다....

EE295 - ASIC Design With VHDL Class - Fall 2003

출처: http://www.emba.uvm.edu/~jswift/uvm_class/

Prepared By: James Swift

Description:
Students will become familiar with the VHDL language through text readings and lectures following the basic flow of the text. Students will become familiar with the ASIC design process through supplemental readings, lectures and execution of a design project from conceptualization to technology netlist ready for fabrication and described in VHDL.

Verilog Coding Style for Efficient Digital Design

Kapil Batra (STMicroelectronics Ltd., India, Kapil.batra@st.com), Mohammad Suhaib Husain (msuhaib@hotmail.com)

Abstract: In this paper, we discuss efficient coding and design styles using verilog. This can be immensely helpful for any digital designer initiating designs. Here, we address different problems ranging from RTL-Gate Level simulation mismatch to race conditions in writing behavioral models. All these problems are accompanied by an example to have a better idea, and these can be taken care off if these coding guidelines are followed. Discussion of all the techniques is beyond the scope of this paper, however, here we try to cover a few of them.

원문보기: http://www.pld.com.cn/advance/skill/Verilog%20Coding%20Style%20For%20Efficient%20Digital%20Design.pdf

http://www.aiva.pl/links.php

ECAD - Web Links



ISE PW
Symbolic Electrical Circuits Analysis for electrical engineering students

VLSI CAD Tools (Mixed)


http://www-classes.usc.edu/engr/ee-s/477p/cad_tools.htm
http://www-scf.usc.edu/~ee577/cad_tools.html
http://www.optimagic.com/lowcost.shtml
http://members.tripod.com/prashav/index-tech.html
http://www.mrc.uidaho.edu/vlsi/
http://www.sigda.org/Archives/CollectedInformation/Newsletters/MicroSysNewsletter/MSN6.txt
http://www.ee.vt.edu/~ha/cadtools/cadtools.html
http://www.stanford.edu/class/ee272/doc/tools_faq.html
http://bear.ces.cwru.edu/eecs_cad/cad.html
http://www.cics.utdallas.edu/education/cadtools.html
http://www-bsac.eecs.berkeley.edu/sysadmin/cadtools/
http://velox.stanford.edu/group/cad_tools.html
http://www.ece.ucdavis.edu/sscrl/clcfaq/faq/faq-toc.html
http://www.utdallas.edu/~poras/courses/ee6325/cadtools.html
http://www.ece.ubc.ca/~cad/local/html/tutorials.html
http://www.asic.uni-hd.de/tutorials/
http://www.scudc.scu.edu/spec/lang/list.html
http://www.stanford.edu/class/ee271/handouts.html
http://www.stanford.edu/class/ee271/links.html
http://www.elen.ktu.lt/~edas/syn_doc1/project.htm
http://helpme.scudc.scu.edu/tutorials.html
http://www.ece.cmu.edu/~ee240/LABS/labguide_ch4.pdf
http://www.redbrick.dcu.ie/~andyk/bookmark.htm
http://opendir.metacrawler.com/texis/dpdir/+/Top/Computers/Programming/Languages/VHDL

VHDL


http://www.egr.msu.edu/classes/ece411/F98/vhdl/aldec_tutorial/avhdl_and_xilinx.pdf
http://www.cs.ucr.edu/content/esd/labs/tutorial/
http://www.ece.uwaterloo.ca/~ece427/old/2001t2/doc/
http://www.doulos.com/fi/index.htm
http://www2.informatik.uni-jena.de/~doersing/lehre/ps/sn99.10_dok/synth/rtltu/rtltu_2.pdf.
http://www.vhdl.org/vhdl_intl/comp.lang.vhdl/
http://tech-www.informatik.uni-hamburg.de/vhdl/vhdl.html
http://rassp.scra.org/vhdl/models/processor.html
http://www-ee.eng.hawaii.edu/~msmith/XCoNET/CAD/wd_synpl_21i.pdf
http://vega.unitbv.ro/~nicula/asd/asd.html
http://www.erc.msstate.edu/~reese/vhdl_synthesis/
http://www.cs.ccu.edu.tw/~pahsiung/courses/codesign/resources/tutorials.html
http://flex.ee.uec.ac.jp/~yamaoka/vhdl/index.html
http://claymore.engineer.gvsu.edu/~steriana/courses/426/faq3.pdf
http://www.ireste.fr/fdl/vcl/external/tutor.htm

SPICE Manual


http://acad.aiva.pl
http://ecad.aiva.pl/optima/
http://web.mit.edu/zhak/www/useful.htm
http://www-cad.eecs.berkeley.edu/Software/software.html
http://infopad.EECS.Berkeley.EDU/~icdesign/SPICE/UserGuide/interactive_fr.html
http://www.ee.cooper.edu/courses/course_pages/01_Spring/EE143/labresources/SPICE_Manual.html
http://www.eecg.toronto.edu/~johns/spice/
http://bwrc.eecs.berkeley.edu/Classes/IcBook/SPICE/MANUALS/spice3.html
http://www.scudc.scu.edu/mentortu/ucb_spice3.html
http://www.owlnet.rice.edu/~elec422/manual/spice/toc.ps
http://www.eeng.brad.ac.uk/help/.packlangtool/.ecad/.spicman.html
http://www.ece.purdue.edu/~bashir/ee455_f01/Starting_with_SPICE.pdf
http://nikola.com/bsim3v3.htm
http://web.mit.edu/afs/athena/course/6/6.012/SPR01/
http://www.doe.carleton.ca/~cp/radio/spice.html
http://buffy.EECS.Berkeley.EDU/IRO/Software/order.form.html
http://ecad.elka.pw.edu.pl/optima/
http://bwrc.eecs.berkeley.edu/Classes/IcBook/SPICE/
http://cobalt.et.tudelft.nl/~simon/me/spice.html
http://www.seas.upenn.edu/~jan/spice/spice.overview.html

Cadence Tutorial


http://www.brunel.ac.uk/~eestmba/usergI.html
http://www.ece.ncsu.edu/cadence/awb_tutorial/
http://vlsi.wpi.edu/courses/ee390x/misc/ciw.html
http://vlsi.wpi.edu/courses/ee390x/examples/layout.10.html
http://www.ee.virginia.edu/~mrs8n/cadence/Cadencetutorials.html
http://www.ee.byu.edu/ee/class/ee451/
http://vlsi1.engr.utk.edu/~eagen/cadenceweb/cadtut.html
http://www.cerc.utexas.edu/~moin/cadence.html
http://turquoise.wpi.edu/cds/
http://www.ee.princeton.edu/~cadence/user.html
http://www.seas.upenn.edu/~eecad/cadence/cadence.html
http://www.ece.iit.edu/~cad/cadence/
http://http://www.cs.umbc.edu/~plusquel/vlsi/
http://www.rmc.ca/academic/elec/CUAP_rmc.htm
http://www.brunel.ac.uk/~eestmba/cad.html

Matlab


http://www.math.utah.edu/lab/ms/matlab/matlab.html
http://www.math.unh.edu/~mathadm/tutorial/software/matlab/
http://www.engin.umich.edu/group/ctm/
http://www.math.mtu.edu/~msgocken/intro/intro.html
http://www.math.ufl.edu/help/matlab-tutorial/
http://www.mines.utah.edu/gg_computer_seminar/matlab/matlab.html
http://web.usna.navy.mil/~mecheng/DESIGN/CAD/MATLAB/usna.html
http://www-personal.engin.umich.edu/~tilbury/tutorials/matlab_tutorial.html
http://www.indiana.edu/~statmath/math/matlab/links.html
http://www.glue.umd.edu/~nsw/ench250/matlab.htm#sec4
http://www.owlnet.rice.edu/~ceng303/Matlab/MatCont.html
http://www.cs.ubc.ca/spider/cavers/MatlabGuide/guide.html
http://www.mathworks.com/access/helpdesk/help/techdoc/matlab.shtml
http://users.ece.gatech.edu/~bonnie/book/TUTORIAL/tutorial.html
http://ist.uwaterloo.ca/ec/scientific/Matlab/matlab.htm
http://www.class.umd.edu/enme/403/0201/matlab1.html
http://www-math.cc.utexas.edu/math/Matlab/Matlab.html
http://math.uc.edu/~kingjt/matlab_lnk.html
http://www.math.utah.edu/~eyre/computing/matlab-intro/
http://www.geosc.psu.edu/~hennesse/geosc203_html/tutorial.html
http://www-math.bgsu.edu/~gwade/matlabprimer/tutorial.html
http://ai.ucsd.edu/Tutorial/matlab.html
http://www.eelab.usyd.edu.au/courses/matlab.html
http://www.mathworks.com/access/helpdesk/help/techdoc/learn_matlab/learn_matlab.shtml
http://winwww.rutgers.edu/pub/courses/ece349/demos/Index.html
http://math.uc.edu/~kingjt/matlab/tutorial_v4.html
http://www.biomath.medsch.ucla.edu/~sblower/biomath209/tutorial/MatlabTutorial.htm
http://scv.bu.edu/SCV/Tutorials/MATLAB/
http://sun00.rowan.edu/~shreek/networks1/matlabintro.html
http://manitou.ucsd.edu/class/ece162a/matlab/Matlab-Tutorial.html
http://www.csee.wvu.edu/~trapp/wvumatlab.htm
http://www-h.eng.cam.ac.uk/help/tpl/programs/matlab.html
http://www.stolaf.edu/people/mckelvey/envision.dir/mar97.tutorial.html
http://www.ee.ucr.edu/matlab/#dsp
http://www.enme.umd.edu/ice_lab/teach/ME403/t2.html
http://www.unife.it/~prl/matlab.html
http://www.rit.edu/~pnveme/Matlab_Course/DEFAULT.HTM
http://www.eece.maine.edu/mm/matweb.html

SPW


http://www.winlab.rutgers.edu/cadence/spwtutor/spwtutor.html

RF/Microwave Tools


http://www.turnkey.net/rftools.htm
http://www.rfglobalnet.com/content/Downloads/SearchResults.asp?pSearch=top&VNETCOOKIE=NO

Synopsys Tutorial


http://www.xilinx.com/appnotes/synoptut.pdf
http://www.ece.concordia.ca/Documentation/synopsys/tutorial.html
http://www.scudc.scu.edu/mentortu/synopsys_tutorial.html
http://www.ee.vt.edu/~ha/cadtools/synopsys/synopsys.html
http://www.cs.ucr.edu/~dalton/tutorial/
http://www.ece.uvic.ca/~fayez/courses/ceng465/lab_465/synopsys_tutorial.html
http://scutter.ece.uvic.ca/lab/ceng465/synopsys-tutorial.html
http://www.engr.uvic.ca/~seng440/tools/synopsys-tutorial.html
http://www.utdallas.edu/~liuhao/VHDL/
http://www.ra.informatik.uni-stuttgart.de/~virazela/HV/
http://www.ee.ucla.edu/~ee216a/
http://www.parl.clemson.edu/~keithu/ece426/synopsys.doc
http://www.ece.concordia.ca/Documentation/synopsys/tutorial.pdf
http://www.utdallas.edu/~liuhao/VHDL/synopsys_basic.pdf
http://ece.clemson.edu/parl/keithu/ece426/synopsys.doc
http://www.ece.iit.edu/~jstine/ece429/handouts/dctut.pdf
http://www.ee.washington.edu/class/cadta/synopsys/

Verilog


http://www.geocities.com/SiliconValley/Platform/5393/
http://www.ast.co.il/EDA/evita/evita.htm
http://www.yourelectronicslink.com/design/verilogandvhdltools/
http://members.rediff.com/gangwar/link.html
http://www.flex.com/~jching/
http://www.veripool.com/
http://www.icarus.com/eda/verilog/
http://rassp.scra.org/vhdl/courses/courses.html
http://www.ee.ed.ac.uk/~gerard/Teach/Verilog/manual/
http://www.eg.bucknell.edu/~cs320/1995-fall/verilog-manual.html
http://www.electronicsweekly.co.uk/toolkits/verilog/verilog4.asp
http://members.aol.com/SGalaxyPub/useful_links_verilog.htm
http://www.angelfire.com/mt/bhavani/vqr.html
http://www.sutherland-hdl.com/on-line_ref_guide/vlog_ref_top.html
http://home.europa.com/~celiac/VerilogBNF.html#REF60
http://www.mindspring.com/~tcoonan/
http://www.cl.cam.ac.uk/users/mjcg/Verilog/IEEE.ps.Z
http://www.ece.nwu.edu/~hauck/oliver/verilog.html
http://www.ee.ed.ac.uk/~gerard/Teach/Verilog/manual/index.html
http://www.ee.ucla.edu/~ee216a/lib/pdf/vlogtut.pdf
http://www.ece.cmu.edu/~thomas/VSLIDES.pdf
http://www.alt-tech.com/products/translogic/collateral.htm
http://www.deeps.org/models/index.html
http://www.cse.psu.edu/~cg577/verilog.html
http://www.eg.bucknell.edu/~cs320/1995-fall/verilog-manual.html
http://class.ee.iastate.edu/somani/Cpre305_s02/Laboratory.html
http://class.ee.iastate.edu/somani/Cpre305_s02/lab/verilog_files/frame.htm
http://www.ee.ed.ac.uk/~gerard/Teach/Verilog/manual/index.html
http://www.doe.carleton.ca/~fma/verilog-manual.html
http://www.sutherland-hdl.com/on-line_ref_guide/vlog_ref_top.html
http://www.angelfire.com/in/verilogfaq/page2.html
http://www.doe.carleton.ca/~shams/97350/Ver1Syn.pdf
http://www.doe.carleton.ca/~shams/97350/Ver2Syn.pdf
http://www.doe.carleton.ca/~shams/97350/Ver3Syn.pdf
http://www.doe.carleton.ca/~shams/97350/PetervrlK.pdf
http://ee.ucd.ie/~finbarr/syn_templates/coding_and_synthesis_with_verilog.pdf
http://www.public.iastate.edu/~bhooshan/cpre305/cpre305.html
http://www.alt-tech.com/docs/EASE_Verilog_Tutorial_v4.0.pdf
http://tiger.technion.ac.il/dig/docs/renoir/tutorial.pdf
http://www2.ele.ufes.br/~ailson/microeletronica/stanford_ee271/lect_06.pdf.
http://www.ece.ogi.edu/~strom/web559/documents/Veriwell.pdf
http://www.eg.bucknell.edu/~cs320/1995-fall/verilog-manual.html
http://www.pldworld.com/_hdl/1/www.doulos.co.uk/hdgv/

Xilinx


http://www.eg.bucknell.edu/~aburdene/elec340/xilinx/
http://www-ee.eng.hawaii.edu/~ee466web/Spr99/Projects/projmatrix.htm#anchor983980
http://splish.ee.byu.edu/tutorials/M1/M1.html
http://www.ece.uwaterloo.ca/~ece427/cur/hos/ho-03.pdf
http://toolbox.xilinx.com/docsan/3_1i/pdf/docs/cpl/cpl.pdf
http://www.geocities.com/CollegePark/5833/vlsi/vl_tool.ps.gz
http://www.seas.upenn.edu/~ee201/foundation/foundation_intro.html
http://www.ece.wpi.edu/courses/ee3801/lab/XiLinx/xitut/sctutor.htm
http://www.scudc.scu.edu/mentortu/mg_xilinx.html
http://www.xilinx.com/support/techsup/tutorials/
http://voyager1.utsa.edu/~ppatel/Xilinx_Tutorial_1.htm
http://voyager1.utsa.edu/~ppatel/Xilinx%20Tutorial2.htm
http://www.cs.ucsd.edu/classes/wi02/cse141L/tutorial/XilinkTutorial.html
http://www-ee.eng.hawaii.edu/~msmith/XCoNET/ee628_fall99/yma/ee628/Xilinx_libraries_ModelSim.htm#Xilinx%20Tutorial
http://ece-www.colorado.edu/~ecen3100/LAB/xilinx.pdf
http://www.eece.unm.edu/vhdl/LABS/Lab_Introduction/Sample_Project/sample_project.html
http://www.eecs.harvard.edu/cs141/lab.html
http://www.cs.ucla.edu/classes/winter02/csm152b/l3/
http://homepages.wwc.edu/staff/stirra/classes/engr433/hiertut/
http://www.cs.georgetown.edu/~squier/cosc273/XilinxProject/OrcadXilinx.html
http://cwx.prenhall.com/bookbind/pubbooks/xilinx/chapter1/deluxe.html
http://www.unm.edu/~croatoan/vhdl/main.html
http://www.eece.unm.edu/faculty/pattichis/eece238_menu.html
http://www.egr.msu.edu/classes/ece411/
http://www.ece.wisc.edu/~jes/554/tutorial31.pdf
http://www.eecs.umich.edu/~mazum/eecs270/lab/lab4.pdf
http://www.acad.sunytccc.edu/instruct/kleitz/
http://cheetah.vlsi.uwaterloo.ca/~sareibi/COURSES_dr/ENG241_dr
/outline_F2001/docs/LAB_dr/LAB2_dr/Xilinx_Tutorial.htm

http://dsp.okstate.edu/ecen3233/PDF_Stw/Xilinx_Tutorial_Demo.pdf
http://courses.ece.uiuc.edu/ece311/handouts/mp1-orig.pdf
http://www.neon.co.uk/tech/editorial.cfm?categoryid=272&editorialid=2361
http://toolbox.xilinx.com/docsan/2_1i/data/common/sim/sim1_4.htm
http://www.cae.wisc.edu/~mikko/554/tutorial30_real.doc
http://fivedots.coe.psu.ac.th/~cj/csd/resources/manuals/Xilinx/xsi_hd~1.pdf
http://xup.msu.edu/tutorials.htm

2006년 11월 18일 토요일

Semiconductor System Block Diagrams | Texas Instruments

http://www.ti.com/sc/docs/psheets/diagrams/index.htm

A
B
C
D
F
G
H
I
L
M
N
O
P
S
T
U
V
W

Arabella - Free Linux Reference Designs

출처: http://www.arabellasw.com/products-free.php

Free Linux Reference Designs


Complete Free Linux Reference Designs for PowerQUICC I, II and III
Arabella provides a full function software reference designs using Arabella Linux for one of the popular lines of integrated processors from Freescale: PQ1 (8xx), PQ2 (82xx)or PQ3 (85xx). Each reference system runs on a range of evaluation board for each processor type. These CDs are shipped by Freescale with the evaluation boards, or are available from Arabella on request.

Arabella Linux for PQ1 supports the following boards:

Freescale MPC860ADS, MPC866ADS, MPC866FADS, MPC885ADS, QUICCstart 875 Analogue & Micro Adder 875, AdderII MPC852T

Arabella Linux for PQ2 supports the following boards:

Freescale PQ2FADS-ZU, PQ2FADS-VR, MPC8272ADS, MPC8260ADS, MPC8266ADS
Embedded Planet EP 8248
Analogue & Micro Rattler 8248

Arabella Linux for PQ3 supports the following boards:

Freescale MPC8560ADS

Everything is provided for you to immediately download, run and begin working with a Linux application that is optimized to run in a Freescale hardware environment, including the U-Boot boot loader, a fully functional Linux system and host development tools.

The software is available in binary and full source code including documentation and is provided under a standard GPL license. The GPL license gives you the full right to copy and modify the source code and use the resulting binaries to build products that can be sold or distributed royalty-free.

There is no charge for the software on these CDs** and no agreement that needs to be executed to use this code. Arabella Software offers annual subscription licenses for companies that wish to receive upgrades, bug fixes, technical support and other customization services.

  • Request a free CD of Arabella Linux for Freescale PowerQUICC I
  • Request a free CD of Arabella Linux for Freescale PowerQUICC II
  • Request a free CD of Arabella Linux for Freescale PowerQUICC III


  • ** The Free CD will be sent to valid corporate addresses only

    2006년 11월 15일 수요일

    Programmable Logic DesignLine | FPGA Architectures from 'A' to 'Z'

    - Part 1: http://www.pldesignline.com/showArticle.jhtml?printableArticle=true&articleId=192200165
    - Part 2:
    http://www.pldesignline.com/showArticle.jhtml?printableArticle=true&articleId=192700351

    August 15, 2006

    FPGA Architectures from 'A' to 'Z'

    If you are new to FPGAs, there are a bewildering number of different architectures and related concepts; but fear not, because this tutorial explains all.

    By Clive Maxfield
    Editor's Note: This article is abstracted from Chapter 4 of my book
    The Design Warrior's Guide to FPGAs, ISBN: 0750676043, with the kind permission of the publisher. I should point out that this book doesn't actually teach you how to design with FPGAs; instead, it provides an introduction to the various device architectures, tools, and design flows.

    Programmable Logic DesignLine | How to implement a digital oscilloscope in Structured ASIC fabric

    출처: http://www.pldesignline.com/showArticle.jhtml?printableArticle=true&articleId=190302962

    July 12, 2006

    How to implement a digital oscilloscope in Structured ASIC fabric

    Structured ASICs provide quicker time-to-market and lower development costs than standard ASICs, while also providing higher performance and lower unit costs than FPGAs.

    By Mircea Moldovan, Dan Nicula, and Traian Tulbure, eASIC Corporation

    JavaScript RSS Box Viewer 1.0.5

    Click Here...!!!

    Download MOSAID's Latest DDR SDRAM Controller White Paper

     
     

    Click here for your free copy of "The Love-Hate Relationship with SDRAM Controllers" and learn how to make your SDRAM designs less painful.

    The modern DDR2 SDRAM offers security of supply, high storage capacity, low cost, and reasonable channel bandwidth but comes with an awkward interface and complicated controller issues.

    This technical whitepaper by MOSAID Technologies' Graham Allan, explores why SDRAM controllers are so daunting to incorporate into an SoC design and how to mitigate the design issues with MOSAID's Memorize DDR interface IP. Key highlights include:

    • Historical insight into the evolution of the DDR SDRAMs and their controllers
    • The DDR PHY: More than just I/Os
    • The DDR controller: The brains behind the brawn
    • MOSAID IP to the rescue

    This whitepaper outlines methods for incorporating the world's leading DDR2/DDR SDRAM interface and controller IP while reducing total development costs and time to market and is available for free and immediate .pdf download at www.mosaid.com

    About MOSAID:
    MOSAID provides complete memory interface solutions for SoC designers facing the challenge of interfacing to external DDR SDRAMs with its MOSAID Memorize DDR PHY and memory controller IP. With solutions supporting data rates up to 1066Mb/s, MOSAID's Memorize IP products combine hard and soft IP to address both the complications of the DDR SDRAM PHY and the logistical idiosyncrasies of the DDR SDRAM command structures. MOSAID's DDR IP is silicon-proven in major 130nm and 90nm processes.

    2006년 11월 10일 금요일

    Emailing: Microchip unveils 1.5A LDO: EDNAsia.com

    Hi All...
     
     
    Microchip에서 1.5A 출력이 지원되는 LDO가 나왔다고 합니다...  이건 좀 그나마 몇군데 팔 수 있지 않을까 하는 막연한 생각이 들긴하는데, 실제는 어떠할런지...  (어차피 가격이 최우선 이겠습니다만...)
     
    Microchip URL은 http://www.microchip.com/MCP1727/ 입니다...
     
    Thanks... C.W. :)
     

     
    Microchip unveils 1.5A LDO

    Microchip Technology has announced the 1.5A LDO that incorporates shutdown, power good, programmable power good delay and bond wire compensation on a single chip. The MCP1727 is a highly efficient, low power LDO that provides high output current and low output voltage in small, thermally capable packages (8-pin SOIC or 3 mm x 3 mm DFN). With this combination of features, the MCP1727 is ideally suited for powering a variety of high performance embedded processors and next-generation logic cores.

    The push for smaller geometry processing technology has created a new class of advanced CPUs and logic cores that require higher operating currents and lower core voltages. With output voltage down to 0.8V and output current up to 1.5A, the MCP1727 is equipped to power these types of systems. The device's dropout voltage of 300 mV (typical) at full load current provides a low voltage differential, and its quiescent current of 140µA (typical) enables low power consumption during regulation. Additionally, the MCP1727 offers a shutdown feature that enables it to be controlled by system control logics, and ceramic output capacitor stability leads to smaller, more efficient and cost-effective designs.

    The MCP1727 also has an output voltage sense feedback pin that is used for bond wire compensation. This allows the device's bond wire to compensate for output voltage changes, enabling faster, more accurate output voltage regulation. The power good output with user programmable delay gives designers the flexibility to program system delays across a wider timeframe, for a more broad range of system applications. Its adjustable output voltage feature helps to reduce customer inventory levels.

    Applications for the MCP1727 include high-performance embedded processors and next-generation logic cores like those found in computer applications (PC motherboards, add-in cards, graphics processor cards); consumer applications (game consoles, liquid crystal display [LCD] projection devices, high-end television devices, digital set-top boxes); as well as industrial and power-supply applications (switch-mode power-supply [SMPS] post-regulators and automated control).

    Click here for mor more information

    2006년 11월 9일 목요일

    FPGAs Articles for Embedded Computing

    http://www.dsp-fpga.com/articles/search/fm/q/c/?FPGAs

    ChipX | About Structured ASIC



    About Structured ASIC

    Structured ASICs are a category of custom devices that approach the performance of today's Standard Cell ASICs, while dramatically simplifying the design complexity and project risk. Structured ASICs offer designers a set of devices with specific, customizable metal layers along with predefined metal layers, which can contain the underlying pattern of logic cells, memory, and I/O. By virtue of the predefined structures, the ASIC vendor can design any time-consuming task – such as test, signal integrity and IR drop – into the architecture.

    Structured ASICs simplify the complexity of custom silicon design by providing a fabric of identical building block cells that are prearranged in a series of sizes and complexities. The design task involves mapping the design into a "blank slate" of silicon by choosing from a large library of building block cells, and interconnecting them as necessary. Only the top layers need be customized, allowing the design to benefit from faster turnaround time and reduced complexity as well as more favorable NRE. By choosing 2, 3, or 4 customizable metal layers, the designer is in complete control of the trade-off between density, cycle time, and mask complexity.

    Gate Arrays, the ancestor of Structured ASICs, consists simply of an array of gates in the pre-defined layers of metal. This leads to congestion when routing more complex designs and a great deal of unused silicon. Structured ASICs address this problem by using logic cells to achieve maximum local flexibility, density and higher performance. Also, Gate Arrays typically do not include hard IP such as memory, processors, analog cores and physical layer components. Structured ASICs lend themselves easily to IP inclusion, tuning the surrounding fabric to accommodate each specific hard IP element.

    Standard Cell ASICs, which use a full set of masks for fabrication, is the approach of choice for very high volume, stable designs as well as highly complex designs exceeding 3 million gates. Once a design has been proven in the market and is facing predictable high volume price pressure, Standard cell ASICs deliver the best efficiency and economy. However, when time to market, flexibility and risk mitigation are critical, Standard Cell has a number of shortcomings. First and foremost, Standard Cell designs are extremely complex and therefore take an average of 2-3 years to develop. The fabrication time is long and costs are astronomical. Structured ASIC designs can be quickly and economically built and they can be modified just as quickly. Standard Cell ASIC designs also carry a burden of higher risk (at a higher cost) for design success. Every Standard Cell ASIC is a full custom design with untested elements at every layer. Structured ASICs reuse 90% of their tested design elements, giving higher confidence in design success and time to market.

    FPGAs are electrically programmable logic devices that often have integrated IP such as processors, memory and other complex macro elements. The major advantage of FPGAs is flexibility. Changes can be made quickly and even remotely. However, this flexibility is possible at the expense of footprint area, power consumption and unit cost. FPGA designs trade power and density for flexibility and performance. Once a design has passed its low volume prototype phase, it must be converted to an ASIC in order to achieve performance, power and economic targets of the production marketplace.

    Every design has a phase in its life cycle where an FPGA, a Standard Cell ASIC or a Structured ASIC is most viable. Ideally, an FPGA prototype will be converted into a Structured ASIC in production and once a design reaches predictable high volume, the Structured ASIC will be converted easily into a Standard Cell ASIC using the same supplier, tools and manufacturing process.

    SideChip™ Architecture

    A SideChip™ is a Structured ASIC that resides next to a main ASIC and provides integration relief and flexibility to a system architecture. In a growing number of systems where standards are changing, and markets are fragmented, designers need to expand the capabilities of the system but cannot afford to re-spin the main system chip or build a new chip for each individual market. By mounting additional capabilities on a ChipX SideChip™, designers can meet changing market requirements and extend the life of an existing system with minimal effort.

    Learn More

    Copyright ©2006 ChipX

    2006년 11월 7일 화요일

    ALTERA SOPC World 2006 (Korea)

    드디어 내일 열린다...

    어떤 새로운 볼만한 것들이 발표될지 한편으론 기대가 되기도 하지만, 그보다 더 중요한건 그동안 만나보지 못했었던 사람들을 한자리에서 볼수 있다는거...ㅋㅋㅋ

    제말 내일만은 딴지거는 사람들이 없었으면...^^;

    The Ultimate Guide to Design Productivity

    URL:
    http://www.altera.com/education/events/asia/sopc06/sopc-kr-index.jsp

    2006년 11월 6일 월요일

    [팁] iframe사용시 높이 자동 조정

      [팁] iframe사용시 높이 자동 조정

      트랙백 주소 : http://www.sir.co.kr/bbs/tb.php/pl_dhtml_javascript/475

    iframe 사용시 iframe의 높이가 내용의 높이만큼 자동으로 조절되는 기능입니다.
    아래의 내용을 <head>와 </head>안쪽에 넣는다.

    ---------------------------------------------------------------------
    <script language='JavaScript' type='text/javascript'>
    function resizeFrame(iframeObj){
            var innerBody = iframeObj.contentWindow.document.body;
            oldEvent = innerBody.onclick;
            innerBody.onclick = function(){ resizeFrame(iframeObj, 1);oldEvent; };

            var innerHeight = innerBody.scrollHeight + (innerBody.offsetHeight - innerBody.clientHeight);
            iframeObj.style.height = innerHeight;

            if( !arguments[1] )        /* 특정 이벤트로 인한 호출시 스크롤을 그냥 둔다. */
                    this.scrollTo(1,1);
    }
    </script>
    ---------------------------------------------------------------------

    iframe을 다음과 같이 넣는다.
    ---------------------------------------------------------------------
    <iframe width=600 height=600 src="내용의경로" onload="resizeFrame(this)"  frameborder=0></iframe>
    ---------------------------------------------------------------------

    위와 같이 넣으면 ifrmae의 크기가 자동조정이 됩니다.

    FTP directory /pub/cygwin/ at ftp.kr.vim.org

    FTP directory /pub/cygwin/ at ftp.kr.vim.org


    Up to higher level directory
    09/27/2006 05:06PM      Directory .cgf-stage
    03/11/2001 12:00AM 552 .message
    11/05/2006 12:17PM 53,666 ls-lR.gz
    10/31/2006 06:05PM Directory mail-archives
    11/04/2006 12:07PM 132 md5.sum
    10/24/2006 12:27AM Directory release
    11/04/2006 11:20AM 129,598 setup.bz2
    09/07/2005 12:00AM 304,128 setup.exe
    11/04/2006 11:20AM 580,712 setup.ini