ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Atmega Firmware
    Arduino/Atmel Studio 2020. 12. 30. 18:40

    pc에서 코드를 작성한다.
    임베디드 시스템에서 회로를 제작했다고 하면
    이 pc와 임베디드 시스템에서는 프로그래머가 필요하다.
    이 프로그래머가 ISP이다.
    ISP는 SPI혹은 시리얼 통신으로 한다.
    ISP는 장치이다.
    pc에서 ISP는 USB로 연결되고
    ISP와 임베디드 시스템에서는 SPI혹은 시리얼로 한다.

    부트로더와 프로그램 코드(동작하는 코드)는 다르다.
    main이라는 함수로 이용해서 작성하는 코드는
    프로그램 코드이다.

     

    하드웨어를 연결해보자.

     

     

     

     

    MPU가 제거된 아두이노와 MPU가 꽂힌 빵판이 있다고 하면
    Rx는 Rx에, Tx는 Tx에 연결해야 한다.
    reset은 reset에 연결해야 한다.
    Vcc와 5V선에 연결하고, Gnd는 GND에 연결한다.
    크리스탈도 연결한다.
    D13번핀(MPU의 오른쪽 아래에서 5번째)에 LED의 긴다리를 연결한다.
    그 옆에 220옴의 저항을 연결하고 그 옆에 선 하나로 아두이노의 GND핀에 연결한다.

     

    설정할 것이 있다.
    파일 탐색기로 가자.

    C:\Program Files (x86)\Arduino\hardware\arduino\avr 로 이동한다.

    boards.txt라는 파일이 있다. 이를 바탕화면에 복사해서 붙여넣자.

    절대 잘라내기를 하지 말자.

    그리고 바탕화면에 있는 boards.txt를 하나 더 복사본을 만든다.

    바탕화면의 boards.txt를 편집모드로 열자.

    아래의 내용을 복사해서, 파일의 맨 아래로 이동해서 붙여넣는다.

    ##############################################################
    
    uno.name=Arduino Uno
    
    uno.vid.0=0x2341
    uno.pid.0=0x0043
    uno.vid.1=0x2341
    uno.pid.1=0x0001
    uno.vid.2=0x2A03
    uno.pid.2=0x0043
    uno.vid.3=0x2341
    uno.pid.3=0x0243
    
    uno.upload.tool=avrdude
    uno.upload.protocol=arduino
    uno.upload.maximum_size=32256
    uno.upload.maximum_data_size=2048
    uno.upload.speed=115200
    
    uno.bootloader.tool=avrdude
    uno.bootloader.low_fuses=0xFF
    uno.bootloader.high_fuses=0xDE
    uno.bootloader.extended_fuses=0xFD
    uno.bootloader.unlock_bits=0x3F
    uno.bootloader.lock_bits=0x0F
    uno.bootloader.file=optiboot/optiboot_atmega328.hex
    
    uno.build.mcu=atmega328p
    uno.build.f_cpu=16000000L
    uno.build.board=AVR_UNO
    uno.build.core=arduino
    uno.build.variant=standard
    
    ##############################################################

    그리고 맨 아래쪽의 내용을 변경한다.
    그리고 이름을 변경한다. 기존의 uno에서 puno로 변경하고 모두 이름을 puno로 변경한다.

    그리고 크리스탈의 값에 따라서 puno.upload.speed와 puno.build.f_cpu값을 변경한다.

    우선 8Mhz와 바운드레이트는 57600으로 절반으로 변경한다.

    그리고 이 변경한 파일을

    다시 C:\Program Files (x86)\Arduino\hardware\arduino\avr 폴더에 덮어쓴다.

     

    파일 내용

    boards.txt
    0.03MB

     

    아두이노 프로그램을 끄고 다시 켜자.툴에서 보드 -> Arduino Uno 8Mhz가 있음을 알 수 있다.

    웹 페이지에 atmel studio를 검색한다.
    executive(실행가능한) 프로젝트로 만든다.
    검색에 atmega328이라고 검색해서 328P U로 선택한다.

    Tx, Rx를 이용하여 프로그램을 넣는 것을 알아본다.
    즉, 시리얼 통신을 이용한다.

    툴에서 external tool을 선택한다.

    댓글

Designed by Tistory.