맨위로가기

마이크로컨트롤러

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

마이크로컨트롤러(MCU)는 CPU, 메모리, 입출력 장치를 하나의 칩에 통합하여 제품의 소형화와 비용 절감을 가능하게 하는 컴퓨터 칩이다. 1970년대 초에 등장하여 임베디드 시스템에 널리 사용되었으며, 현재는 ARM 아키텍처 기반의 32비트 프로세서가 주류를 이룬다. 마이크로컨트롤러는 가전제품, 자동차, 의료 기기, 산업 자동화, 사물 인터넷 등 다양한 분야에서 자동 제어를 위해 사용되며, 프로그래밍을 통해 다양한 기능을 수행할 수 있다. 개발 환경은 통합 개발 환경(IDE)과 컴파일러, 디버거 등을 포함하며, ARM Cortex-M, AVR, PIC, ESP32, STM32 등 다양한 제품군이 존재한다.

더 읽어볼만한 페이지

  • 마이크로컨트롤러 - 마이크로프로세서
    마이크로프로세서는 CPU 기능을 단일 IC에 통합한 것으로, 무어의 법칙에 따라 성능이 향상되어 왔으며 다양한 아키텍처와 기술 발전을 거쳐 현재 광범위한 분야에서 사용된다.
  • 마이크로컨트롤러 - ARM 아키텍처
    ARM 아키텍처는 저전력 설계로 모바일 기기에서 널리 쓰이는 RISC 기반 프로세서 아키텍처로서, IP 코어 라이선스 모델과 ARM Flexible Access를 통해 다양한 분야로 확장되고 있다.
  • 디지털 전자공학 - 트랜지스터-트랜지스터 논리
    트랜지스터-트랜지스터 논리(TTL)는 1961년 제임스 L. 부이에 의해 발명된 바이폴라 접합 트랜지스터 기반의 디지털 회로 기술로, 텍사스 인스트루먼츠의 7400 시리즈를 통해 널리 사용되었으며, 저렴한 비용으로 디지털 기술 발전에 기여했다.
  • 디지털 전자공학 - 플립플롭
    플립플롭은 1비트 이상의 정보를 저장하는 디지털 논리 회로로, 에클스-조던 트리거 회로에서 기원하여 SR, D, T, JK 등 다양한 유형으로 구현되며, 컴퓨터 기억 장치의 기본 구성 요소로 사용되지만 타이밍 요소에 민감하게 설계해야 한다.
  • 중앙 처리 장치 - NX 비트
    NX 비트는 하드웨어 기반 보안 기능으로, 메모리 페이지의 실행 권한을 제어하여 특정 영역에서 코드 실행을 막아 버퍼 오버플로 공격과 같은 보안 위협을 줄이는 데 사용되며, AMD에서 처음 도입 후 다양한 프로세서와 운영체제에서 DEP 등의 이름으로 구현되었다.
  • 중앙 처리 장치 - 컴퓨터 냉각
    컴퓨터 냉각은 CPU나 GPU 같은 부품에서 발생하는 열을 제거하여 안정적인 작동을 돕는 기술로, 초기 자연 공랭 방식에서 발전하여 공랭, 수랭, 액침 냉각 등 다양한 방식으로 컴퓨터 부품 수명 연장, 성능 저하 방지, 고성능 컴퓨팅 환경 지원에 기여한다.
마이크로컨트롤러
기본 정보
마이크로컨트롤러 다이의 클로즈업 사진
마이크로컨트롤러 다이의 클로즈업 사진
정의단일 집적 회로에 내장된 소형 컴퓨터
마이크로컨트롤러의 약어MCU 또는 uC
데이터 폭4비트, 8비트, 16비트, 32비트, 64비트
클럭 속도4 kHz ~ 1 GHz 이상
메모리 크기128 바이트 ~ 수 메가바이트
구조
CPUALU (산술 논리 장치)
제어 장치
레지스터
메모리RAM (랜덤 액세스 메모리)
ROM (읽기 전용 메모리) 또는 플래시 메모리
입출력 장치ADC (아날로그-디지털 변환기)
DAC (디지털-아날로그 변환기)
타이머
시리얼 통신 인터페이스 (UART, SPI, I2C 등)
병렬 통신 인터페이스
용도
일반적인 용도자동 제어 장치
임베디드 시스템
로봇
자동차
가전제품
산업 자동화
예시키보드
마우스
모니터
프린터
스캐너
역사
초기 개발1970년대, 1980년대 초
주요 특징단일 칩에 모든 구성 요소 통합
저전력 소모
실시간 제어 능력
초기 모델TMS1000 (텍사스 인스트루먼트)
인텔 8048
모토로라 6805
PIC1650 (마이크로칩 테크놀로지)
종류
아키텍처ARM (Advanced RISC Machine)
AVR
PIC
MCS-51
MSP430
비트 폭4비트
8비트
16비트
32비트
64비트
메모리 유형플래시
EEPROM
OTP
제조사
주요 제조사마이크로칩 테크놀로지
텍사스 인스트루먼트
ST마이크로일렉트로닉스
르네사스 일렉트로닉스
NXP 반도체
인피니언 테크놀로지스
ATMEL
실랩
삼성전자
관련 기술
개발 도구IDE (통합 개발 환경)
컴파일러
디버거
프로그래머
프로그래밍 언어C 언어
어셈블리어
C++ 언어
MicroPython
특징
장점저렴한 가격
소형 크기
낮은 전력 소비
실시간 제어 능력
다양한 기능 통합
단점제한된 처리 능력
제한된 메모리 용량
복잡한 프로그래밍 과정

2. 역사

최초의 마이크로프로세서는 1971년 출시된 4비트 인텔 4004였지만, 작동 시스템을 구현하기 위해 외부 칩이 필요하여 전체 시스템 비용이 증가했다.

마이크로컨트롤러는 아날로그 회로나 디지털 논리 회로로 구성된 하드웨어 회로를 대체하기 위해 등장했다. 프로그램 내장 방식을 채택하여 회로 변경 없이 내장된 프로그램을 바꾸는 것만으로 제어 내용 변경이나 기능 추가가 가능해졌고, 컴퓨터 시스템을 단일 칩으로 만든 것이 마이크로컨트롤러였다.

세계 최초의 마이크로컨트롤러는 1971년 9월에 등장한 텍사스 인스트루먼츠 TMS0100 시리즈의 TMS1802NC (TMS0102)라고 알려져 있다.[38]

마이크로컨트롤러가 발전함에 따라 내장되는 회로가 증가하고, 외부에 설치해야 하는 부품이 감소하고 있다. 초기에는 마스크 ROM(Mask ROM)을 사용하여 펌웨어를 저장했고, 이후에는 자외선으로 지울 수 있는 EPROM이 사용되었으나 양산 버전은 OTP(일회성 프로그래밍) 방식이었다. 펌웨어 업데이트는 마이크로컨트롤러 자체를 교체해야 했기 때문에 많은 제품이 업그레이드 불가능했다.

MC68HC805[9]는 펌웨어 저장에 EEPROM을 사용한 최초의 마이크로컨트롤러였다. 1993년 마이크로칩이 PIC16C84[8]를 출시하면서 EEPROM 마이크로컨트롤러가 더욱 대중화되었다. 오늘날의 마이크로컨트롤러는 거의 모두 플래시 메모리를 사용하며, 일부 모델은 FRAM을 사용하고, 일부 초저가 부품은 여전히 OTP 또는 마스크 ROM을 사용한다.

2002년, 전 세계에서 판매된 모든 중앙 처리 장치(CPU)의 약 55%가 8비트 마이크로컨트롤러와 마이크로프로세서였다.[11] 1997년에는 20억 개[12], 2006년에는 40억 개[13]가 넘는 8비트 마이크로컨트롤러가 판매되었다.

선진국 가정에는 범용 마이크로프로세서가 약 4개뿐이지만, 마이크로컨트롤러는 약 36개 정도 있다. 일반적인 중형 자동차에는 약 30개의 마이크로컨트롤러가 있으며, 세탁기, 전자레인지, 전화기와 같은 많은 전기 장치에서도 찾아볼 수 있다.

제조 비용은 단위당 미만이 될 수 있다. 가장 저렴한 8비트 마이크로컨트롤러는 2018년 미만,[16] 32비트 마이크로컨트롤러는 약 정도였다.

2. 1. 초기 역사

스미스소니언 협회TI의 엔지니어 게리 분(Gary Boone)과 마이클 코치란(Michael Cochran)이 1971년에 최초의 마이크로컨트롤러를 만들었다고 평가했다.[47] 이들의 결과물인 TMS 1000은 1974년에 상용화되었다.[47] TMS 1000은 읽기 전용 메모리(ROM), 읽기/쓰기 메모리(RAM), 프로세서, 클럭을 단일 칩에 통합하여 임베디드 시스템에 적용되었다.[47][2]

1970년대 초중반, 일본 전자 제조업체들은 차량용 엔터테인먼트 시스템 자동 와이퍼, 전자식 도어록, 계기판용 4비트 MCU와 엔진 제어용 8비트 MCU를 포함하는 자동차용 마이크로컨트롤러를 생산하기 시작했다.[3]

인텔은 TMS 1000에 대응하여 제어 응용 분야에 최적화된 Intel 8048을 개발, 1977년에 상용 제품을 출시했다.[4] 8048은 마이크로프로세서와 함께 램(RAM)과 롬(ROM)을 동일 칩에 통합했다.

2. 2. 발전 과정

1970년대 초중반, 일본 전자 제조업체들은 차량용 엔터테인먼트 시스템 자동 와이퍼, 전자식 도어록, 계기판용 4비트 MCU와 엔진 제어용 8비트 MCU를 포함한 자동차용 마이크로컨트롤러를 생산하기 시작했다.[3]

1980년대부터 1990년대에는 8비트 인텔 8051과 자일로그 Z80 파생품이 마이크로컨트롤러 시장에서 큰 성공을 거두었다. 통신 기기에서는 1980년대 후반부터 1990년대에 걸쳐 MC68000과 그 파생품도 많이 사용되었다.

1993년, EEPROM 메모리가 도입되면서 마이크로컨트롤러는 EPROM에 필요한 고가의 패키지 없이 빠르게 전기적으로 지울 수 있게 되어, 신속한 프로토타이핑과 인시스템 프로그래밍이 가능해졌다. 같은 해, 아트멜(Atmel)은 플래시 메모리를 사용한 최초의 마이크로컨트롤러를 출시했다.[10]

현재는 ARM 아키텍처MIPS 아키텍처 파생 제품이 32비트 임베디드 프로세서 시장에서 큰 비중을 차지하고 있다.[41] 특히 휴대 전화 단말기에서 ARM의 시장 점유율이 높다.[42]

3. 특징

마이크로컨트롤러는 CPU 기능을 갖춘 하나의 집적회로로 통합된 마이크로프로세서의 일종이지만, 일반적인 마이크로프로세서보다 동작 속도가 느리고 소비 전력이 적다는 특징이 있다.[34] 이는 임베디드 시스템에 탑재하여 사용하는 것을 전제로 설계되었기 때문이다.[34]

일반적인 마이크로컨트롤러는 CPU 외에 주기억장치(전체 또는 일부)와 I/O 포트를 내장하고 있다. 컴퓨터가 동작하려면 CPU, 메모리, I/O 포트가 모두 필요하다. PC용 마이크로프로세서는 이러한 기능을 별도의 집적회로로 추가해야 하지만, 마이크로컨트롤러는 하나의 작은 집적회로로 통합되어 있어 매우 작고 간결하게 구성된다. 따라서, 특히 "컴퓨터의 물리적인 크기"가 요구되는 임베디드 시스템에 적합하다.

마이크로컨트롤러는 IoT를 실현하는 집적회로로서도 평가가 높아지고 있다.

초기 마이크로컨트롤러는 펌웨어 저장에 마스크 ROM을 사용했지만, 이후 EPROM을 거쳐 EEPROM을 사용한 MC68HC805[9]가 등장했다. 1993년에는 마이크로칩이 PIC16C84[8]를, ATMEL이 8051 코어를 사용하고 NOR 플래시 메모리를 최초로 사용한 마이크로컨트롤러를 출시하면서 EEPROM 마이크로컨트롤러가 더욱 대중화되었다.[10] 오늘날에는 대부분 플래시 메모리를 사용하며, 일부 모델은 FRAM을, 초저가 부품은 여전히 OTP 또는 마스크 ROM을 사용한다.

전자 공작 분야에서도 마이크로컨트롤러는 전자 부품 수를 줄여주고, 납땜 작업의 편의성과 안정성을 높여주는 편리한 부품이다. 메이커 운동의 확산과 함께 원보드 마이크로컨트롤러인 아두이노가 널리 보급되었으며, 아두이노는 Atmel사의 마이크로컨트롤러 :en:ATmega328에서 동작한다. ATmega328과 같은 마이크로컨트롤러는 저렴한 가격으로 인해 "표준적인 전자 부품"으로 자리 잡았다.[36][37]

3. 1. 저전력 소비

대부분의 마이크로컨트롤러는 저전력으로 동작하도록 설계되어, 배터리로 작동하는 장치나 에너지 효율이 중요한 시스템에 적합하다. 일부 마이크로컨트롤러는 4KHz 이하의 낮은 클럭 속도(clock rate)로 동작하며, 8비트 ADC/DAC를 가지고 매우 낮은 전력(수 mW ~ 수 µW)에서 동작한다. 유휴 상태에서는 수 나노와트(nW)의 전력만 소비하는 제품도 있어, 장시간 배터리 수명을 유지할 수 있다.[2] 이러한 특징 덕분에 마이크로컨트롤러는 손목시계와 같이 저용량 배터리로 오랜 시간 작동해야 하는 전자기기에 많이 사용된다.

마이크로컨트롤러는 임베디드 시스템에 사용하기 쉽도록 소비 전력이 억제되어 있다.[34]

3. 2. 소형화 및 고집적화

마이크로컨트롤러는 CPU, 메모리, 입출력 장치 등을 하나의 칩에 통합하여 시스템의 크기를 줄이고 비용을 절감하는 데 기여한다. 이러한 소형화는 휴대용 기기, 웨어러블 장치, 사물 인터넷(IoT) 기기 등 다양한 분야에서 활용도를 높이는 요인이다.[2]

1970년대 초중반, 일본의 전자 제조업체들은 자동차용 마이크로컨트롤러 생산을 시작했다. 여기에는 차량용 엔터테인먼트 시스템, 자동 와이퍼, 전자식 도어록, 계기판용 4비트 MCU와 엔진 제어용 8비트 MCU가 포함되었다.[3]

단일 칩 TMS 1000의 등장에 부분적으로 대응하여,[4] 인텔(Intel)은 제어 애플리케이션에 최적화된 컴퓨터 시스템 온 칩인 Intel 8048을 개발했으며, 상용 제품은 1977년에 처음 출시되었다.[4] 이 칩은 램(RAM)과 롬(ROM)을 동일 칩에 통합했다.

1993년, EEPROM 메모리의 도입으로 마이크로컨트롤러는[8] 빠르게 전기적으로 지울 수 있게 되어 신속한 프로토타이핑과 인시스템 프로그래밍이 모두 가능해졌다. 같은 해, 아트멜(Atmel)은 플래시 메모리를 사용한 최초의 마이크로컨트롤러를 출시했다.[10]

마이크로컨트롤러는 자신이 제어하는 임베디드 시스템의 이벤트에 대해 실시간으로 응답해야 한다. 특정 이벤트가 발생하면 인터럽트 시스템은 프로세서에게 현재 명령어 시퀀스의 처리를 중단하고 인터럽트 서비스 루틴을 시작하도록 신호를 보낼 수 있다.

메모리와 기타 주변 장치를 단일 칩에 통합하고 단일 장치로 테스트하면 칩 비용이 증가하지만, 종종 전체 임베디드 시스템의 순 비용을 줄이는 결과를 가져온다. 통합 주변 장치가 있는 CPU의 비용이 CPU와 외부 주변 장치의 비용보다 약간 더 비싸더라도, 칩 수가 적으면 일반적으로 더 작고 저렴한 회로 기판을 사용할 수 있으며 회로 기판을 조립하고 테스트하는 데 필요한 노력이 줄어들고 완성된 조립품의 결함률이 감소하는 경향이 있다.

마이크로컨트롤러는 CPU와 같은 칩에 RAM과 불휘발성 메모리를 통합하기 때문에 외부 주소 또는 데이터 버스를 구현하지 않을 수 있다. 핀 수를 줄임으로써 칩을 훨씬 작고 저렴한 패키지에 배치할 수 있다.

3. 3. 다양한 기능 통합

마이크로컨트롤러는 CPU 코어뿐만 아니라, 컴퓨터 시스템에 필요한 다양한 기능을 통합하여 복잡한 시스템을 간편하게 구현할 수 있도록 돕는다. 이러한 기능에는 다음이 포함된다.[2]

이 외에도, 펄스폭 변조(PWM) 블록을 통해 CPU 부담을 줄이면서 전력 변환기, 저항성 부하, 모터 등을 제어할 수 있다. 범용 비동기 송수신기(UART) 블록은 직렬 통신을 지원하며, I²C, SPI, USB, 이더넷 등 다양한 통신 프로토콜을 지원하는 하드웨어도 포함될 수 있다.[28]

3. 4. 프로그래밍 가능성

마이크로컨트롤러는 프로그래밍을 통해 다양한 기능을 수행하도록 제어할 수 있으며, 이는 제품 개발의 유연성을 높이고 시장 변화에 빠르게 대응할 수 있도록 한다. 일반적으로 마이크로컨트롤러 프로그램은 외부 확장 메모리를 제공하는 데 비용이 많이 들기 때문에 사용 가능한 칩 내부 메모리에 맞춰야 한다.[28] C, C++, 어셈블리어 등 다양한 프로그래밍 언어를 사용하여 개발할 수 있다.[30]

컴파일러와 어셈블러는 고급어셈블리어 코드를 마이크로컨트롤러 메모리에 저장하기 위한 컴팩트한 기계어로 변환하는 데 사용된다. 장치에 따라 프로그램 메모리는 영구적인 ROM일 수 있으며, 공장에서만 프로그래밍할 수 있거나, 현장에서 변경 가능한 플래시 또는 지울 수 있는 읽기 전용 메모리일 수 있다.[28]

1993년, EEPROM 메모리의 도입으로 PIC16C84부터 시작하여[8] 마이크로컨트롤러는 EPROM에 필요한 고가의 패키지 없이 빠르게 전기적으로 지울 수 있게 되어 신속한 프로토타이핑과 인시스템 프로그래밍이 모두 가능해졌다. 같은 해, 아트멜(Atmel)은 플래시 메모리를 사용한 최초의 마이크로컨트롤러를 출시했다.[10] 다른 회사들도 두 가지 메모리 유형 모두를 사용하여 빠르게 이러한 추세를 따랐다.

제조업체는 종종 대상 시스템의 하드웨어 및 소프트웨어 개발을 지원하기 위해 마이크로컨트롤러의 특수 버전을 생산해 왔으며, 원래 이러한 버전에는 장치 상단에 "창"이 있어 자외선으로 프로그램 메모리를 지울 수 있는 EPROM 버전이 포함되어 있었다. 1998년 이후로 EPROM 버전은 드물어졌으며, 사용이 더 쉽고(전자적으로 지울 수 있음) 제조 비용이 저렴한 EEPROM 및 플래시로 대체되었다.

맞춤형 마이크로컨트롤러는 애플리케이션의 요구 사항에 맞게 조정된 추가 처리 기능, 주변 장치 및 인터페이스에 대해 개인화할 수 있는 디지털 논리 블록을 통합하기도 한다.

마이크로컨트롤러에서 현장 프로그래밍 가능 장치를 사용하면 펌웨어의 현장 업데이트를 허용하거나, 조립되었지만 아직 출하되지 않은 제품에 대한 공장 후반 수정을 허용할 수 있다. 프로그래밍 가능 메모리는 또한 신제품 배포에 필요한 리드 타임을 줄인다. 수십만 개의 동일한 장치가 필요한 경우 제조 시 프로그래밍된 부품을 사용하는 것이 경제적일 수 있다. 이러한 "마스크 프로그래밍된" 부품은 칩의 논리와 동시에 동일한 방식으로 프로그램이 작성된다.

일부 마이크로컨트롤러에는 인터프리터 펌웨어도 사용할 수 있다. 예를 들어, 초기 마이크로컨트롤러인 Intel 8052의 베이직[31]과 일부 최신 장치 등에서 사용된다. 일반적으로 이러한 인터프리터는 대화형 프로그래밍을 지원한다.

최근의 마이크로컨트롤러는 종종 JTAG를 통해 (ICE)]에 접근할 때

4. 구성 요소

마이크로컨트롤러는 CPU 코어, 메모리(ROM 또는 플래시 메모리), 타이머(설정 가능한 타이머, 워치독 타이머), 입출력 부 등 네 가지 기본 부품을 하나의 집적 회로에 통합한 것이다. 범용 CPU에 비해 주변 부품이 적게 필요하므로 컴퓨터 조립이 용이하다.

마이크로컨트롤러는 다음과 같은 구성 요소를 가진다.



메모리와 기타 주변 장치를 단일 칩에 통합하면 칩 비용은 증가하지만, 전체 임베디드 시스템의 순 비용을 줄이는 결과를 가져온다. 통합 주변 장치가 있는 CPU 비용이 CPU와 외부 주변 장치의 비용보다 약간 더 비싸더라도, 칩 수가 적으면 더 작고 저렴한 회로 기판을 사용할 수 있으며, 회로 기판 조립 및 테스트 노력이 줄어들어 완성된 조립품의 결함률이 감소하는 경향이 있다.

마이크로컨트롤러는 단일 집적 회로이며, 다음과 같은 기능을 갖추고 있다.

핀 수가 적은 장치의 경우 각 핀은 여러 내부 주변 장치와 인터페이스될 수 있으며, 핀 기능은 소프트웨어로 선택할 수 있다. 이를 통해 부품을 핀에 전용 기능이 있는 경우보다 더 광범위한 응용 프로그램에 사용할 수 있다.

마이크로칩 테크놀로지에서 1200나노미터 공정으로 제조한 8비트 전정적 EEPROM/EPROM/ROM 기반 CMOS 마이크로컨트롤러 PIC12C508의 다이(Die)


16킬로바이트 플래시 메모리, 24 메가헤르츠 중앙 처리 장치(CPU), 모터 제어 및 (CEC)] 기능을 갖춘 STM32F100C4T6B ARM Cortex-M3 마이크로컨트롤러의 다이(Die). ST마이크로일렉트로닉스에서 제조
80핀 TQFP 패키지의 PIC 18F8720 마이크로컨트롤러

4. 1. 중앙 처리 장치 (CPU)

마이크로컨트롤러의 핵심 요소는 중앙 처리 장치(CPU)이며, 명령어 실행, 연산 처리, 시스템 제어 등의 기능을 수행한다.

마이크로컨트롤러는 CPU와 RAM, 불휘발성 메모리를 하나의 칩에 통합하여 외부 주소나 데이터 버스가 필요 없을 수 있다. 핀 수가 줄어들어 칩을 더 작고 저렴하게 만들 수 있다.

일반적으로 마이크로컨트롤러는 단일 집적 회로이며, 4비트 프로세서부터 32비트, 64비트 프로세서까지 다양한 CPU를 포함할 수 있다.

하버드 아키텍처를 사용하는 마이크로컨트롤러는 명령어와 데이터에 별도의 메모리 버스를 사용해 동시에 접근할 수 있다. 명령어 단어는 내부 메모리 및 레지스터와 다른 비트 크기일 수 있다. (예: 8비트 데이터 레지스터와 12비트 명령어)

마이크로컨트롤러는 역사적으로 수학 보조 프로세서가 없어 부동 소수점 연산을 소프트웨어로 처리했다. 그러나 최신 설계에는 FPU와 DSP 최적화 기능이 포함되기도 한다. (예: Microchip의 PIC32 MIPS 기반 라인)

임베디드 시스템은 CPU 코어, 메모리(ROM 또는 플래시 메모리), 타이머(설정 가능한 타이머, 워치독 타이머), 입출력 부 등 네 가지 기본 부품이 필요하다. 마이크로컨트롤러는 이 모두를 하나의 집적 회로에 통합한다.

일반적인 마이크로컨트롤러는 클록 발생기와 RAM, ROM(EPROM 또는 EEPROM)을 내장하고 있다.

4. 2. 메모리

마이크로컨트롤러는 프로그램 코드와 데이터를 저장하기 위해 다양한 종류의 메모리를 사용한다. 주요 메모리 종류는 다음과 같다.

  • '''ROM (Read-Only Memory)''': 프로그램 코드를 저장하는 비휘발성 메모리이다. 전원이 꺼져도 내용이 지워지지 않는다. 텍사스 인스트루먼츠의 TMS 1000은 1974년에 출시되었으며, 단일 칩에 ROM, RAM, 프로세서, 클록을 통합하여 임베디드 시스템을 목표로 했다.[2]
  • '''RAM (Random Access Memory)''': 데이터 처리에 필요한 임시 데이터를 저장하는 휘발성 메모리이다. 전원이 꺼지면 내용이 지워진다. 초기 마이크로컨트롤러는 6트랜지스터 SRAM을 읽기/쓰기 작업 메모리로 사용했다.
  • '''EEPROM (Electrically Erasable Programmable ROM)''': 전기적으로 지우고 다시 쓸 수 있는 비휘발성 메모리이다. 1993년, PIC16C84는 EEPROM 메모리를 도입하여, EPROM에 필요한 고가의 패키지 없이 빠르게 전기적으로 지울 수 있게 되었다.[8]
  • '''플래시 메모리''': EEPROM의 일종으로, 블록 단위로 데이터를 지우고 쓸 수 있는 비휘발성 메모리이다. 1993년, 아트멜(Atmel)은 플래시 메모리를 사용한 최초의 마이크로컨트롤러를 출시했다.[10]


초기 마이크로컨트롤러는 펌웨어 저장을 위해 마스크 ROM을 사용했다. 이후 프리스케일 68HC11(Freescale 68HC11) 및 초기 PIC 마이크로컨트롤러(PIC microcontroller)와 같은 마이크로컨트롤러는 자외선으로 지울 수 있는 투명 창을 가진 EPROM 메모리를 사용했지만, 양산 버전은 OTP(일회성 프로그래밍) 방식으로 해당 창이 없었다.

모토로라 MC68HC805[9]는 펌웨어 저장에 EEPROM을 사용한 최초의 마이크로컨트롤러였다. 오늘날 마이크로컨트롤러는 거의 모두 플래시 메모리를 사용하며, 일부 모델은 FRAM을 사용하고, 일부 초저가 부품은 여전히 OTP 또는 마스크 ROM을 사용한다.

2003년부터 일부 마이크로컨트롤러는 "자체 프로그래밍 가능" 플래시 메모리를 갖추고 있다.[10]

4. 3. 입출력 (I/O) 포트

마이크로컨트롤러는 보통 여러 개에서 수십 개의 범용 입출력 핀(GPIO)을 포함한다.[28] GPIO 핀은 소프트웨어로 입력 또는 출력 상태로 구성할 수 있다.[28] GPIO 핀이 입력 상태로 구성되면 센서 또는 외부 신호를 읽는 데 사용된다.[28] 출력 상태로 구성되면 GPIO 핀은 LED 또는 모터와 같은 외부 장치를 구동할 수 있다.[28]

많은 임베디드 시스템은 아날로그 신호를 생성하는 센서를 읽어야 하는데, 아날로그-디지털 변환기(ADC)가 이 역할을 담당한다.[28] 디지털 데이터(1과 0)를 처리하도록 설계된 마이크로컨트롤러는 아날로그 신호를 직접 처리할 수 없기 때문에, 아날로그-디지털 변환기는 들어오는 데이터를 프로세서가 인식할 수 있는 형태로 변환한다.[28] 일부 마이크로컨트롤러는 디지털-아날로그 변환기(DAC)를 포함하여 프로세서가 아날로그 신호 또는 전압 레벨을 출력할 수 있게 한다.[28]

많은 임베디드 마이크로프로세서는 다양한 타이머를 포함한다.[28] 프로그래머블 간격 타이머(PIT)는 가장 일반적인 타이머 유형 중 하나로, 특정 값에서 0으로 카운트다운하거나 카운트 레지스터의 용량까지 카운트업하여 0으로 오버플로우될 수 있다.[28] 0에 도달하면 프로세서에 카운팅이 완료되었음을 알리는 인터럽트를 보낸다.[28]

전용 펄스폭 변조(PWM) 블록을 사용하면 CPU가 많은 리소스를 사용하지 않고도 전력 변환기, 저항성 부하, 모터 등을 제어할 수 있다.[28]

범용 비동기 송수신기(UART) 블록을 사용하면 CPU 부하가 거의 없이 직렬선을 통해 데이터를 송수신할 수 있다.[28] 또한, I²C, SPI, USB, 이더넷과 같은 디지털 형식으로 다른 장치(칩)와 통신하는 기능이 포함된 하드웨어도 종종 내장된다.[28]

일반적인 마이크로컨트롤러는 클록 발생기와 RAM 및 ROM(EPROM 또는 EEPROM)을 내장하고 있으며, 소프트웨어를 ROM에 저장하고 수정 진동자를 연결하여 작동시킨다. 마이크로컨트롤러는 아날로그-디지털 변환기, 타이머, 범용 비동기 직렬 통신(UART) 또는 I2C 버스, SPI 버스, CAN 버스와 같은 특수한 직렬 통신 인터페이스 등 다양한 입출력 장치를 내장하고 있다.

4. 4. 타이머/카운터

프로그래머블 간격 타이머(PIT)를 포함한 많은 임베디드 마이크로프로세서들은 다양한 타이머를 포함한다.[28] PIT는 특정 값에서 0까지 카운트다운하거나, 카운트 레지스터의 용량까지 카운트업하여 0으로 오버플로우될 수 있다. 0에 도달하면 프로세서에 카운팅이 완료되었음을 알리는 인터럽트를 보낸다. 이는 주변 온도를 주기적으로 테스트하여 에어컨이나 히터를 켜거나 끌 필요가 있는지 확인하는 온도 조절기와 같은 장치에 유용하다.

전용 펄스폭 변조(PWM) 블록을 사용하면 CPU가 많은 리소스를 사용하지 않고도 전력 변환기, 저항성 부하, 모터 등을 제어할 수 있다.[28]

4. 5. 통신 인터페이스

UART, RS-232, SPI, I²C, CAN 등은 마이크로컨트롤러의 통신 인터페이스로 사용된다.[28]

통신 인터페이스설명
UART비동기식 직렬 통신 방식이다.
SPI동기식 직렬 통신 방식이다.
I²C다중 마스터-슬레이브 장치를 지원하는 직렬 통신 방식이다.
CAN자동차 등 실시간 제어가 필요한 환경에서 사용되는 통신 방식이다.


5. 응용 분야

마이크로컨트롤러(MCU)는 자동 제어가 필요한 제품이나 장치에 사용된다. 오토모바일 엔진 제어 시스템, 체내 주입식 혹은 휴대용 의료기기, 리모컨, 프린터 등의 사무기기, 파워서플라이, 장난감 등이 그 예이다. 마이크로프로세서, 메모리, 입/출력 등의 기능을 하나의 칩 위에 구현하여 제품 소형화나 단가 절감에 유용하며, 디지털 제어 제품을 만들 때 산업용으로도 많이 쓰인다. ADCDAC를 포함하는 경우에는 아날로그 입/출력을 가진 시스템에서도 사용될 수 있다.

2002년 전 세계에서 판매된 모든 중앙 처리 장치(CPU)의 약 55%가 8비트 마이크로컨트롤러와 마이크로프로세서였다.[11] 1997년에는 20억 개 이상의 8비트 마이크로컨트롤러가 판매되었고,[12] 2006년에는 40억 개 이상의 8비트 마이크로컨트롤러가 판매되었다.[13]

일반적인 가정에는 범용 마이크로프로세서가 약 4개뿐이지만, 마이크로컨트롤러는 약 36개 정도 있다. 일반적인 중형 자동차에도 약 30개의 마이크로컨트롤러가 사용된다.

마이크로컨트롤러는 전자 공작 분야에서도 전자 부품의 수를 줄일 수 있어 매우 편리하다. 메이커 운동에서 널리 보급된 원보드 마이크로컨트롤러인 아두이노는 Atmel사의 마이크로컨트롤러 :en:ATmega328를 기반으로 동작한다. 사물 인터넷(IoT)을 실현하는 집적회로로서도 평가가 높아지고 있다.

5. 1. 가전 제품

마이크로컨트롤러는 세탁기, 냉장고, 에어컨, 전자레인지 등 최근의 모든 가전제품과 전자기기에 사용되어 제어 및 기능을 구현한다. 마이크로컨트롤러는 임베디드 시스템에 널리 사용되며, 이는 PC에서 사용되는 마이크로프로세서보다 훨씬 많은 수이다.

5. 2. 자동차

마이크로컨트롤러(MCU)는 자동차, 의료기기, 리모컨, 사무기기, 파워서플라이, 장난감 등 자동 제어가 필요한 다양한 제품이나 장치에 사용된다. 특히, 마이크로프로세서, 메모리, 입/출력 등의 기능을 하나의 칩 위에 구현하여 제품 소형화 및 단가 절감에 유리하므로 디지털 제어 제품에 산업용으로 널리 사용된다. ADC와 DAC를 포함하는 경우 아날로그 입/출력 시스템에도 사용될 수 있다.

자동차에서 MCU는 엔진 제어, 변속기 제어, ABS, 에어백, 인포테인먼트 시스템 등 다양한 시스템에 사용된다.

5. 3. 의료 기기

MCU는 체내 이식형 의료 기기나 휴대용 의료 기기 등 자동으로 제품이나 장치를 제어하는 데 사용된다.[9]

5. 4. 산업 자동화

마이크로컨트롤러(MCU)는 제품이나 장치를 자동으로 제어하는 데 사용된다. 예를 들어 자동차 엔진 제어 시스템, 체내 주입식 혹은 휴대용 의료기기, 리모컨, 프린터 등의 사무기기, 파워서플라이, 장난감 등이 있다. 마이크로프로세서, 메모리, 입/출력 등의 기능을 하나의 칩 위에 구현한 MCU는 제품 소형화나 단가 절감에 유용하여 디지털 제어되는 제품을 만들 때 산업 현장에서도 많이 쓰인다. ADC와 DAC를 포함하는 경우에는 아날로그 입/출력을 가진 시스템에서도 사용될 수 있다.

5. 5. 사물 인터넷 (IoT)

2010년대 후반부터 마이크로컨트롤러는 IoT을 실현하는 집적회로로서 평가가 높아지고 있다. 스마트 홈, 스마트 시티, 웨어러블 장치, 스마트 팩토리 등 다양한 IoT 기기의 제어 및 통신에 마이크로컨트롤러가 사용된다.[36]

6. 개발 환경

마이크로컨트롤러 개발에는 C, 파이썬, 자바스크립트와 같은 다양한 고급 프로그래밍 언어가 사용된다.[30] 초기에는 어셈블리어로만 프로그래밍되었지만, 현재는 고급 프로그래밍 언어가 널리 쓰인다. 범용 언어용 컴파일러는 마이크로컨트롤러의 특성을 지원하기 위해 제약과 기능 개선이 이루어진다. 마이크로컨트롤러 제조사는 하드웨어 채택을 장려하기 위해 무료 개발 도구를 제공하기도 한다.

특정 하드웨어를 가진 마이크로컨트롤러는 8051을 위한 SDCC처럼 자체적인 비표준 C 방언을 필요로 할 수 있다. 이로 인해 표준 도구(코드 라이브러리, 정적 분석 도구 등) 사용이 어려워진다. 인터프리터 역시 마이크로파이썬처럼 비표준 기능을 포함할 수 있지만, 서킷파이썬과 같은 경우는 하드웨어 종속성을 라이브러리로 옮기고 언어를 CPython 표준에 맞추려는 노력을 한다.

인텔 8052의 베이직,[31] 질로그 Z8의 베이직과 포스[32]처럼 일부 마이크로컨트롤러는 인터프리터 펌웨어를 사용할 수 있다. 이러한 인터프리터는 대화형 프로그래밍을 지원한다.

시뮬레이터를 통해 실제 부품 없이도 마이크로컨트롤러와 프로그램 동작을 분석할 수 있다. 시뮬레이터는 내부 프로세서 상태와 출력을 표시하고, 입력 신호를 생성한다. 대부분의 시뮬레이터는 시스템의 다른 하드웨어를 시뮬레이션할 수 없다는 한계가 있지만, 물리적 구현에서 재현하기 어려운 조건을 실행하여 문제 분석 및 디버깅을 빠르게 수행할 수 있다.

6. 1. 통합 개발 환경 (IDE)

마이크로컨트롤러를 이용한 특정 기능 구현을 위한 프로그래밍은 대부분 전용 개발 도구를 사용한다. 이러한 개발 도구들은 코드 작성, 컴파일, 디버깅 등의 개발 과정을 통합하여 지원하는 소프트웨어로, 통합 개발 환경(IDE)이라고 불린다.

마이크로칩사의 MPLAB X IDE와 Atmel Studio는 각각 자사의 마이크로컨트롤러를 위한 통합 개발 환경을 제공한다.

주요 통합 개발 환경(IDE)
MPLAB X IDE
MPLAB Xpress
Atmel Studio



일반적으로 마이크로컨트롤러 프로그램은 칩 내부 메모리에 맞춰야 한다. 컴파일러와 어셈블러는 고급어셈블리어 코드를 마이크로컨트롤러 메모리에 저장하기 위한 컴팩트한 기계어로 변환하는 데 사용된다.

주요 컴파일러
MPLAB XC
AVR GCC
ARM GCC


6. 2. 컴파일러

일반적으로 마이크로컨트롤러 프로그램은 칩 내부 메모리에 맞춰야 한다. 컴파일러와 어셈블러는 고급어셈블리어 코드를 마이크로컨트롤러 메모리에 저장하기 위한 컴팩트한 기계어로 변환하는 데 사용된다.[54] 장치에 따라 프로그램 메모리는 영구적인 읽기 전용 메모리일 수 있으며, 공장에서만 프로그래밍할 수 있거나, 현장에서 변경 가능한 플래시 또는 지울 수 있는 읽기 전용 메모리일 수 있다.

C, 파이썬, 자바스크립트와 같은 다양한 고급 프로그래밍 언어가 현재 마이크로컨트롤러와 임베디드 시스템을 위한 일반적인 프로그래밍 언어로 사용되고 있다.[30] 범용 언어용 컴파일러는 일반적으로 마이크로컨트롤러의 고유한 특성을 더 잘 지원하기 위해 몇 가지 제약과 향상된 기능을 갖추고 있다.

마이크로컨트롤러 공급업체는 종종 자사 하드웨어의 채택을 용이하게 하기 위해 무료로 도구를 제공한다. 대표적인 컴파일러는 다음과 같다.

  • MPLAB XC
  • AVR GCC
  • ARM GCC

6. 3. 디버거

최근의 마이크로컨트롤러는 JTAG를 통해 (ICE)에 접근할 때 디버깅 회로가 온칩으로 통합되어 있어 디버거를 사용하여 펌웨어를 디버깅할 수 있다. 실시간 ICE는 실행 중인 내부 상태를 보고하거나 조작할 수 있다. 추적 ICE는 트리거 지점 이전/이후에 실행된 프로그램과 MCU 상태를 기록할 수 있다.[30]

7. 주요 마이크로컨트롤러 제품군

2008년을 기준으로, 시장에는 다양한 마이크로컨트롤러 아키텍처와 제조사들이 존재한다. 주요 제품군은 다음과 같다.



이 외에도 수많은 제품들이 있으며, 이들은 특정 응용 분야에 사용되거나, 애플리케이션 프로세서에 가까운 제품들도 있다. 마이크로컨트롤러 시장은 다양한 공급 업체, 기술 및 시장으로 매우 세분화되어 있다.

초기 마이크로컨트롤러는 펌웨어 저장을 위해 마스크 ROM을 사용했다. 이후 68HC11 및 초기 PIC와 같이 자외선으로 지울 수 있는 EPROM 메모리를 사용하는 제품이 등장했지만, 양산 버전은 OTP(일회성 프로그래밍) 방식이라 해당 창이 없었다. 펌웨어 업데이트는 마이크로컨트롤러 자체를 교체해야 했으므로, 많은 제품이 업그레이드 불가능했다.

MC68HC805[9]EEPROM을 펌웨어 저장에 사용한 최초의 마이크로컨트롤러였다. 1993년 마이크로칩이 PIC16C84[8]를, ATMEL이 8051 코어를 사용하고 펌웨어 저장에 NOR 플래시 메모리를 최초로 사용한 마이크로컨트롤러를 출시하면서 EEPROM 마이크로컨트롤러가 더욱 대중화되었다.[10] 오늘날 마이크로컨트롤러는 거의 모두 플래시 메모리를 사용하며, 일부 모델은 FRAM을 사용하고, 일부 초저가 부품은 여전히 OTP 또는 마스크 ROM을 사용한다.

7. 1. ARM Cortex-M 시리즈

기준으로, 수십 가지의 마이크로컨트롤러 아키텍처와 공급업체가 있으며, 그중 ARM 코어 프로세서, 특히 ARM Cortex-M 코어는 마이크로컨트롤러 애플리케이션을 대상으로 한다.[46][51]

7. 2. AVR 시리즈

AVR 시리즈는 Atmel(현재 마이크로칩 테크놀로지)에서 개발한 8비트 마이크로컨트롤러이다.[44] 아두이노 플랫폼의 핵심 부품으로 사용되어 널리 알려져 있다. 저전력, 고성능, 다양한 기능 통합 등을 특징으로 한다.

Atmel AVR에는 AT90, Tiny, Mega, AVR32, XMEGA 시리즈가 있으며, Atmel Norway에서 설계하였다.

7. 3. PIC 시리즈


  • 8비트 PIC
  • * PIC10 시리즈
  • * PIC12 시리즈
  • * PIC16 시리즈
  • * PIC18 시리즈
  • 16비트 PIC
  • * PIC24 시리즈
  • 16비트 dsPIC
  • * dsPIC30 시리즈
  • * dsPIC33 시리즈
  • 32비트 PIC
  • * PIC32 시리즈

7. 4. ESP32

Espressif Systems영어에서 개발한 Wi-Fi 및 Bluetooth 기능을 내장한 저가형 마이크로컨트롤러이다. IoT 기기 개발에 널리 사용된다.

7. 5. STM32 시리즈

STMicroelectronics영어 STM32는 ARM Cortex-M 기반 32비트 마이크로컨트롤러이다. 다양한 성능 및 기능의 제품군을 제공하며, 산업 제어, 자동차, 가전 제품 등 다양한 분야에 사용된다.

8. 대한민국과 마이크로컨트롤러

주어진 원본 소스에는 대한민국과 마이크로컨트롤러에 대한 내용이 없으므로, 섹션 내용을 작성할 수 없다.

9. 결론

마이크로컨트롤러는 초기에 마스크 ROM을 사용하여 펌웨어를 저장하였다. 이후 프리스케일 68HC11(Freescale 68HC11), 초기 PIC 마이크로컨트롤러(PIC microcontroller)와 같이 자외선으로 지울 수 있는 EPROM을 사용했지만, 양산 버전은 일회성 프로그래밍(OTP) 방식이었다. 따라서 펌웨어 업데이트는 마이크로컨트롤러 자체를 교체해야 했기 때문에 많은 제품이 업그레이드 불가능했다.

MC68HC805는 EEPROM을 펌웨어 저장에 사용한 최초의 마이크로컨트롤러였다.[9] 1993년에는 마이크로칩이 PIC16C84를,[8] ATMEL이 8051 코어 기반에 NOR 플래시 메모리를 최초로 사용한 마이크로컨트롤러를 출시하면서 EEPROM 마이크로컨트롤러가 더욱 대중화되었다.[10] 오늘날 대부분의 마이크로컨트롤러는 플래시 메모리를 사용하며, 일부 모델은 FRAM, 초저가 부품은 여전히 OTP 또는 마스크 ROM을 사용한다.

참조

[1] 웹사이트 1971: Microprocessor Integrates CPU Function onto a Single Chip https://www.computer[...] Computer History Museum 2019-07-22
[2] 서적 State of the Art: A Photographic History of the Integrated Circuit Ticknor & Fields 2009-12-23
[3] 웹사이트 Trends in the Semiconductor Industry http://www.shmj.or.j[...] 2019-06-27
[4] 웹사이트 Oral History Panel on the Development and Promotion of the Intel 8048 Microcontroller http://archive.compu[...] 2016-04-04
[5] 웹사이트 OKI Intel M85C154 Piggyback Microcontroller https://www.industri[...] 2024-12-08
[6] 웹사이트 CPU of the Day: NS87P50R-6: Piggyback CPUs https://www.cpushack[...] 2011-03-06
[7] 웹사이트 Piggyback microcontrollers https://www.allisdiy[...] 2024-12-08
[8] 웹사이트 Chip Hall of Fame: Microchip Technology PIC 16C84 Microcontroller https://spectrum.iee[...] IEEE 2017-06-30
[9] 서적 Advance Information, 8-Bit Microcomputers MC68HC05B6, MC68HC05B4, MC68HC805B6, Motorola Document EADI0054RI Motorola Ltd.
[10] 웹사이트 Atmel's Self-Programming Flash Microcontrollers https://ww1.microchi[...] 2003
[11] 뉴스 The Two Percent Solution https://www.embedded[...] 2018-07-11
[12] 웹사이트 Microchip on the March https://www.circuitc[...] 2018-07-11
[13] 웹사이트 Semico Research https://www.semico.c[...]
[14] 웹사이트 Momentum Carries MCUs Into 2011 https://semico.com/c[...] 2018-07-11
[15] 웹사이트 MCU Market on Migration Path to 32-bit and ARM-based Devices http://www.icinsight[...] 2013-04-25
[16] 웹사이트 The really low cost MCUs http://www.additude.[...] 2019-01-16
[17] 웹사이트 Zilog Buys Microcontroller Product Lines from Samsung https://microcontrol[...] 2013-06-07
[18] 웹사이트 EFM8BB10F2G-A-QFN20 Silicon Labs | Mouser https://www.mouser.c[...]
[19] 웹사이트 MSP430G2001IPW14R Texas Instruments | Mouser https://www.mouser.c[...]
[20] 웹사이트 CY8C4013SXI-400 Cypress Semiconductor | Mouser https://www.mouser.c[...] 2018-07-11
[21] 웹사이트 MSP430FR2000IPW16R Texas Instruments | Mouser https://eu.mouser.co[...]
[22] 웹사이트 CY8C4013SXI-400 Cypress Semiconductor | Mouser https://www.mouser.c[...] 2018-07-11
[23] 웹사이트 U-M researchers create world's smallest 'computer' https://news.umich.e[...] University of Michigan 2018-06-21
[24] 웹사이트 University of Michigan outdoes IBM with world's smallest 'computer' https://www.cnet.com[...] CNET 2018-06-22
[25] 웹사이트 IBM fighting counterfeiters with world's smallest computer https://www.cnet.com[...] CNET 2018-03-19
[26] 웹사이트 IBM Built a Computer the Size of a Grain of Salt. Here's What It's For. https://fortune.com/[...] Fortune 2018-03-19
[27] 서적 Embedded systems design https://archive.org/[...] Newnes
[28] 서적 Digital Design and Computer Architecture, Second Edition Morgan Kaufmann
[29] 웹사이트 Easy Way to build a microcontroller project http://www.popsci.co[...] 2009-01-14
[30] 학회 2015 IEEE 2nd World Forum on Internet of Things (WF-IoT) IEEE 2015
[31] 웹사이트 8052-Basic Microcontrollers http://www.lvr.com/m[...] 1994
[32] 기술보고서 Optimizing the Zilog Z8 Forth Microcontroller for Rapid Prototyping https://technicalrep[...] Martin Marietta
[33] 웹사이트 Infineon MCU http://www.infineon.[...]
[34] 웹사이트 Rvelfire, Microcontroller https://ravelfire.co[...]
[35] 웹사이트 Difference between Microprocessor and Microcontroller https://ravelfire.co[...]
[36] 웹사이트 秋月電子通商、ATmega328 https://akizukidensh[...]
[37] 웹사이트 千石電商、ATmega328 https://www.sengoku.[...]
[38] 웹사이트 The Arrival of the "Calculator-on-a-Chip" (Vintage Calculator Web Museum) http://www.vintageca[...]
[39] 웹사이트 1974: GENERAL-PURPOSE MICROCONTROLLER FAMILY IS ANNOUNCED (Computer History Museum) https://www.computer[...]
[40] 웹사이트 THE TMS1000: THE FIRST COMMERCIALLY AVAILABLE MICROCONTROLLER (HACKADAY) https://hackaday.com[...]
[41] 웹사이트 ARM社のセミナーの資料 2005年 http://www.jp.arm.co[...]
[41] 뉴스 【レポート】ユビキタス時代を担う"Embedded Processor"(1) - 増大する需要 https://news.mynavi.[...] マイコミジャーナル 2003-01-01
[42] 웹사이트 頭脳放談 : 第15回 ARMプロセッサを知らずに暮らせない Pentium IIIよりも売れている32bitプロセッサ「ARM」 https://atmarkit.itm[...] @IT 2001-08-28
[42] 웹사이트 ARM社の2006年年間業績発表 http://www.jp.arm.co[...] ARM社 2007-02-07
[43] 뉴스 IBM、PowerPCプロセッサ3種を譲渡 https://japan.cnet.c[...] CNET Japan 2004-04-14
[44] 웹인용 아트멜의 ATmega시리즈 https://web.archive.[...] 2015-06-19
[45] 웹인용 인텔 8051 https://web.archive.[...] 2015-06-19
[46] 웹인용 텍사스 인스트루먼트, ARM Cortex-M MCUs http://www.ti.com/ls[...] 2015-06-19
[47] 서적 The Most Widely Used Computer on a Chip: The TMS 1000 http://smithsonianch[...] Ticknor & Fields 2009-12-23
[48] 웹인용 아트멜 8051 https://web.archive.[...] 2015-06-19
[49] 웹사이트 실리콘 랩 8051 http://www.silabs.co[...]
[50] 웹인용 마이크로칩 PIC https://web.archive.[...] 2015-06-19
[51] 웹사이트 실리콘 랩 ARM Cortex_M시리즈 http://www.silabs.co[...]
[52] 웹인용 보관된 사본 https://www.iar.com/[...] 2019-04-30
[53] 웹사이트 Embedded Workbench targets; IAR. https://www.iar.com/[...]
[54] 웹인용 보관된 사본 https://web.archive.[...] 2019-04-30
[55] 서적 SDCC - Small Device C Compiler https://web.archive.[...] 2013-01-20



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com