Table of contents

    펌웨어 임베디드 소프트웨어 개발을 하는 분들 중에, 개발 툴이 TASKING 경우가 있습니다.

     

    개발자분들마다 습관과 기호가 다를텐데, 저의 경우에는 프로젝트에서 추가하려는 기능(또는 함수) 대해 검토하는 것을 선호합니다.

     

    물론, MCU 소프트웨어를 포팅하여 테스트할 수도 있지만 경험상 Timer, Interrupt 부가 설정으로 인해 오동작하는 경우가 있었습니다.

     

    실력이 좋은 분들은 안그러시겠지만, 추가하려는 코드의 문제가 아닌데도 해당 코드를 다시 검토하는 경우도 있었습니다.

     

    기업에서는 라이선스 이슈가 많아서 아무 개발환경이나 다운받기가 부담스러울텐데, TASKING 환경에서 C언어를 가상환경으로 테스트할 있는 방법이 있습니다.

     

     

     

    TASKING C언어 가상환경 설정

     

    먼저, File -> New -> TASKING ARM C/C++ Project 클릭합니다.

     

    아마, 다른 프로젝트로도 가능할 같은데 ARM이라는 단어가 익숙해서 환경으로 설정했습니다.

     

     

     

     

    Project name 작성하고, Hello World C Project 선택한 후에 Next 버튼을 클릭합니다.

    ( Project name main 파일 이름으로 생성됩니다. )

     

     

     

     

    프로세서는 Cortex-M으로 설정했습니다.

    ( 이것도, 차이 없을 같은데 Cortex-M 시리즈가 익숙한 단어라 선택했습니다. )

     

     

     

    프로젝트 생성이 끝나면, 폴더가 자체적으로 구성되고 Project name 작성했던 main 위주로 프로젝트 구성됩니다.

     

     

     

    빌드도 제대로 동작합니다.

    지금까지 따라왔다면, C언어 컴파일 디버그 환경 설정이 끝났습니다.

     

     

     

     

     

    TASKING C언어 가상환경 디버깅

     

    이제 디버깅을 해보겠습니다.

     

    Debug -> Debug main 클릭합니다.

     

     

     

    Yes 클릭합니다.

     

     

     

    이제, 디버깅까지 테스트 있습니다.

    보시는 것처럼 'ARM Simulator' 라고 적혀있습니다.

    Target 보드가 없어도 동작하겠네요.

     

     

     

    디버깅이 종료된 모습입니다.

     

    보시는 것처럼 예제에 작성된 pritnf 함수의 결과도 나왔네요.

     

    반면에, _dbg_trap() 발생했습니다.

     

    아마도, MCU 개발환경과 달라서 생기는 에러인 같습니다.

     

    프로그램이 처음부터 끝까지 실행되고 종료된 같으니 무시하도록 하겠습니다.