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

ATmega128_develop_env128

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


  • Microchip에서 제공하는 IDE(Integrated Development Environment)
  • 이 페이지에서 개발 환경은 Atmel Studio 4와 Microchip Studio 7(Atmel Studio 7) IDE을 이용 한다. Studio 7은 최신 버전으로 다양한 기능을 갖고 있으나 Studio 4에 비교 하여 크고(용량이 작은 노트북 이용자는 Studio 4가 적합 할 수 있음), 이용자 인터페이스가 복잡 하여 초보자에게는 조금 어려울 수 있습니다. 그러나 전문가에게는 ASF(Atmel Software Framework) 등을 이용 하여 용이하게 신뢰성 높은 프로그램을 작성 할 수 있게 한다.

    • 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 의 설치 후 실행 화면 예


    • 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 의 설치 후 실행 화면 예

  • 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 할 수 있게 하는 프로그램.