본문 바로가기
공부,일/atmega328P

ATmega328P 기본 개념 정리(기본기)

by fromnothing1 2021. 7. 15.

aTmega328p chip 구성도

1. AVR 구성도

메모리 SRAM - 컴퓨터에서 주메모리 같은 역활을 한다. (internal SRAM 부분에서 )

 

아두이노나 펌웨어의 경우 : 컴퓨터처럼 register 와 메모리가 나누어져 있지 않다 그냥 하나로 퉁친다. 

위쪽 흰색 부분은 atmega 시리즈에서 모든 칩에서 호환되는 부분으로 위의 영역만 사용해서 코딩한다면 모든 칩에서 호환 가능하다. 

 

밑의 회색 부분은 칩 마다 추가 될수 있는 부분이라서 밑의 영역을 다룬다면 코드가 호환 되지 않을 수 있다 .

 

 

범용레지스터 (AVR 구성도에서의 범용레지스터 & DATAMEORY 안의 32Registers 구간)

ALU 가 사용할 데이터가 저장 되어 있는 부분 

X,Y,Z 는 특수한 구간으로 8bit Register 2개를 사용해서 16bit Register 로 사용한다. 

자세한 내용은 나중에 포스팅 하겠다.

 

flash 메모리 (우리가 작성한 코드가 올라가는 부분)

32KB 의 용량을 가진다. 주소를 보면 3FFF 까지 존재 하는데 이는 십진수로 16383이다 

16383 = 16KB 이다 .

 

flash 메모리는 32KB 의 메모리를 16KB의 메모리 주소로 다루기 위해서 한 주소에 2 byte (16bit) 가 배정 되어 있다. 

데이터 시트를 보면 16KB x 16 라고 표현 되어 있다.

 

아두이노 328p 에서 define 되어있는  register 주소 헤더 파일 

 

iom328p.h
0.02MB

 

출처

 

https://kogun.tistory.com/21?category=694964 

 

AVR(ATmaga128) 기초지식(2)_AVR ATmega128의 내부구조

AVR ATmega128은 AVR RISC 구조를 바탕으로 만들어진 8비트의 CMOS형 마이크로컨트롤러입니다. AVR ATmega128 마이크로 컨트롤러는 Harvard Architecture로 설계되었기 때문에 내부 버스인 프로그램 버스와 데이.

kogun.tistory.com

LED 제어 4 - AVR로 시작하는 임베디드 (tistory.com)

 

LED 제어 4

이번글에서는 AVR에서만 사용가능한 방법이 아닌 일반적인 방법으로 LED를 점멸하는 기능을 구현해 보도록 하겠다.  이번 글은 아직 임베디드 시스템 프로그램에 익숙하지 않은 개발자에게는 다

embed-avr.tistory.com

 

댓글