본문 바로가기

Embedded

Embedded OS로의 리눅스 출처 - KELP 게시판 글쓴이 - 조형기Embedded OS로의 리눅스 -들어가기- 임베디드 시스템이라는 용어는 참으로 오래 됐다. 인텔에서 4bit 마이크로 프로세서가 나올 때 부터 임베디드 시스템들은 개발되지 않았나 싶다. 최근에 IBM의 Technical Article에서 보니까, 60년대 후반, 전화 스위치를 제어하는 통신에 사용되었던 것이 최초의 임베디드 시스템으로 알려져 있다고 하였다. www.embedded.com이라는 명실상부한 임베디드 시스템 포탈 사이트가 있다. 10년 전에는 이곳에서 주최하여 미국 샌프란시스코에서 열리는 임베디드 시스템 컨퍼런스에 참가하는 한국 개발자가 몇 명 없었다며, 응근히 자랑하던 한 교수님의 말씀이 떠오른다. 그러던 것이 지금은 아무나 쉽게 'embedded'.. 더보기
임베디드 개발자 입문-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 계열의 프로세서에서 동작하는 실행 프로그램.. 더보기
'uC/OS-II 포팅하기' 전자기술에 실린 자료 'uC/OS-II 포팅하기' 전자기술에 실린 자료 더보기
임베디드 개발자 입문-5 임베디드 개발자 입문-5 저 자 : 박철 출판일 : 2004년 1월호 무엇을 준비해야 할까? 앞서 살펴봤던 것과 같이 우리가 이제껏 알고 있던 그리고 흔히 접해왔던 일반적인 컴퓨터 기반의 하드웨어, 소프트웨어 개발과는 달리 임베디드 시스템의 경우엔 그 개발 환경 구축부터 개발에 이르기까지 여러 가지 상이한 점들이 존재하기 때문에 처음 이를 접하는 개발자들은 다소 혼란스럽고 적응에 실패하기도 한다. 그러나 임베디드 시스템 역시 CPU(프로세서)와 메모리로 되어 있는(어느 특정 목적을 위해 개발된) 조그만 컴퓨터라 생각하고 개발에 임한다면 그리 어렵지만은 않을 거라고 필자는 확신한다. 즉, 임베디드 시스템 개발시 다음의 기본 기술 요소들만 확실하게 닦아 놓는다면 나름대로 쉽게 적응할 수 있지 않을까 싶다. .. 더보기