DAVE 이용 XMC 마이크로컨트롤러 사용하기 위한 SW 빠르게 개발 가능
상태바
DAVE 이용 XMC 마이크로컨트롤러 사용하기 위한 SW 빠르게 개발 가능
  • 이나리 기자
  • 승인 2015.09.11 13:02
  • 댓글 0
이 기사를 공유합니다

인피니언은 자사의 DAVE 임베디드 개발 환경을 크게 향상시킨 최신 버전을 제공한다. 새로운 DAVE 버전 4는 데이터 모델, 방법론, 사용자 친화성을 크게 향상시킴으로써 XMC 마이크로컨트롤러에 이용하기 위한 소프트웨어를 훨씬 더 빠르게 개발할 수 있게 됐다.

매티아스 아크만(Matthias Ackermann) 인피니언테크놀로지스 산업용 마이크로컨트롤러 제품 마케팅 책임자

베타 단계를 성공적으로 마치고 마침내 DAVE(Digital Application Virtual Engineer) 최신 버전인 버전4를 제공하게 됐다.

DAVE는 전문적인 이클립스(Eclipse) 기반 개발 플랫폼으로서 평가 단계에서부터 최종 제품 단계에 이르기까지 소프트웨어 개발 작업 전반에 걸쳐서 사용자를 안내하고 지원한다. 이를 위해서 인피니언은 무엇보다도 먼저 포괄적인 주변장치 및 애플리케이션 지향적 컴포넌트 기반 코드 라이브러리를 제공한다.

또한 DAVE를 사용해서 XMC 마이크로컨트롤러의 주변장치 기능에 필요로 하는 코드를 생성할 수 있다. 또한 사용자가 ARM용으로 시중에 나와 있는 써드파티 툴을 사용해서 DAVE로 구성하고 생성한 C 소스 코드를 변환하고, 링크시키고 마이크로컨트롤러(MCU)로 로드할 수 있다.

그럼으로써 평가 작업에서부터 프로토타입 및 최종 제품에 이르는 개발 작업 전반을 지원한다. 뿐만 아니라 사용자에게 최대의 자유도(degree of freedom)를 가능하게 하므로 플랫폼 지향적 소프트웨어를 효율적으로 개발하고 빠르게 제품을 개발할 수 있다.

통합 과제
임베디드 분야는 갈수록 표준화 되면서(ARM 코어), 동시에 또 한편으로는 MCU의 제품 유형이 다양화하는 것에 따라서 고객들마다 특수한 주변장치들의 밀도 또한 갈수록 늘어나고 있다.(DAVE 최신 버전: XMC Lib이라고 하는 저수준 드라이버 라이브러리와 DAVE APP를 사용해서 구체적인 마이크로컨트롤러에 대해서 추상화하고 있다. 또한 데이터 모델, 방법론, 사용자 친화성을 향상시킴으로써 XMC 마이크로컨트롤러를 겨냥해 소프트웨어를 빠르게 개발할 수 있다.

그럼으로써 이러한 개발 경향에 보조를 맞추기 위해서는 인피니언이 DAVE(Version 4)로 하고 있는 것과 같은 추상화가 필요하게 됐다. 그럼으로써 개발자들은 숙련된 MCU 하드웨어 전문성을 필요로 하지 않고서 실제적인 애플리케이션에 좀더 집중할 수 있어 결과적으로 개발 시간을 단축하고 오류 가능성을 줄일 수 있다.

인피니언은 DAVE 버전4를 대대적으로 향상시키고 확장함으로써 XMC 마이크로컨트롤러를 겨냥해 추상화된 효율적인 하드웨어 레벨 컴포넌트 기반 프로그래밍이 가능하도록 하고 있다.

또한 버전4의 향상되고 확장된 점으로는 데이터 모델과 그래픽을 향상시키고 개별 주변장치에 대한 소프트웨어 드라이버(장치 드라이버, XMC Lib)와 애플리케이션 지향적 소프트웨어 컴포넌트(DAVE APP)를 제공한다는 것이다. 이 개발 환경으로 표현성(depiction), 모듈성, 추상화를 향상시킴으로써 소프트웨어 개발 시의 재사용가능성과 효율을 향상시킨다.

▲ DAVE는 구체적인 주변장치 모듈들에 대해서 추상화를 한다. XMC Lib, DAVE SDK, DAVE APP, 포괄적인 애플리케이션 예들을 제공하므로 XMC 마이크로컨트롤러에 이용하기 위해서 사용자 고유의 프로그램을 빠르게 개발할 수 있다.

- DAVE: 이클립스 기반 개발 환경(IDE)으로서 GNU C 컴파일러, 디버거, 자원 솔버, 코드 생성 기능을 제공한다.

- XMC Lib: CMSIS 및 MISRA-C:2004 규격에 따른 정적 장치 드라이버 층으로서 XMC 마이크로컨트롤러의 주변장치 기능에 이용하도록 API(Application Programmable Interface) 라이브러리를 제공한다.

- DAVE APP: 그래픽적으로 구성가능한 추상화된 애플리케이션 지향적 소프트웨어 컴포넌트들이다.

- DAVE SDK: 기존의 DAVE APP을 수정 또는 확장하거나 새로운 DAVE APP을 개발할 수 있는 소프트웨어 개발 키트다.

- 디자인 예: 일련의 샘플 디자인들로서 추가적인 맞춤화가 가능하다. 이러한 예들은 XMC Lib와 DAVE APP을 기반으로 다양한 애플리케이션 분야를 망라하고 있다.

- 써드파티: XMC Lib와 DAVE를 이용해서 생성한 코드를 GCC, ARM, 태스킹(Tasking), IAR 등의 써드파티 컴파일러에서 사용할 수 있으며 알티움(Altium), ARM/케일(Keil), 아톨릭(Atollic), IAR 시스템즈, 로레이(Rowley) 등의 표준적 개발 환경에서 이용할 수 있다.

동작과 그래픽을 향상시켰을 뿐 아니라 DAVE APP 트리 디펜던시(Tree Dependency)와 핀 할당 뷰(Pin Assignment View) 같은 새로운 기능들을 도입하고 있다.

핀 할당 뷰는 선택한 패키지로 수작업 핀 할당에 대해서 명확한 그래픽적 표현을 제공한다.(XMC Lib는 하드웨어에 대해서 추상화하는 장치 드라이버 층을 제공한다.)

명료한 구조
DAVE로 소프트웨어와 컴포넌트의 재사용을 향상시킬 수 있도록 도입한 것이 XMC Lib라고 하는 정적 장치 드라이버 층이다. XMC Lib는 DAVE APP 하위에 있는 것이면서 또한 DAVE APP이나 DAVE와는 별도로 표준적 써드파티 개발 환경에서도 이용할 수 있다.

XMC Lib와 DAVE APP은 그래픽 사용자 인터페이스로서 최적화된 소프트웨어 컴포넌트들을 제공하므로 이를 사용해서 사용자가 하드웨어 추상화를 사용해서 빠르게 프로그램할 수 있다.

새로운 XMC Lib 소프트웨어 층을 제공함으로써 DAVE APP이 마이크로컨트롤러 레지스터와 주변장치 레지스터를 직접적으로 액세스할 필요 없이 해당되는 XMC Lib API를 사용할 수 있다. 그럼으로써 재사용가능성을 향상시킬 뿐만 아니라 생성된 소스 코드에 대한 명료성과 이해성을 향상시킨다.

또한 이해성, 확장성, 재사용가능성을 더욱 더 향상시키기 위해서 사용자가 자유롭게 DAVE APP 인스턴스에 대해서 사용자 레이블을 정의할 수 있게 했다. 사용자 레이블을 핸들러(객체에 대한 포인터)로 사용함으로써 DAVE APP 메소드(API)를 원하는 DAVE APP 인스턴스로 적용할 수 있다.

자원 솔버(resource solver) 제공
DAVE는 자원 솔버(resource solver)를 제공하므로 아무리 복잡한 애플리케이션이라 하더라도 그래픽 구성과 DAVE APP 및 XMC Lib 조합을 사용해서 하드웨어 레벨이나 하드웨어 레벨 가까이에서 손쉽게 프로그램할 수 있다.

이때 개발자는 먼저 DAVE APP으로 논리적으로(가상적으로) 필요한 자원을 정의한다. 그러면 자원 솔버가 컨트롤러의 물리적 하드웨어 자원으로 로직 자원을 할당한다. 자원 솔버가 이렇게 하면서는 ‘constraint logic programming(제약적 로직 프로그래밍)’ 메소드를 따른다.

이를 토대로 DAVE가 헤더 파일, 초기화 코드, 실제 함수를 포함해서 이해하기 명료하고 상세하게 기술된 소스 코드를 생성한다. 이렇게 생성된 소스 코드는 라이센스 없이 사용할 수 있다.

DAVE APP을 이용한 개발
또한 새로운 소프트웨어 개발 키트로서 DAVE SDK를 제공하므로 이를 사용해서 사용자가 기존의 DAVE APP을 수정 및 확장할 수 있으며 전혀 새로운 APP을 개발할 수도 있다. 그러므로 사용자가 자신만의 모듈러 소프트웨어 라이브러리를 구축할 수 있다.

DAVE SDK는 독립적인 이클립스 인스턴스이며 DAVE 설치 패키지에 포함된다. 그럼으로써 DAVE APP이 제공하는 기능을 확장할 수 있다. 예를 들어서 개발자가 애플리케이션으로 통신 스택을 간편하게 추가할 수 있다.

원칙적으로 DAVE SDK는 XMC 마이크로컨트롤러 리소스 정의 없이 사용할 수 있다. 예를 들어서 그래픽 사용자 인터페이스를 사용해서 어떤 유형의 정적 라이브러리든 구성할 수 있으므로 간편하게 재사용이 가능하다.

대폭적인 변경
DAVE 버전4는 대대적으로 변경 및 최적화를 함으로써 이전 개발 환경 및 DAVE APP과는 호환할 수 없게 됐다. 그렇지만 칩 구성과 자원 관리 측면에서 최적화된 데이터 모델을 사용해서 시스템 성능과 응답을 크게 향상시키고 있다.

버전4와 함께 인피니언은 DAVE 버전4 개발 환경을 빠르게 도입하거나 버전4로 빠르게 전환할 수 있도록 XMC Lib와 DAVE APP의 샘플 프로젝트, 비디오, 튜토리얼, 애플리케이션 노트, 이전 가이드라인(써드파티 툴을 사용해서 구성 및 생성된 소스 코드의 이전)을 비롯해서 포괄적인 패키지를 제공한다.
 

▲ 개발 프로세스 예: DAVE와 ARM 개발 툴을 함께 사용할 수 있다

DAVE와 ARM 개발 환경을 병행적으로 사용할 수 있다. DAVE를 사용해서 생성한 소스 코드와 XMC Lib를 GCC, ARM, 태스킹, IAR 등의 컴파일러에 사용할 수 있다. 또한 알티움 ARM/케일, 아톨릭, IAR 시스템즈, 로레이 개발 환경에 사용할 수 있다.

그러므로 평가 작업에서부터 최종 제품에 이르기까지 무료 DAVE와 DAVE를 이용해서 구성된 코드를 시중의 ARM 개발 환경과 병행적으로 사용할 수 있다. 그럼으로써 소프트웨어 확장성과 재사용가능성을 가능하게 할 뿐만 아니라 MCU 하드웨어나 실시간 소프트웨어에 대해서 전문적인 개발 지식을 필요로 하지 않고서 높은 추상화 수준에서 프로그래밍을 할 수 있으므로 빠르고 효율적으로 개발 작업을 할 수 있다.

확립된 기법 기반
DAVE는 포괄적인 코드 라이브러리와 모듈성 및 확장성을 제공하며 PC나 서버 소프트웨어 개발 분야에서 확립된 기법들을 기반으로 소프트웨어 개발 작업을 효율적으로 할 수 있도록 한다.

▲ ARM 기반 XMC 마이크로컨트롤러는 공장 및 빌딩 자동화, 교통, 전력 및 에너지, 단순 모터 제어 등의 다양한 산업용 애플리케이션에 사용하기에 적합하다.

 

DAVE는 한편으로는 사용자들에게 XMC 마이크로컨트롤러에 사용하도록 코드 생성 및 소프트웨어 개발을 위한 고도로 효율적인 무료 툴을 제공하고 한편으로는 향후에 160가지 이상에 이르기 될 XMC 제품군으로 주변장치 성능과 실시간 성능을 최대한 활용할 수 있도록 한다.

인피니언은 DAVE(Digital Application Virtual Engineer) Version 4를 통해 DAVE 성공 스토리를 계속해서 이어갈 수 있게 됐고 임베디드 소프트웨어 개발 분야에서 입지를 더욱 굳건히 하게 됐다.

 



댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.