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

ATmega128_develop_env128

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

  • Embedded Microcomputer
    • 이 예에서 사용 하는 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.
    • Uploader가 실행 코드를 Embedded Computer로 Up Load 하기 위하여는 Uploader 와 Embedded Computer 사이에 통신이 가능 하게 하는 Boot Loader 프로그램이 Embedded Computer에 설치 되어 있어야 한다.
    • "Hex File Upload Tool과 Bootloader" 페이지를 참고 바람.
  • Boot Loader
    • Embedded Computer의 Boot 메모리 영역에 설치되어 PC에 설치된 Uploader와 통신 하며 실행 코드를 Embedded Computer로 Up Load 할 수 있게 하는 프로그램.

  • Microchip에서 제공하는 IDE(Integrated Development Environment)
  • 이 페이지에서 개발 환경은 Microchip MPLAB X IDE, Studio 7(Atmel Studio 7) IDE, Atmel Studio 4를 사용 한다. MPLAB X IDE는 최신 버전으로 다양한 기능을 갖고 있고 최신 칩도 모두 지원하지만 새로운 기능의 일부는 ATmega128 은 지원하지 않는다. Studio 7는 2022년 이후 추가 지원이 중단 되었으나, 원래 AVR과 SAM 중심 개발 환경이기 때문에 ATmega128을 공부하는 경우에는 초보자가 좀더 쉽게 접근할 수 있는 장점이 있다. Studio 4는 가장 오래된 개발 개발 환경이지만 사용하기 쉽기 때문에 초보자와 용량이 작은 노트북 이용자는 Studio 4가 적합 할 수 있다.

    주: 본인은 최신 Microchip을 사용하지 않고, ATmega128 공부만을 목적으로 하는 경우에는 Studio 7을 추천함.

    • MPLAB X IDE와 Studio 7의 주요 차이점
      • MPLAB X IDE 특징
        • 지원 아키텍처
        • PIC® 및 dsPIC® 마이크로컨트롤러. (현재는 AVR® 및 SAM (Arm® Cortex® 기반) MCU도 지원).

        • 개발 환경 기반
        • NetBeans 플랫폼 기반.

        • 역사적 배경
        • Microchip의 전통적인 PIC MCU 개발 환경. MPLAB 8의 후속작.

        • 크로스 플랫폼 지원
        • Windows, macOS, Linux 지원.

      • Studio 7(이전 명칭: Atmel Studio 7) 특징
        • 지원 아키텍처
        • AVR® 및 SAM (Arm® Cortex® 기반) 마이크로컨트롤러.

        • 개발 환경 기반
        • Microsoft Visual Studio Shell 기반.

        • 역사적 배경
        • 이전 Atmel의 MCU(AVR, SAM) 개발 환경. Atmel이 Microchip에 인수된 후에도 계속 제공됨(현재는 Microchip Studio로 명칭 변경).

        • 크로스 플랫폼 지원
        • 주로 Windows용 (Visual Studio 기반).

    • Microchip MPLAB X IDE
      • PC에 설치되는 개발용 Tool로서 다음과 같은 기능을 수행 한다.
        • Source Program 작성 기능
          • Text Editor 를 내장하고 있기 때문에 C/C++언어와 Assembly 언어 Source Code를 작성할 수 있다.
        • Cross Assembler 기능
          • Cross Assembler 를 포함하고 있기 때문에 개발용 Tool(PC에 설치된)에서 작성된 프로그램을 Cross Assemble 하여 AVR에서 실행되는 파일로 만들 수 있다.
        • Cross C/C++ Compiler 기능
          • Cross C/C++ Compiler 를 포함하고 있기 때문에 C와 C++언어로 작성된 프로그램을 Cross Compiler 하여 AVR에서 실행되는 파일로 만들 수 있다.
        • Simulator 기능
          • Microsoft Window 환경에서 AVR Controller의 실행 화일을 실행 시킬 수 있도록 한다.
        • Binary File(Hex 또는 elf Format)을 타켓 보오드에 다운로드하는 기능.
          • 실행 코드를 AVR의 Flash ROM에 쓰는 기능.(USBISP, Down Loader 등을 이용)
        • Debugger 기능
          • Window 환경의 Debugger를 사용하여 프로그램 디버깅이 가능하다.
        • 외부 Tool 사용 환경 제공
      • Microchip MPLAB X IDE 다운로드 및 설치

    • Microchip Studio 7(Atmel Studio 7): IDP(Integrated Development Platform)
      • PC에 설치되는 개발용 Tool로서 다음과 같은 기능을 수행 한다.
        • Source Program 작성 기능
          • Text Editor 를 내장하고 있기 때문에 C/C++언어와 Assembly 언어 Source Code를 작성할 수 있다.
        • Advanced Software Framework(ASF)를 포함 하고 있다.
          • ASF는 광범위한 source code library와 Drivers, Communication stacks, 1,600+ project examples(source code 포함), Graphic services, Touch functionality를 포함 하고 있어서 개발 시간을 단축 하고 신뢰성 높은 프로그램을 작성 할 수 있다.
        • Cross Assembler 기능
          • Cross Assembler 를 포함하고 있기 때문에 개발용 Tool(PC에 설치된)에서 작성된 프로그램을 Cross Assemble 하여 AVR에서 실행되는 파일로 만들 수 있다.
        • Cross C/C++ Compiler 기능
          • Cross C/C++ Compiler 를 포함하고 있기 때문에 C와 C++언어로 작성된 프로그램을 Cross Compiler 하여 AVR에서 실행되는 파일로 만들 수 있다.
        • Simulator 기능
          • Microsoft Window 환경에서 AVR Controller의 실행 화일을 실행 시킬 수 있도록 한다.
        • Binary File(Hex 또는 elf Format)을 타켓 보오드에 다운로드하는 기능.
          • 실행 코드를 AVR의 Flash ROM에 쓰는 기능.(USBISP, Down Loader 등을 이용)
        • Debugger 기능
          • Window 환경의 Debugger를 사용하여 프로그램 디버깅이 가능하다.
        • 외부 Tool 사용 환경 제공
      • Design Software(IDP : Integrated Development Platform)다운로드 및 설치
      • Microchip Studio 7 의 설치 후 실행 화면 예


    • AvrStudio 4: IDE(Integrated Development Environment)
      • AvrStudio4의 중요 기능
        • Source Program 작성 기능
          • Text Editor 를 내장하고 있기 때문에 Assembly 언어와, C언어 Source Code를 작성할 수 있다.
        • Cross Assembler 기능
          • Cross Assembler 를 포함하고 있기 때문에 Assembly 언어로 작성된 프로그램을 Cross Assemble 하여 AVR의 실행 파일을 만들 수 있다.
        • Cross C Compiler 기능
          • Cross C Compiler 를 포함하고 있기 때문에 C언어로 작성된 프로그램을 Cross Compiler 하여 AVR의 실행 파일을 만들 수 있다.
        • Simulator 기능
          • Microsoft Window 환경에서 AVR uP의 실행 화일을 실행 시킬 수 있도록 한다.
        • Binary File(Hex 또는 elf Format)을 타켓 보오드에 다운로드하는 기능.
          • 실행 코드를 AVR의 Flash ROM에 쓰는 기능.(USBISP 또는 JTAG 이용)
        • Debugger 기능
          • Window 환경의 Debugger를 사용하여 프로그램 디버깅이 가능하다.
        • 외부 Tool 사용 환경 제공(GNU Tool를 용이 하게 이용 할 수 있는 환경 제공))
      • AvrStudio 4(IDE : Integrated Development Environment )다운로드 및 설치
        • 이 홈페이지 자료실에서 AvrStudio4.18Setup.exeAVRStudio4.18SP3.exe를 Download 받아 설치 한다.
        • AVR Studio 4.18을 Window 8(64 Bits) 환경에 설치 하면 Build 시 Error 가 발생 한다. 이 문제는  32Bit 용 msys-1.0.dll 가 설치 되었기 때문에 발생 하는 문제이기 때문에 아래에서 64Bit 용 msys-1.0.dll을 다운로드하여 기존 .dll를 대치 하여야 한다.
          • msys-1.0.dll을 Down Load 하여 WinAVR 설치 디렉토리의 util\bin 에 있는 msys-1.0.dll 를 대치 한다.
      • GNU Tool(WinAVR) 설치
        • GNU Tool에 포함된 중요 기능(C Complier 와 C언어 개발 환경을 제공)
          • GNU C Compiler (GCC) , GNU C++ Compiler (G++)
          • GNU C++ Runtime Library (Libstdc++)
          • GNU Debugger (GDB) , Newlib C Library
          • GNU Binary Utilities (Binutils)
        • 이 홈페이지 자료실에서 AVR용 GCC(WinAVR-20100110-install.exe)를 Download 받아 설치 한다. 또는 아래 홈페이지에서 Download 받아 설치 한다.
          • WinAVR project's home page (WinAVR-20100110-install.exe)에서 Download 받아 설치 한다.
          • 설치 시 주의 사항 : C:\WinAVR 디렉토리에 설치 한다. Linux의 화일 명은 Space를 허용하지 않기 때문에 C:\Program Files에 설치하면 문제가 발생될 수 있다.
      • AvrStudio 4 의 설치 후 실행 화면 예