본문 바로가기

임베디드 C를 위한 유닛 테스트 2 IAR Workbench 에서 Unity 설정 하기 이전글 임베디드 C를 위한 유닛 테스트 1에서 이야기 했듯이 임베디드 시스템에서 유닛 테스트는 한정적이지만 일부 함수 등에 대해서는 진행할 수 있다고 했다. 오늘은 IAR에서 Unity를 사용하여 유닛 테스트를 설정하는 방법에 대해서 설명하겠다. 우선 언급하고 넘어 갈 부분이 있다. 임베디드 시스템은 호스트PC와는 다른 시스템으로 실행 바이너리가 타켓 시스템에 맞게 크로스 컴파일러로 빌드된다. 따라서 일반적으로 빌드된 바이너리는 타켓 시스템에서 실행되어야 한다. 하지만 오늘 설명할 방법은 Hardware에 의존적인 부분을 모두 제외하고 호스트PC상에서 가상으로 실행하는 방법이다. 1. Unity를 설정하기 위해 소스 코드 다운 받기 아래 URL에서 ZI.. 더보기
임베디드 C를 위한 유닛 테스트 1 TDD는 꽤 오래 전부터 알려진 개발 방법론 중에 하나다. 그리고 이 TDD를 실천하기 위한 것 중 하나가 유닛 테스트이다. 웹이나 PC SW를 위한 Test Framework는 매우 다양하고 잘 소개되어 있지만 임베디드 시스템을 위한 유닛 테스트에 대한 정보는 잘 찾기가 힘들다. 그 이유는 대부분의 임베디드 시스템은 하드웨어와 관련이 있고 하드웨어와 관련된 코드들은 유닛 테스트를 진행하기 힘들기 때문이다. 하지만 이는 유닛 테스트에 대해 잘못 이해하고 있기 때문이다. 유닛 테스트는 시스템을 테스트하여 개발의 안정성을 찾기 위한 것이 아니다. 특정 함수와 같은 단위를 테스트하여 구현된 단위 코드의 정확도를 높이고 변경 시 오류를 빠르게 알 수 있게 하기 위한 것이다. 따라서 임베디드 시스템을 위한 코드라.. 더보기
ADuCM360 특징 AnalogDevice 사의 ADuCM360은 Cortex M3 기반의 MCU입니다. 필자가 지금까지 ST사의 MCU로 개발하여 그런지 모르겠지만 이 MCU는 ST에 비하여 개발 환경이나 개발에 필요한 정보 등이 많이 부족합니다. 특히 글을 쓰는 2019년도에는 ST사의 많은 지원으로 개발 IDE도 무료고 HAL, TouchGFX 등의 라이브러리도 무료로 개발하기에 편리합니다. 그리고 이 MCU는 ST 사의 MCU 들에 비하면 퍼포먼스가 떨어집니다. 그럼에도 불구하고 이 AnalogDevice사의 이 MCU가 가지는 장점이 있습니다. 바로 ADC입니다. 일반적으로 센서는 ADC를 읽어서 측정을 하는 방식으로 ADC의 해상도가 높을수록 정밀한 측정이 가능합니다. ST는 기본적으로 12bit ADC를 지원합.. 더보기