본문 바로가기
Embedded SW/[NXP] Embedded SW Project

[NXP] 04. Makefile을 직접 만들기 (1편)

by 방구석 임베디드 2020. 4. 5.
반응형

현재 우리는 IDE를 사용하고 있습니다.

IDE는 Integrated Development Environment의 약자로

코딩, 디버그, 컴파일을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어 입니다.

(아래 Wikipedia 링크에서 더 관심 있으신 분들은 읽어 보세요)

https://ko.wikipedia.org/wiki/%ED%86%B5%ED%95%A9_%EA%B0%9C%EB%B0%9C_%ED%99%98%EA%B2%BD

통합 개발 환경 - 위키백과, 우리 모두의 백과사전

 

eclipse 기반의 IDE는 처음 SW를 개발하시는 분들에게 처음 설정만 잘하면 사용하기 편한 부분이 있습니다.

저도 연구실에서 처음 MCU 관련 업무를 할때 eclipse 환경에서 SW를 개발하였습니다.

하지만 개인적인 생각으로 IDE에게 Build도 맡기니까,

Makefile 구조가 어떻게 되어 있는지도 모르고

내가만들지 않은 C파일이나 H파일들을 어디서 가지고 와서 쓰는지도 모르고

Build 구조가 어떻게 이루어지는지도 모르고

컴파일러 옵션 설정도 잘 눈에 들어오지 않게 되었습니다.

나중에 IDE 환경 바뀌면 또 고생하겠구나 라는 생각이 들었습니다.

저는 makefile을 직접만들어 보는것을 추천?ㅎㅎ 드립니다.

Build 구조를 정확하게 이해할수 있게 되고, 어디서 라이브러리를 가지고 쓰지는도 한눈에 볼수 있으니까!

개발할때 프로젝트를 Control 하기가 더 편합니다.

효율적으로 Build 할수 있도록 Build 구조를 설계하여 시간을 줄일수도 있고요

그리고 나중에 생성된 bin/mot/elf 파일들을 후처리해야하는 과정이 있습니다.

암호화를 시키던가, 아니면 mot 파일의 Offset값을 주던가 하는 일들 말입니다ㅎ

그럴때 makefile에서 한번에 후처리를 수행하면더 편한 부분이 있습니다.

 

그런데 나중에 회사에 들어가서 makefile을 직접 작성하고 프로젝트 Build 구조를 잡아 보니

전체적인 SW 빌드 시스템이 눈에 들어왔습니다.

그러면 지금부터 Makefile을 만들어 보도록 하겠습니다.

먼저 이전 블로그에서 프로젝트를 하나 만들었는데 그 프로젝트를 보면

myPjt1.elf를 만들기 위해서 참 여러가지가 include 되어 있음을 확인 할 수 있습니다.

저는 임베디드와 친해지기 위해서는, 음.. 조금더 정확히 표현해서

임베디드 SW를 정복하기 위해서는 makefile 구조를 명확히 하고

IDE의 의존하지 않은 자신만의 build 시스템을 꼭 한번은 만들어 봐야 한다고 생각합니다.

따라서, 저는 지금부터 IDE 환경을 의존하지 않고, 직접 나만의 build 시스템을 만들어 볼까 합니다.

makefile직접 만들고 직접 command를 입력하여 컴파일 하고 디버거 까지 붙여 보도록 하겠습니다.

현재 우리가 만든 프로젝트를 Build하면 제일먼저, S32 Design Studio는

아래의 Makefile을 만듬니다.

자동으로 생성을 시켜 줍니다.

파일의 위치들을 고려하여 User가 따로 설정하지 않아도 알아서 path를 잡아서

다운로드 가능한 파일을 만들어 줍니다.

그렇다면 다음 포스팅 글에서 이 과정의 내용을 조금더 다루어 보겠습니다.

반응형

댓글