2025/04 2

DMA(Direct Memory Access) 에 대해서

임베디드 시스템에서의 DMA — CPU를 임베디드 시스템은 제한된 자원 속에서 동작해야 한다. CPU의 연산 능력, 메모리 용량, 전력 소모 등 모든 요소가 제약을 받기 때문에, 가능한 한 효율적인 리소스 활용이 필수다. 이 상황에서 DMA(Direct Memory Access)는 매우 유용한 수단이 된다.⸻DMA가 필요한 이유일반적인 데이터 전송은 CPU가 직접 처리한다. 예를 들어, 센서에서 데이터를 읽어 RAM에 저장하려면 CPU가 다음 작업을 수행해야 한다: 1. 센서로부터 데이터를 읽는다. 2. 해당 데이터를 버퍼에 저장한다. 3. 이 작업을 계속 반복한다.문제는 이 과정에서 CPU가 다른 일을 하지 못한다는 점이다. 특히 데이터 전송이 빈번하거나 대량인 경우, CPU의 대부분을 이 작업에 소비..

임베디드 2025.04.19

Flash 제어 및 동작 방식

MCU나 SoC에서 외부 NOR/NAND 플래시를 제어할 때 어떤 명령어 흐름으로 동작하는지에 집중해서 정리한다. 아래는 일반적인 SPI NOR Flash 기준이지만, NAND나 병렬 NOR에서도 기본 개념은 유사하다.⸻Flash Device는 레지스터 기반이 아닌, 명령어(command)를 SPI 또는 병렬 버스를 통해 전송해서 제어한다. 따라서 플래시를 제어하려면 특정 커맨드 시퀀스를 정확히 따라야 한다. 각 동작별 기본적인 명령 흐름은 다음과 같다.⸻1. 읽기(Read)목적: 특정 주소에서 데이터를 읽는다.시퀀스:[READ CMD] + [ADDRESS] → [데이터 수신] • 일반적인 커맨드: 0x03 (Standard Read), 0x0B (Fast Read) • 입력: 3 or 4바이트 주소 •..

임베디드 2025.04.17