Firmware 2

[C 언어] [Embedded] 메모리 동적 할당에 대해 (1)

지난번 Embedded환경에 대한 간략한 설명과 함께 Endian mode와 컴파일러 최적화 오류 등에 대해 알아보았다. 오늘은 Firmware 개발자라면 누구나 쉽게 사용하고 있는 동적할당에 대해 몇가지 적어보려고 한다. 1. 동적할당이란? 먼저 동적할당이라는 개념부터 간단히 설명해보려 한다. 프로그래밍을 하다보면 데이터를 임시로 저장하거나 다른 이벤트의 인수로 데이터를 넘겨야 하는 경우가 있다. 데이터의 크기를 미리 알 수 없는 경우가 대부분이고 여러 조건에 따라 데이터의 크기와 유효범위가 달라질 수 있다. 아래 코드를 보자 (억지로 예제를 만든 것이니 참고만 하길) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #define SIZE 10 int func1(v..

Embedded 2023.01.17

[C 언어] [Embedded] Endian mode

PC를 기반으로 C 언어를 사용하는 사람은 크게 상관 없지만 Embedded를 하는 사람이라면 반드시 알고 있어야 하는 Endian mode라는 것에 대해 오늘 알아보고자 한다. 1. Endian mode 이것은 데이터가 어떻게 메모리에 저장되는지를 나타내는 방식이다. 쉽게 생각해서 메모리를 기차라고 비유한다면 위 그림처럼 사람들을 기차에 어떤 방향으로 순서대로 태울지에 관한 정의라고 보면 된다. 대부분의 시스템에서는 Little endian mode를 사용하지만 대표적으로 모토롤라의 경우 Big endian mode를 사용한다. 2. Endian mode를 왜 신경써야 하는가? Endian mode를 신경써야 하는 이유는 위그림을 기준으로 설명해보자면, A~D까지의 사람이 T1이라는 기차에 탄 것은 동..

Embedded 2023.01.14
728x90