임베디드용 C 개발, AI 도움으로 CMake 등 툴체인 등에 대한 스터디 중입니다.
가랑비

Lv.1 가랑비 (58.♡.137.93)

2026년 3월 14일 AM 02:14

조회 578 공감 0

임베디드용 플로그래밍은 제한된 리소스에서 동작안정성과 성능을 뽑아내야 하기에, C 레벨에서 작성하는 경우가 많습니다. (저의 경우에는) 특히, 32bit MCU 를 사용하면서 모든 코드의 동작이 내가 예측하는 것과 거의 동일하게 흘러가야 하기에, 복잡한 상위개념은 거의 사용하지 않습니다. 함수의 포인터 정도가 가장 상위 개념이었네요. class 도 거의 안 썼고요.

임베디드용 C 프로젝트에서 제일 번거로운 부분 중의 하나가 툴체인 설정과 make 관리입니다. 어떤 프로젝트는 파일개수가 적어서, 소스코드 추가할 때는 make 파일에 추가해 주는 정도에서 처리가 됩니다. 상용 MCU 에서 FAT 나 USB 같은 미들웨어 올리려면 해당 MCU 제조사의 툴체인과 vscode extension 또는 eclipse plugin 을 설치해야 하기에, 어찌어찌 동작하는 환경을 갖출 수는 있었습니다. 내가 잘 모르는 상황에서 툴이 해주는대로 사용하다보니, make 파일 관리와 툴체인 설정은 살짝 멀게 느껴지는 찝찝함. 컴파일이 제대로 안되는 환경이 발생하면, 우왕좌왕 하는게 영 맘에 안들었죠.

최근 상용 MCU 로 개인 코딩을 하면서, antigravity + gemini 환경에서 계속 툴체인 설정이나 make 관리에 대하여 물어보면서 확인하고 있네요. CMake + Ninja + gcc + vscode extension 의 조합이 알아서 해주긴 하지만, 어떻게 동작하는지 알고나니 마음이 편해지긴 합니다. 빌드에서 툴문제로 에러가 생기면 어떻게 봐야할지도 쬐끔 알 것 같기도 하고요.

완전 주력업무는 아니지만, 찝찝하게 미진했던 부분을 채우기에는 AI 가 도움이 많이 되네요.

모두들 즐거운 주말 보내세요~~~.

댓글 (2)

  • 긴급휴무 Lv.1

    03.14 · 110.♡.15.249

    cmake 든 make 든, 딱 좋은 수준으로만 쓰는게 좋습니다. 너무 복잡하고 다양한 기능을 쓰기 시작하면 문제가 생깁니다.

    cmake로 새로운 툴체인을 지원하려던 욕심은 차라리 gcc 명령행 인자를 지원하는 컴파일러 프론트엔드 래퍼를 만드는게 좋았을걸 하는 후회로 바뀝니다. cmake 가 지원하는 여러 컴파일러들이 cmake 내부적으로는 그때그때 임의의 코드로 지원되는것 같은 느낌이 있습니다. 과거의 성공경험이 미래에 도움이 되지 않게 되는것입니다. 그래도 cmake 사.. 사... 좋아합니다.

  • 가랑비

    가랑비 Lv.1 → 긴급휴무 작성자

    03.15 · 58.♡.137.93

    코드 규모가 작아서 아주 복잡한 툴체인 설정은 하지 않지만, cmake 등으로 인한 편의성은 누리되 지나친 의존은 피하도록 신경쓰겠습니다.

    경험 나누어주셔서 감사합니다. 이런 경험담은 땀과 눈물과 고통의 결과인 경우가 믾다는 것을 알기에, 새겨듣겠습니다. ㅎ

댓글을 작성하려면 이 필요합니다.