잔글 →임베디드 펌웨어 과목 |
편집 요약 없음 |
||
| (다른 사용자 한 명의 중간 판 27개는 보이지 않습니다) | |||
| 1번째 줄: | 1번째 줄: | ||
'''임베디드기사'''는 2011.11.23 발표된 고용노동부령 제35호에 따라 2013년부터 자격시험을 진행 중인 한국산업인력공단에서 인증하는 [[임베디드 시스템]] 관련 국가기술자격증이다. | '''임베디드기사'''는 2011.11.23 발표된 고용노동부령 제35호에 따라 2013년부터 자격시험을 진행 중인 한국산업인력공단에서 인증하는 [[임베디드 시스템]] 관련 국가기술자격증이다. | ||
| 17번째 줄: | 15번째 줄: | ||
** [[Verilog]]와 [[VHDL]] 등의 HDL과 [[FPGA]] | ** [[Verilog]]와 [[VHDL]] 등의 HDL과 [[FPGA]] | ||
* 컴퓨터 구조와 [[마이크로프로세서]] | * 컴퓨터 구조와 [[마이크로프로세서]] | ||
** [[CPU]] | ** [[CPU]]: 고성능 지향 CPU는 MPU라고 부르기도 한다. | ||
*** [[CISC]] vs [[RISC]] | *** [[CISC]] vs [[RISC]] | ||
**** [[ARM]] | **** [[ARM]] | ||
**** [[x86]] | |||
*** [[파이프라인 (CPU)|파이프라인]]과 데이터 의존성 | *** [[파이프라인 (CPU)|파이프라인]]과 데이터 의존성 | ||
** SoC(System On Chip): 단일한 칩에 마이크로컨트롤러(MCU)와 기타 제어용 칩을 모두 통합한 것 | ** SoC(System On Chip): 단일한 칩에 마이크로컨트롤러(MCU)와 기타 제어용 칩을 모두 통합한 것 | ||
** 메모리 계층 구조 | ** 메모리 계층 구조 | ||
*** [[캐시 메모리]] | *** [[캐시 메모리]] | ||
** [[집적 회로]] | |||
** 구조적 전자 회로 구분 | |||
*** RTL(Resistor-Transistor Logic): 신호 입력부에 저항을 달고, 그 뒤에 스위치 역할의 트랜지스터를 단 로직, 트랜지스터를 최소로 쓰나 저항으로 인한 전력 소모와 발열이 높고 입력 신호의 잡음 처리와 베이스 전류 억제가 잘 안 되기에 신호의 팬인의 제약이 크다(많아야 3개 입력 수용 가능). | |||
*** DTL(Diode-Transistor Logic): 저항에 다이오드까지 추가하여 정류 및 베이스 전류/잡음 억제까지 수행하는 개선된 회로. 그에 따라 수용 가능한 입력 신호(팬인)이 증가하였다. | |||
*** TTL(Transistor-Transistor Logic): RTL 및 DTL의 단점이었던 전하 이동 지연으로 인한 신호 전달 지연을 다이오드 대신 트랜지스터를 써서 접지를 위한 스위칭으로 빠르게 전하를 빼내어 신호 지연을 줄인 전자 회로. 집적 회로의 시대가 개막한 이후 현재까지도 자주 쓰인다. | |||
*** ECL(Emitter-Coupled Logic): 전압차를 증폭하는 차동 증폭기를 이용해 TTL처럼 전하를 빠르게 빼내어 신호 전달 시간을 단축한 고속 동작 회로. TTL의 대안으로 쓸 수 있으나 TTL 대비 소자 배치가 상대적으로 복잡하다. | |||
*** Open Collector, CML(또는 SCL) 등 다른 유형의 전자 회로도 있다. | |||
** [[마이크로컨트롤러]](MCU): 고성능을 지향하는 CPU(MPU라고도 한다)와 달리 저전력으로 동작하며 장치 제어를 목적으로 하는 마이크로프로세서 | |||
*** MOS 6502 | |||
*** 인텔 [[인텔 8051|8051]] | |||
*** [[AVR]] | |||
* I/O | * I/O | ||
** 각종 디지털 신호를 전달하는 [[버스(컴퓨터)|버스]] | ** 각종 디지털 신호를 전달하는 [[버스(컴퓨터)|버스]] | ||
| 39번째 줄: | 49번째 줄: | ||
*** [[SPI]] | *** [[SPI]] | ||
*** [[USB]] | *** [[USB]] | ||
*** LVDS: 고성능 ADC/FPGA와 DSP 인터페이스를 위해 2001년 발표된 통신 규격. 직렬 레인 개념을 사용하며 송신기로 3.5mA 전류를 보내면 수신기에 350mW의 | *** LVDS: 고성능 ADC/FPGA와 DSP 인터페이스를 위해 2001년 발표된 통신 규격. 직렬 레인 개념을 사용하며 송신기로 1.20V 3.5mA 전류를 보내면 도선 하나당 수신기에 350mW의 전력으로 신호가 보내지는 구조다. 이 때 전위가 반전 관계인 두 개의 도선에 신호를 동시에 보내며 전위차 변화를 비교하여 디지털 데이터를 구분하기에 100옴의 저항을 두 도선 사이에 연결한다. | ||
*** JESD204: JEDEC<ref>보통 DDR SDRAM이나 HBM 같이 RAM의 데이터 통신 규격을 정하는 것으로도 대중에게 알려져 있지만 정확히는 IC 칩 간 통신 규격을 정하는 단체다.</ref>에서 발표한 ADC - 디지털 프로세서 간의 통신 규격이다. 단일 또는 다중 레인 간 차동 신호 쌍에 대한 동기화 기능 등을 지원하며 최대 32Gb/s의 데이터 통신 속도를 지원한다. | *** JESD204: JEDEC<ref>보통 DDR SDRAM이나 HBM 같이 RAM의 데이터 통신 규격을 정하는 것으로도 대중에게 알려져 있지만 정확히는 IC 칩 간 통신 규격을 정하는 단체다.</ref>에서 발표한 ADC - 디지털 프로세서 간의 통신 규격이다. 단일 또는 다중 레인 간 차동 신호 쌍에 대한 동기화 기능 등을 지원하며 최대 32Gb/s의 데이터 통신 속도를 지원한다. | ||
** 신호처리 | ** 신호처리 | ||
*** Analog to Digital Converter([[ADC]])와 Digital to Analog Converter([[DAC]]) | *** Analog to Digital Converter([[ADC]])와 Digital to Analog Converter([[DAC]]) | ||
** 네트워크 통신 규격 | |||
*** [[이더넷]] | |||
*** [[Wi-Fi]] | |||
=== 임베디드 펌웨어 과목 === | === 임베디드 펌웨어 과목 === | ||
[[리눅스]] 채용 시스템을 주 기준으로 본다. | |||
* [[펌웨어]] | * [[펌웨어]] | ||
** [[JTAG]] | ** [[JTAG]] | ||
** 스타트업 | ** [[스타트업 코드]]와 [[부트스트래핑|부팅]] 과정, [[로더(소프트웨어)|로더]] | ||
** [[램 디스크]] | ** [[램 디스크]]: 리눅스에서는 dd 명령어로 커널 이미지 등을 통째로 램 디스크에 복사한다. 또 리눅스 부팅 과정에서 initrd라는 램 디스크가 만들어진다. | ||
* 디바이스 [[ | ** Busybox: 정말 핵심적인 유닉스 유틸리티 기능만 담아둔 임베디드 리눅스용 단일 파일 유틸리티 프로그램. 유사 프로그램 패키지로 GNU 코어 유틸리티, Toybox, util-linux 등이 있다. | ||
** 커널 모듈 프로그래밍 | * 디바이스 [[드라이버 소프트웨어|드라이버]] : 리눅스의 경우 파일 기반 문자 드라이버, 파일 시스템 기반 블록 드라이버, 네트워크 드라이버를 가진다. 리눅스의 드라이버 소프트웨어 제작은 [[리눅스/리눅스 시스템 프로그래밍#리눅스 디바이스 드라이버 개발 과정|여기]]에 적혀 있다. | ||
** 커널 모듈 프로그래밍: SELinux(리눅스의 오픈 소스 보안 모듈, 방화벽 등의 기능을 제공한다) 등 커널에 부착할 모듈을 프로그래밍할 수 있다. | |||
** [[API(운영 체제)]] | ** [[API(운영 체제)]] | ||
** [[로더(소프트웨어)|로더]] | ** [[로더(소프트웨어)|로더]] | ||
* [[리눅스]] 커널 | * [[리눅스]] 커널(저수준 시스템제어 파트) | ||
** [[ELF]] 파일 포맷 | ** [[ELF]] 파일 포맷 | ||
** [[NFS]]을 사용한 원격 파일 관리 | |||
* 전원 관리 | * 전원 관리 | ||
** [[고급 전원 관리|APM]] 전원 관리 규격 | ** [[고급 전원 관리|APM]] 전원 관리 규격 | ||
=== 임베디드 플랫폼 과목 === | === 임베디드 플랫폼 과목 === | ||
* [[운영체제]] | * [[운영체제]]: 리눅스 고수준 시스템 제어 기능을 다룬다. | ||
** [[프로세스 스케줄링]] | ** [[프로세스 스케줄링]] | ||
*** 프로세스와 스레드 | *** 프로세스와 스레드 | ||
| 69번째 줄: | 85번째 줄: | ||
*** [[FAT]] | *** [[FAT]] | ||
*** [[EXT(파일 시스템)|EXT]] | *** [[EXT(파일 시스템)|EXT]] | ||
*** DevFS, VFS, JFS | *** Btrfs(B-Tree File System): EXT의 정적 inode 구조가 낡았다 판단하여 B-[[자료구조#트리|트리]] 자료구조를 사용해 만든 리눅스용 파일 시스템. 데이터 복구가 용이하도록 스냅샷 기능이 지원되나 트리 자료구조의 특성 상 스냅샷을 만드는 데에 성능을 많이 잡아먹는 편이라 데이터베이스/하이퍼스케일 서버의 리눅스 시스템에 적합한 편이다. | ||
*** [[RAID]], [[LVM]] | *** JFFS2: 플래시 메모리를 채용한 임베디드 리눅스용 파일 시스템. 저널링이 지원된다. | ||
*** DevFS, VFS, JFS: 각각 장치 관리용 파일 시스템, 가상화된 입출력을 위한 파일 시스템, 저널링 파일 시스템을 가리킨다. | |||
*** [[RAID]], [[LVM]]: 여러 개의 보조 기억 장치를 묶어서 파일 시스템을 구성할 때 사용, RAID로 묶고 LVM으로 파일 시스템을 설정한다. | |||
** 시스템 콜 | ** 시스템 콜 | ||
* [[컴퓨터 네트워크]] 이론 | * [[컴퓨터 네트워크]] 이론 | ||
| 80번째 줄: | 98번째 줄: | ||
** [[IP]] | ** [[IP]] | ||
* 임베디드 플랫폼 개발 | * 임베디드 플랫폼 개발 | ||
** 크로스 [[ | ** 크로스 [[컴파일러]] | ||
** [[통합 개발 환경]] | ** [[통합 개발 환경]] | ||
| 93번째 줄: | 111번째 줄: | ||
** [[UML]] | ** [[UML]] | ||
* 시스템 장애 대응 | * 시스템 장애 대응 | ||
[[분류:국가기술자격]] | |||