본문 바로가기

SRAM2

8-Bit AVR 스택(Stack) 살펴보기 스택의 목적 스택은 주로 임시 데이터, 지역 변수, 그리고 서브 루틴 명령이나 인터럽트 이후 리턴 주소를 저장하는 데 사용됩니다. 이는 높은 메모리 위치부터 낮은 메모리 위치 방향으로 구현됩니다. 스택 포인터 레지스터는 항상 스택 최상단을 가리킵니다. 또한 서브루틴과 인터럽트 스택이 위치한 SRAM 데이터 영역을 가리킵니다. 스택 포인터 AVR에서 스택 포인터는 I/O 영역에 존재하는 8-bit 레지스터 2개로 이루어져 있습니다. BIT 번호는 구현하기에 따라 다릅니다. 참고: AVR 아키텍처 구현에서 데이터 영역이 매우 작다면 SPL 영역만 필요하고 SPH는 존재하지 않습니다. 스택 명령 푸쉬 명령은 스택 포인터 값을 낮춥니다. SRAM 내에 스택은 반드시 서브루틴 명령이나 인터럽트 이전에, 프로그램에.. 2022. 3. 22.
AVR 마이크로프로세서의 메모리 AVR은 하버드 구조로 되어 있어 프로그램 메모리(In-System Reprogrammable Flash program memory)와 데이터 메모리(SRAM) 2개로 구성됩니다. 이러한 특성으로 메모리와의 대역폭이 증가하여 성능이 향상되는 장점이 있습니다. 프로그램 메모리와 데이터 메모리 항목에 대해서 알아보도록 하겠습니다. 프로그램 메모리 프로그램 메모리에는 명령어가 적재됩니다. ATmega32는 32K Byte의 프로그램 메모리를 내장하고 있습니다. - AVR은 8bit 마이크로컨트롤러이지만 명령어는 16bit 또는 32bit 구조입니다. - 프로그램 메모리의 각 번지도 16bit 구조로 되어 있습니다. - 프로그램 메모리가 32K Byte이므로 16K*2Byte = 16K*16bit의 계산이 됩니.. 2022. 3. 17.