• Home
  • About
    • changsoooooo's Blog photo

      changsoooooo's Blog

      changsoooooo's Blog.

    • Learn More
    • Twitter
    • Facebook
    • Instagram
    • Github
    • Steam
  • 일상
  • 교육
    • 교육학
    • 정보 컴퓨터 교육
    • 임용
  • 개발
  • 잡지식
  • 한국사
  • Projects

[펌웨어]1장 펌웨어 소개

02 Dec 2020

Reading time ~2 minutes

펌웨어 소개

펌웨어(firmware)는 컴퓨팅과 공학 분야에서 특정 하드웨어 장치에 포함된 소프트웨어로, 소프트웨어를 읽어 실행하거나, 수정하는 것도 가능한 장치를 뜻함

컴퓨터 시스템

프로그램 내장 구조

  • 중앙처리장치 : 기억장치에 저장된 명령어를 하나씩 가져와 의미를 해석하고 실행함
  • 기억장치(메모리) : 프로그램과 데이터를 저장함
  • 입출력 장치 : 컴퓨터 외부에서 프로그램과 데이터를 공급, 처리 결과를 표시

컴퓨터 시스템의 분류

  • 용도에 따른 분류 : 범용 컴퓨터, 특수 목적 컴퓨터
    • 범용 컴퓨터
      • 기억장치에 부트로더와 운영체제 탑제, 나머지 영역 비어있음
      • 부트 후 응용프로그램을 빈 영역에 적재하고 실행
      • 실행하는 프로그램의 종류에 따라 컴퓨터 시스템의 기능 결정
    • 특수 목적 컴퓨터
      • 기억장치에 특수 용도를 수행하기 위한 프로그램을 적재하고 실행
      • 운영 중 기억장치에 적재한 프로그램이 변경되지 않음
      • 부트로더와 운영체제는 구분될 수 있음
  • 역할에 따른 분류 : 단독 컴퓨터, 임베디드 시스템
    • 단독 컴퓨터(stand alone computer)
      • 컴퓨터 자체가 하나의 시스템
      • 주로 범용 컴퓨터
      • 입출력 장치 : 키보드 모니터 마우스 등
    • 임베디드 시스템
      • 다른 장비에 포함되어 있는 컴퓨터 시스템
      • 입출력 장치 : 스위치, 센서, LCD 디스플레이
      • 컴퓨터 시스템은 장치의 상태에 따라 장치를 제어
  • 임베디드 시스템 정의 (위키백과)
    • 임베디드 시스템(내장형 시스템)은 기계나 기타 제어가 필요한 시스템에 대해, 제어를 위한 특정 기능을 수행하는 컴퓨터 시스템으로 장치 내에 존재하는 전자 시스템
    • 임베디드 시스템은 전체 장치의 일부분으로 구성되며 제어가 필요한 시스템을 위한 두뇌 역할을 하는 특정 목적의 컴퓨터 시스템
  • Firmware 가 탑재된 시스템
    • Firmware 는 소형 임베디드 시스템의 ROM 에 저장되어 실행되는 소프트웨어
    • 일반적으로 firmware 가 탑재된 시스템은
      • 하드웨어 자원이 부족하다. (프로세서 처리 능력, 기억장치 용량)
      • 보조 기억장치가 없다.
      • 운영체제를 사용하지 않는다.
      • 입출력 디바이스에 대한 제어 기능을 수행한다.

요약

  • 컴퓨터 시스템 = {중앙처리장치, 기억장치, 입출력장치} + 소프트웨어
  • 하드웨어: 컴퓨터 시스템을 구성하는 기계 장치
  • 소프트웨어: 컴퓨터 시스템의 기억장치에 적재되어 실행되는 프로그램
  • 임베디드 시스템: 다른 장비에 포함되어 있는 컴퓨터 시스템, 주로 제어 기능을 수행함.
  • 펌웨어: 소형 임베디드 시스템의 ROM 에 저장되어 실행되는 프로그램

앞으로 예정

  • 제 2 장 AVR 마이크로제어기(Microcontroller)
    • AVR
    • ATmega328P: 특징, 내부구조, 메모리와 주변장치, 시스템 클록
    • 아두이노 하드웨어
    • 개발 환경 (IDE)
  • 제 3 장 디바이스 프로그래밍
    • 입출력 방법
    • 펌웨어 개발 단계
    • IDE 사용법
  • 제 4 장 입출력 포트 (GPIO)
    • 한 개의 비트로 구동하는 가장 기본적인 입출력
  • 제 5 장 인터럽트
    • 외부 장치의 이벤트 발생에 반응하는 방법
    • 이벤트 구동 프로그램
  • 제 6 장 아날로그 신호
    • ADC & DAC 아날로그 신호 처리
  • 제 7 장 타이머/카운터
    • 주기적으로 수행되는 태스크 처리
  • 제 8 장 직렬통신
    • 외부 장치와의 직렬 통신 방법 (UART, SPI, I2C)
  • 제 9 장 디바이스 통신
    • I2C, TWI, 적외선 통신


Share Tweet +1