AVR build project in Terminal

Installtion

์ปดํŒŒ์ผ๊ณผ ๋งํฌ๋ฅผ ์ง„ํ–‰ํ•˜๊ธฐ ์ „์— avr-gcc, binutils-avr, avr-libc๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • binutils-avr: assembler, linker ๋“ฑ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์„ ๋‹ค๋ฃจ๋Š” ๋ฐ ํ•„์š”ํ•œ ๋„๊ตฌ ๋ชจ์›€
  • avr-gcc: C/C++ ํŒŒ์ผ์„ AVR์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ํฌ๋กœ์Šค ์ปดํŒŒ์ผ๋Ÿฌ
  • avr-libc: AVR ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์†Œ์Šค

Download: https://www.microchip.com/mplab/avr-support

macOS

brew tap osx-cross/avr \
&& brew install avr-gcc

Linux(debian)

sudo apt-get install -y binutils-avr gcc-avr avr-libc

Windows

AVR 8-bit Toolchain for Windows๋ฅผ ๋‹ค์šด ๋ฐ›์Šต๋‹ˆ๋‹ค.

C:\Program Files (x86) ๋˜๋Š” ์›ํ•˜๋Š” ์œ„์น˜์— ์••์ถ•์„ ํ’€์–ด์ค๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ ๋ณ€์ˆ˜์˜ Path์— ์„ค์น˜๋œ ๋””๋ ‰ํ† ๋ฆฌ/bin์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

  • bin: binutils, gcc, gdb ๋“ฑ
  • avr/lib: avr-libc, startup files, linker scripts ๋“ฑ
  • avr/include: avr-libc ํ—ค๋”, avr/io.h ๋“ฑ
  • doc: ๋ฌธ์„œ

Atmel studio์„ ์„ค์น˜ํ–ˆ๋‹ค๋ฉด Atmel studio๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” toolchain์„ Path์— ๋“ฑ๋กํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Compile

์†Œ์Šค ํŒŒ์ผ(.c)์„ ๋ชฉ์  ํŒŒ์ผ(.o)๋กœ ์ปดํŒŒ์ผํ•˜๋Š” ๋ช…๋ น์–ด๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

avr-gcc -c -Os -Wall -mmcu=<MCU> -DF_CPU=<frequency> -o <object file> <source files>

Link

์ปดํŒŒ์ผ์„ ํ†ตํ•ด ๋งŒ๋“  ๋ชฉ์  ํŒŒ์ผ(.o)๊ณผ ์‚ฌ์šฉ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งํฌํ•ด์„œ ์‹คํ–‰ ํŒŒ์ผ(.elf)์„ ๋งŒ๋“ค๊ณ , ๋งํฌ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋งต ํŒŒ์ผ(.map)์„ ๋งŒ๋“œ๋Š” ๋ช…๋ น์–ด๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

avr-gcc -mmcu=<MCU> -Wl,-Map,<map file> -o <executalble file> <object files>
Last updated on