이 블로그는 임베디드 컴퓨터를 이용한 장치(시스템) 개발과 원격제어에 필요한 지식을 공유 하기 위한 블로그 입니다.
실제 개발과 프로그램 예를 위하여 Microchip 사의 ATmega128를 사용한 보드와 Arduino Mega 보드(ATmega2560), Raspberry Pi, Raspberry Pi Pico, WiFi 모듈을 사용 합니다.

arduino-128-develop-env

Arduino-ATmega128 develop Environment
  개인용 컴퓨터(PC)와 교육용 임베디드 보오드 (ATmega128)를 사용 한 개발 환경


  • Arduino IDE(Integrated Development Environment)
    • Arduino IDE 중요 기능
      • Source Program 작성 기능
        • Text Editor 를 내장하고 있기 때문에 C++ 과 C Source Code를 작성할 수 있다.
      • C/C++ Compiler 기능
        • C/C++ Compiler 를 포함하고 있기 때문에 C/C++언어로 작성된 프로그램을 Compiler 하여 AVR의 실행 파일(Hex File)을 만들 수 있다.
      • Binary File(Hex Format)을 타켓 보오드에 다운로드하는 기능.
        • 실행 코드를 AVR의 Flash ROM에 쓰는 기능.
      • 다양한 Down Load Tool을 지원 하기 위한 Tool 관리 기능.
    • Arduino IDE(IDE : Integrated Development Environment )다운로드 및 설치
    • Arduino IDE 설치 후 실행 화면 예


  • ATmega128 Microcontroller
    • 이 예에서 사용 하는 ATmega128 Microcontroller( 이 칩이 Computer로 이용 되기 보다는 장치의 제어에 이용 되기 때문에 이 칩의 제조사인 Atmel 사에서는 이 칩을 Microcontroller 라고 한다.)의 중요 Spec.은 아래와 같다.
      • 32개의 8 Bits Registers
      • 128K Bytes Flash Memory
      • 4K Bytes Internal SRAM
      • 53 개의 Programmable I/O Line
      • 기타 통신과 제어에 사용되는 IP( Timer, UART 등)를 내장 하고 있다.
  • Uploader
    • PC에 설치된 개발용 Tool(IDE)을 사용 하여 개발된 실행 File(Embedded Computer에서 실행 됨)을 Embedded Computer로 Up Load 하는 Software Tool. Arduino IDE 에서는 AVRDUDE Tool을 사용 한다.
    • Up Loader가 실행 코드를 Embedded Computer로 Up Load 하기 위하여는 Up Loader 와 Embedded Computer 사이에 통신이 가능 하게 하는 Boot Loader(optiboot Bootloader) 프로그램이 Embedded Computer에 설치 되어 있어야 한다.
  • Bootloader