728x90
반응형
임베디드 소스코드로 변경하는 이유?
- 자동차, 생활가전, 모바일 등 아직까지도 많은 프로그램이 클라우드가 아닌 로컬 장치의 임베디드 환경에서 동작해야 한다. 이런 프로그램을 개발할 때 타겟 환경에서 바로 개발 및 테스트를 해보는 것이 좋지만, 때로는 PC에서 개발한 후 타겟 환경에서 테스트 해야 하는 경우도 있다.
- 이 때 PC환경에서 개발하다보면 OS(ex/ Windows)에서 제공하는 API나 기타 Library를 사용하게 된다. 이 코드를 그대로 타겟 환경으로 가져가게 되면 빌드 오류가 발생한다. 따라서 임베디드 환경에서 동작할 소스코드의 경우, 타겟 환경에서 사용할 수 없는 Windows API나 기타 Library를 사용하지 않도록 주의를 기울여야 한다.
반응형
임베디드 소스코드를 만드는 과정
- PC에서 개발한 소스코드를 임베디드화 할때의 과정은 크게 빌드, 성능 테스트로 나눠볼 수 있다. 빌드 테스트는 PC에서 컴파일하던 소스코드가 임베디드 환경에서의 컴파일러로 빌드 되는지 확인하는 것이다. 성능 테스트란 빌드된 소스코드가 임베디드 환경에서 수행 시간과 메모리 관리를 확인하는 것이다.
- 빌드 테스트에서는 타겟 환경에서 사용하지 않는 OS 종속 API, Library dependency, 기타 소스코드 dependency (PC 개발환경에서 사용한 Visualizer, Profiler 등)가 있는지 확인하고 제거한다.
- 일반적으로 자주 사용하는 WIN API에서 시간 측정 함수 (clock), 스레드 관련 변수 (SRWLOCK) 등이 있다.
- 임베디드 소스코드를 만들기 위해 빌드 테스트 할때는 임베디드 환경에서 사용할 컴파일러로 빌드를 수행해보면 된다. 만약, 해당 컴파일러가 상용 버전이라 지금 사용이 불가능하다면 오픈소스인 gcc 컴파일러를 사용해보는 것도 방법이다.
728x90
반응형
'개념공부 > 기타' 카테고리의 다른 글
[C++] GUI 추천 Dear ImGui (아임구이) (1) | 2024.10.28 |
---|---|
OSQP Solver 빌드하기 (0) | 2023.12.22 |
QP Solver (0) | 2023.11.29 |
FLOPS (0) | 2023.10.25 |
[OpenGL] GLUT (0) | 2023.09.11 |