본문 바로가기

스택오버플로우2

[F/W] 펌웨어 구현 시 메모리 관리 펌웨어란 하드웨어를 직접 접근하고 제어하는 밀접한 관계를 가지고 동작하는 소프트웨어의 일종이다. 그렇기 때문에 일반적인 어플리케이션 소프트웨어와는 다르게 조금 더 신경 써줘야한다고 생각한다.수정: 스택은 컴파일러가 정해주고 힙은 런타임(프로그램 실행 중 동적으로 바뀜)1 .스택 오버플로우 (Stack Overflow) 예방펌웨어의 크기가 커질수록 또는 최적화해야 할 필요가 있다면, 자신에 시스템에 맞는 스택과 힙의 크기를 결정해야 한다.스택은 메모리 최상단에 위치하여 데이터가 추가될 수록 아래로 커지는 자료구조힙은 반대로 데이터가 추가될 수록 위로 커지는 자료구조스택 여유 공간 확인 (모니터링) : FreeRTOS 테스크를 사용중이라면 각 태스크의 스택 사용량을 확인 할 수 있다. 또는 런타임 시 스택의.. 2024. 6. 25.
[F/W] 메모리 영역 (스택, 힙) 보통은 MCU 제조사에서 제공하는 통합 개발 환경 (IDE)툴에서는 기본 코드의 기본값(Default)으로 되어 있는 스택의 크기와 힙 영역의 크기를 변경하지 않고 사용한다. 하지만, 펌웨어의 크기가 커질수록 또는 최적화해야 할 필요가 있다면, 자신의 시스템에 맞는 스택(Stack)과 힙(Heap)의 크기를 결정해야한다. 1. 메모리 복습의 차원에서 메모리는 여러 종류로 나뉠 수 있지만, ROM과 RAM의 차이 정도만 알아도 될 것 같다. ROM의 경우 비휘발성, 전원이 꺼져도 사라지지 않는 데이터가 사라지지 않는 메모리. RAM은 전원이 꺼지면 데이터가 사라지는 메모리이다. 그래서 보통 부트로더, 프로그램 코드 데이터는 플래시 메모리에 저장되고, 프로그램 사용시에 SRAM을 사용한다. 뭐 당연하게도 M.. 2023. 8. 24.