본문 바로가기
반응형

Stack4

Stack 예제를 통한 정리 1편 (자료구조, MCU 모두 정리) 안녕하세요. 오늘은 Stack에 대해서 정리해 보는 시간을 가지도록 하겠습니다. MCU안에는 RAM과 Flash가 있습니다. RAM에는 DataRAM 영역과 Stack이 존재하는데요. Stack은 MCU안에 있는 RAM에서 일부 영역을 할당하여 사용하는 메모리 영역입니다. 보통 Stack은 function call이 불리거나, 인터럽트가 발생하면 지역변수를 저장하고, Core Register 및 핵심 레지스터를 저장하는 역할을 수행합니다. ​ 그런데 자료구조에서도 우리는 동일하게 Stack에 대해서 배우게 됩니다. 그리고 알고리즘에서 Stack의 구조 형태를 사용하기도 합니다. MCU에서는 이러한 Stack구조의 형태를 ​지역변수 저장의 관점에서 아주 잘 사용하고 있습니다. 그렇다면 지금부터 자료구조 S.. 2022. 9. 17.
14. MCU에서 메모리와 Memory-mapped I/O란 무엇인가? 저는 MCU를 10년간 개발을 하면서, 다양한 주변기기를 설계해 보았습니다. 그중에서도, 가장 중요한 개념은 당연, 메모리였습니다. 메모리를 정확하게 이해하고, Section을 Allocation 및 관리하는 능력이 Firmware SW의 핵심이었습니다. 이부분에 대해서는 제가 추후, 어떻게 Linker Scipt파일을 관리해야하는지 어떻게 메모리를 잡고 설계해야하는지 정리하도록 하겠습니다. 그렇다면 제일 중요한 메모리에 대해서 잠시 글을 쓰도록 하겠습니다. 계속 우려먹는 그림인데요, 아래 빨강 박스가 MCU 입니다. 이 MCU안에는 CPU와 메모리 그리고 다양한 주변장치들이 있습니다. 주변장치의 예로 GPIO 모듈을 넣어놓았습니다. 저 검은 박스안에는 메모리가 들어가 있고, 크게 Flash Memory.. 2021. 7. 26.
[자료구조] 03. Stack Flood Fill 예제 (C언어) Stack 예제 중에서 Flood Fill에 대한 예제가 참 유명하다. 나중에 최적화 알고리즘을 사용하여 Application에 적용할수 있기 때문에 주요 Source 코드를 정리해 놓으면 요긴할것 같다. /*-----------------------Include-----------------------*/ #include #include #include #include /*-----------------------Define-----------------------*/ #define MAX_STACK_SIZE 100 #define TRUE 1 #define FALSE 0 #define WIDTH 7 #define HEIGHT 7 /*-----------------------Typedef---------.. 2021. 7. 10.
[자료구조] 02. Stack 구조 Basic 예제 (C언어) Stack을 이해하기 쉬운 예제입니다. 1. element.h struct _element { int key; }element; 2. stack.h #include "element.h" #define MAX_STACK_SIZE 5 struct _Stack { element items[MAX_STACK_SIZE]; int top; }Stack; 3. main.c #define _CRT_SECURE_NO_WARNINGS #include #include "stack.h" #define TRUE 1 #define FALSE 0 unsigned char uint8_t; unsigned int uint32_t ; int int32_t ; uint8_t IsEmpty(const Stack* pStack) { if(p.. 2021. 7. 9.
반응형