Skip to content

태그: Embedded

임베디드 리눅스 프로그래밍 수업 정리
embedded
임베디드 시스템의 특징 임베디드 시스템: 내부에 Computer(마이크로 프로세서/마이크로 컨트롤러)를 내장한 제품 혹은 시스템 일반적인 계산 목적이 아니라 특별한 임무를 수행하도록 프로그램이 내장되어 있는 시스템 목적에 알맞은 Processor의 특징에 의존한다 일반적으로 보다 큰 시스템의 일부이거나 독립됨 하드웨어와 소프트웨어의 변경이 매우 어려움 가격에 예민함 임베디드 시스템처럼 호스트 시스템과 타겟 시스템이 다를 때 애플리케이션을 개발하기 위해선: 효과적인 개발을 위한 특정 툴과 개발방법이 필요, 개발툴에 Hardware에 대한 Setting을 해줘야 함 Host 시스템이 Target에 알맞은 기계어를 생성하기 위해서 Cross Toolchain이 있어야 한다 타켓 시스템의 디버깅을 위해 전용
시리얼 통신
embedded
병렬통신과 직렬통신 병렬통신(Parallel Communication) 다수의 비트(bit)를 한번에 전송하는 방법이다. 이들은 보통 8 또는 16 또는 그 이상의 라인을 통해 동시에 데이터를 보냄 타이밍(clock)에 맞춰 모든 라인이 같이 동작할 수 있도록 clock(CLK) 라인이 필요하므로 8-bit data bus의 경우 9라인을 사용한다. 패러럴은 빠르고 상대적으로 구현이 쉽지만 input/output(I/O) 라인을 많이 소모한다. 직렬통신(Serial Communication) 데이터를 스트림으로 바꿔서(직렬화, serialization) 한 번에 한 비트씩 전송한다. 시리얼 인터페이스는 clock 라인 포함 2라인으로 데이터를 전송한다. 동기 시리얼과 비동기 시리얼 동기식 시리얼(Sy
Audio Codec
embedded
오디오의 Raw 데이터는 너무 크기 때문에 통신이나 저장시에 효율이 좋지 못함 Audio Codec는 이러한 문제점을 해결하기 위해서 Raw 데이터를 압축할 수 있는 방법을 제시 종류 G.711, G.722, G.723.1, G.729: 통신 프로토콜 표준 단체인 ITU-T에서 표준으로 정의한 코덱으로 통신에 주로 사용 AAC, AC3, MP3, etc..: ISO혹은 민간기업등에서 정의한 압축 알고리즘으로 음악/영화 등에 주로 사용 G.711 음성에 있어서의 ITU 표준/H.323환경에서 음성전달 전송방식의 기본 오디오 코덱 표준안 G.711은 64Kbps에서 3KHz의 전화급 오디오 품질을 제공하기 위하여 PCM 오디오 엔코딩과 미국, 유럽에서 주로 이용하는 U-law 또는 A-law
I2C
embedded
Inter-Integrated Circuit(I2C) 프로토콜은 IC 사이에 통신 링크를 제공하는 양방향 2 와이어 직렬 버스이다. IIC 혹은 TWI(The Two-Wire Serial Interface)라고도 불린다. Philips Semiconductors 에 의해 1980 년대 초기에 개발 초기에는 텔레비전에서 CPU를 주변 칩에 연결할 방법을 제공하기 위해 만들어졌다. 오늘날에는 오디오와 비디오 장비뿐만 아니라 많은 다른 응용 분야에서 사용하며, 사실상의 표준으로서 산업계에서 보편적으로 수용되고 있다. 하나의 마스터와, 다른 하나의 슬레이브로 구성 된다. 그리고 슬레이브는 127개까지 구성이 가능하다. 즉, 메인 ECU가 있으면, 그 외 여러가지 디바이스들이 묶여 통신이 가능하다.
Cramfs
embedded
Cramfs (Compressed ROM File System)는 플래시 디바이스 내부에서 사용 가능한 압축된 읽기 전용 리눅스 파일 시스템이다. 간단하고 공간 효율적이다. zlib 루틴을 사용해 파일을 한 페이지씩 압축하고 랜덤 페이지 접근을 허용한다. 메타데이터는 압축되지 않지만 매우 간결한 표현을 사용해 기존 파일시스템보다 디스크 공간을 훨씬 적게 사용한다. 메모리 크기가 작은 임베디드 디자인에 활용된다. 현재 시스템에서 사용자 어플리케이션 실행폴더로 활용 RAM과 다르게 중간에 전원이 꺼지더라도 파일시스템이 훼손되지 않는다. cramfs 파일시스템에는 쓰기가 불가능하다 (높은 압축률 때문에 실시간 업데이트가 매우 어렵다). 따라서 별도 유틸리티로 디스크 이미지를 생성해야 한다.