본문 바로가기

Hacked Brain/embeddedland.net

임베디드 개발자 입문-4 http://cafe.naver.com/devctrl/67 임베디드 개발자 입문-4 저 자 : 박철 출판일 : 2004년 1월호 부트로더 제작 와 같이 일반적으로 부트로더라 하면 일반 x86 리눅스에서는 LILO를 많이 사용할 것이다. LILO란 Linux Loader로서 DOS나 윈도우 NT, 리눅스 등 다른 OS를 선택적으로 부팅할 수 있도록 하는 기능을 제공한다. LILO는 하드디스크의 MBR에서 동작하는 프로그램으로 OS가 실행할 수 있도록 점프하는 기능을 수행한다. LILO와 X-boot250과 비교 그럼 우리가 사용하는 x-boot250이란 부트로더는 플래시 0 블럭에서 실행되고 여러 가지 다양한 기능들을 수행한다. 먼저 커널이나 램디스크(ramdisk) 등의 데이터를 호스트로부터 SDRAM .. 더보기
임베디드 개발자 입문-3 http://cafe.naver.com/devctrl/66 임베디드 개발자 입문-3 저 자 : 박철 출판일 : 2004년 1월호 임베디드 시스템 HW 개발 과정 은 밥솥의 하드웨어 구성을 나타낸 것이다. CPU는 ARM 기반의 인텔에서 제공하는 PXA 255를 사용하였으며 메모리는 SDRAM 32MB, 플래시 16MB를 사용하였으며 밥솥의 기능을 수행하기 위해서 히터 로직(Heater Logic)이 있으며 외부에 TCP/IP 기반으로 통신하기 위해서 이더넷 컨트롤러를 달았다. 그리고 사용자 인터페이스를 위하여 3.5인치 TFT LCD를 달았고, 터치스크린을 통하여 사용자로부터 입력을 받을 수 있도록 하였다. 그리고 사운드 로직을 통하여 음향 및 음성 정보를 사용자에 전달할 수 있도록 하드웨어를 설계하였다.. 더보기
임베디드 개발자 입문-2 http://cafe.naver.com/devctrl/65 임베디드 개발자 입문-2 저 자 : 박철 출판일 : 2004년 1월호 임베디드 시스템이란 무엇인가? 임베디드 시스템은 우리 생활에서 쓰이는 각종 전자기기, 가전제품, 제어장치 등을 말한다. 이러한 장비의 특징은 단순히 전기, 전자회로로만 구성된 것이 아니라 마이크로프로세서가 내장되어 있다는 것이다. 이렇게 내장된 마이크로프로세서는 시스템을 구동하여 그 장비가 해야 하는 특정한 기능을 수행하도록 프로그램이 내장되어 있는 시스템을 가리킨 것이다. 이러한 임베디드 시스템은 산업, 가전, 사무, 군사 등의 다양한 응용 분야를 가지고 있으며 적용 사례도 휴대폰, PDA, 사이버 아파트의 홈 관리 시스템, 홈 네트워크 게이트웨이 장치, 교통관리 시스템, 주.. 더보기
임베디드 개발자 입문-1 http://cafe.naver.com/devctrl/59 임베디드 개발자 입문-1 저 자 : 박철 출판일 : 2004년 1월호 2000년대는 포스트 PC, 즉 임베디드 시스템의 시대라고 해도 과언이 아니다. 많은 임베디드 시스템의 사양이 32비트 프로세서를 사용하는 시스템으로 급격히 변화되고 있다. 특집 1부에서는 임베디드 개발자가 되기를 원하는 독자들을 위하여 임베디드 분야와 다른 분야의 차이점이 무엇이며, 임베디드 개발 자체가 무엇인가와 임베디드 개발자가 되기 위해서 무엇을 준비해야 하는가를 설명하고자 한다. 박철 | pc@hybus.net 임베디드 기반의 개발과 특히 임베디드 교육에 많은 관심을 가지고 있으며, 이에 대한 사업화 방안에 관해 항상 고심하고 있는 사람이다. 실제 강의 현장에서 수강생.. 더보기
AVR의 특징 2. 출처 : http://cafe.naver.com/okh0217 AVR의 특징 AVR 은 Alf(Bogen) Vergard(Wollen) Risc 의 약자로서 ATMEL사에서 제작된 RISC 구조의 MPU 이다. 비교적 저렴한 가격에 비해 8MHz에 8MISP라는 속도는 상당히 매력적이며 ADC, PWM, SPI 등등의 고기능을 손쉽게 구현할 수 있다는 장점이 있다. 또한 AVR의 강점으로 꼽을 수 있는 것은 제작사가 컴파일러 WAVRASM 과 상당히 강력한 디버거인 AVR Studio를 제공한다는 것이다. 일반적인 AVR 의 특징에 대해 살펴보자 AT90S8535 를 예로 들었습니다. AVR 고성능 저전력 RISC 구조 사용 118 강력한 명령어 - 대부분 1클럭에 실행됨 32 * 8 범용 작업 레지스터.. 더보기
AVR Familly2 Device Flash (Kbytes) Vcc (V) EEPROM (Kbytes) SRAM (bytes) F.max (MHz) Max I/O Pins Interrupts Ext Interrupts TWI 16-bit Timer SPI 10-bit A/D (channels) ISP UART 8-bit Timer Watchdog PWM (Channels) RTC Analog Comparator Brown Out Detector Hardware Multiplier On Chip Oscillator Self Program Memory Package Options AT90LS2323 2 2.7-6.0 0.125 128 4 3 2 1 Yes 1 Yes 8-Pin DIP, 8-PIN SOIC AT90LS2343 2 .. 더보기
AVR Family Automotive AVR Devices Description ATtiny24 Automotive 2K Bytes of In-System Self-Programmable Flash, 128 Bytes In-System Programmable EEPROM, 128 Bytes Internal SRAM. 8-bit and 16-bit timer/counters with PWM, 10-bit ADC, USI-Universal Serial Interface, On-chip Temperature Sensor. debugWIRE for on-chip-debug. Up to 16 MIPS throughput at 16 MHz. 2.7 - 5.5 V operation. See datasheet for automotive.. 더보기
AVR의 특징 출처 : http://cafe.naver.com/okh0217 AVR 특징 AVR은 Atmel사에서 만든 RISC 타입의 고속 8비트 마이크로컨트롤러이다. PIC보다 처리속도가 빠르고 8051보다 자원이 풍부하다는 특징이 있어 중소 규모의 산업용 제어기제작에 적합하다 ●ISP(In System Programming)기능이 있어 AVR칩을 기판에 부착한 상태에서 내부 FLASH롬과 EEPROM을 여러번 프로그래밍 할 수 있다. ●C언어 처리를 강력하게 지원한다 1.RISC 구조의 고속 처리가 가능하다. → 같은 클럭으로 동작시 PIC보다 4배 빠르고, 8051보다 10배 이상 빠르다. 1MHz에 1MIPS의 처리 능력이 있어 10MHz로 동작하는 경우 10MIPS의 처리 능력을 발휘한다. 2.C언어 처리 .. 더보기
부트로더의 기본 구현-2 저 자 : 유영창 출판일 : 2003년 12월호 == 이지부트의 디렉토리 구조 이지부트 소스에서 start와 main의 두 프로그램은 상호 유기적인 관계가 있기 때문에 디렉토리를 하나로 작성하고 하부 디렉토리에 따로 관리한다. 하나의 디렉토리 안에 모든 소스를 관리하면 나중에 무척 힘들게 되고 Makefile이나 링크 스크립트 작성이 어렵다. 그래서 Makefile이나 링크 스크립트의 관리적인 측면에서 따로 나누는 것이 유리하다. 우선 이지부트의 하부 `디렉토리 구조를 살펴보자. 이지부트가 존재하는 디렉토리가 ezboot라는 이름을 갖는다고 가정하면 하부 디렉토리의 모습은 다음과 같다. ◆ ezboot/image/ : 최종적으로 생성되는 부트로더 이미지가 들어가는 디렉토리 ◆ ezboot/include/.. 더보기
보드를 살려보자-4 저 자 : 유영창 출판일 : 2003년11월호 == PXA255의 GPIO EZ-X5의 LED는 GPIO 2, 3, 4, 5에 연결돼 있다. 따라서 LED 시험을 하기 위해서는 PXA255의 GPIO에 대해 알아봐야 한다. GPIO(General Purpose Input Output)는 일반적인 용도의 입출력 포트를 의미하며, 구조는 와 같다. 이처럼 복잡한 구조를 갖는 이유는 하나의 입출력 핀에 여러 가지 기능을 부여하기 때문이다. 기본적으로 입력과 출력이 가능하며, 하나의 핀은 GPIO로 사용될 수도 있지만 다른 기능으로도 사용이 가능하다. GPIO의 구조 이 모든 것을 설명하기는 지면 사정상 곤란하므로 시험 코드를 작성하기 위해 필요한 사항에 대해서만 알아보자. 우선 살펴봐야 할 것은 GPIO에 관.. 더보기
보드를 살려보자-3 저 자 : 유영창 출판일 : 2003년11월호 == 타겟 보드 이전 강좌에서도 독자들에게 양해를 구했듯이 실제 사용 가능한 부트로더를 만들려면 타겟이 분명해야 한다. 여러 프로세서를 지원하는 공개된 부트로더들 역시 환경 설정시에 타겟을 설정하게 하는 것이 그 이유이다. 때문에 필자 회사에서 개발한 EZ-X5 보드를 소개할 수밖에 없는 점을 이해해 주기 바란다. 은 이번 연재를 통해 만들어보게 될 ‘이지부트’라는 부트로더가 실장될 타겟 보드(모델명 EZ-X5)의 외관이다. 실장 내용은 다음과 같다. ◆ PXA255 400MHz ◆ 32MB SDRAM ◆ Boot Flash(NOR FLASH ROM 29LV800) ◆ Data Flash(NAND FLASH K9F1208U0A) ◆ Ethernet CS890.. 더보기
보드를 살려보자-2 저 자 : 유영창 출판일 : 2003년11월호 == 크로스 컴파일러와 gcc 소스 패키지 gcc에서 i386 이외의 실행 파일을 만들기 위해서는 리눅스에 이미 설치된 gcc란 컴파일러는 소용이 없다. 몇 가지 옵션만 바꾸어서 gcc를 실행한다고 i386 이외의 프로세서를 지원하는 코드가 생성되는 것은 아니다. 애초에 다른 프로세서에서 동작될 수 있는 실행 파일을 만들 수 있도록 gcc를 만들어야 하는 것이다. 그렇다고 기존에 i386에서 동작하는 gcc를 아예 다른 프로세서에서 동작하는 실행 파일을 만드는 gcc로 바꿔버리면 문제가 된다. 그 뒤로는 i386에서 동작하는 어떤 프로그램도 만들 수 없기 때문이다. 그래서 보통은 gcc의 이름을 조금 바꾼다. arm 계열의 프로세서에서 동작하는 실행 프로그램.. 더보기
MSRS VPL 을 이용한 SpeechRecognizer 음성인식기 사용 예제 출처 : http://cafe.naver.com/msrskorea archegos 공개용 음성출력 및 음성인식기 TTSAgent.exe(한국어 및 기타 언어 지원) 및 SpeechRecognizer.exe를 이용하는 방법 중 두번째인 VPL을 이용한 음성인식 예제입니다. SpeechRec&TTS.zip에 포함 된 화자종속형 음성기인 SpeechRecognizer.exe를 실행합니다. 이 프로그램은 원하는 음성명령을 명령어 [명령어 등록]버튼 위의 텍스트 박스에 입력한 뒤 [명령어 등록]버튼을 누른 후 마이크로 두번 명령어를 입력받아 해당 명령을 등록합니다. 인식을 위해서는 Enable Recognition 체크박스를 선택한 뒤 [시작]버튼을 눌러 인식모드를 동작시킵니다. 인식된 결과는 오른쪽의 인식결과 .. 더보기
MSRS VPL 을 이용한 TTSAgent 음성출력 예제 공개용 음성출력 및 음성인식기 TTSAgent.exe(한국어 및 기타 언어 지원) 및 SpeechRecognizer.exe를 이용하는 방법 중 첫번째인 VPL을 이용한 음성출력 예제입니다. 우선, TTSAgent를 이용하기 위해 SpeechRec&TTS.zip에 포함 된 SAPI4용 제어판인 SpchCpl.exe를 설치하고, 각 언어별 TTS 엔진을 http://www.microsoft.com/msagent/downloads/user.aspx 의 Text-to-speech engines:부분에서 L&HTTS3000 TTS engine - Korean(3MB exe)을 선택해 다운로드하고 설치하십시오. 이후 TTSAgent를 실행해 오른쪽 버튼을 클릭하여 Options을 선택하면 아래와 같은 화면이 표시됩.. 더보기
MSRS VPL 및 C# 에서 이용가능한 공개 한글TTS및 음성인식기 출처 : http://cafe.naver.com/msrskorea archegos TTSAgent.exe(한국어 및 기타 언어 지원) 및 SpeechRecognizer.exe 입니다. MSRS에서 WinMessage 서비스를 이용해 위의 한글TTS와 음성인식기를 사용할 수 있습니다. TTSAgent 는 SAPI4를 지원합니다. 실행하시기 전에 SpeechRec&TTS.ZIP에 포함 된 SpchCpl.exe를 설치하고, 각 언어별 TTS 엔진은 http://www.microsoft.com/msagent/downloads/user.aspx 에서 다운로드해서 설치하시면 됩니다. TTSAgent를 실행하고 나타나는 에이전트에 마우스 오른쪽 버튼을 클릭하시면 옵션을 조정하고 각 TTS엔진을 테스트할 수 있습니다... 더보기