• Hardware

    [RT1170] Hello world 예제 빌드 및 실행

    twitter facebook

    안녕하세요? 착한입니다.

    NXP 사에서 나온 i.MX RT1170 펌웨어 개발 강좌를 시작합니다.

    RT1170은 Cortex M7 기반 1GHz 속도의 MCU(Cortex M4 옵션) 이며,

    CAN, GPIO, SPI, I2C, USB, UART 등을 포함한 다양한 인터페이스와

    MIPI DSI, MIPI CSI 인터페이스를 지원하고 2D 하드웨어 가속기를 포함하고 있습니다.

    FreeRTOS 및 AzureRTOS 기반의 펌웨어를 지원합니다.

    RT1170에 대한 자세한 사항은 다음 사이트를 참고 부탁 드립니다.

    https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/i-mx-rt-crossover-mcus/i-mx-rt1170-crossover-mcu-family-first-ghz-mcu-with-arm-cortex-m7-and-cortex-m4-cores:i.MX-RT1170

    본 강좌에서는 RT1170 Hello world 펌웨어를 빌드하고 RT1170 보드에 실행하는 방법에 대해 알아 보겠습니다.

    강좌에서는 MCUXpresso 기준으로 설명합니다.

    IAR, Keil, GCC 를 사용하는 경우, 해당 툴의 메뉴얼을 참고 부탁 드립니다.


    1. Hello world 예제 가져오기


    RT1170 펌웨어 개발은 직접 소스 코드를 작성하거나 SDK의 예제 소스 코드를 활용하는 방법으로 진행됩니다.

    강좌에서는 SDK의 예제 소스 코드를 활용하는 방법에 대해 알아 보겠습니다.

    설치한 SDK에서 예제를 가져 오기 위해서는 다음 순서대로 진행하면 됩니다.

    MCUXpresso를 실행하고 왼쪽 하단의 "Quickstart panel" 에서

    "Import SDK examples(s) ..."을 선택합니다.


    SDK Import Wizard가 실행되고 보드 선택 화면이 표시됩니다.

    설치되어 있는 SDK가 지원하는 모든 보드가 표시됩니다.


    RT1170 EVK 보드를 선택하고 "Next" 버튼을 클릭합니다.


    예제를 선택할 수 있는 화면이 표시 됩니다.


    "Examples" 입력 창에 "hello" 라고 입력하면 예제 리스트를 보여 줍니다.

    또는 demo_apps 항목을 펼시면 hello_world 예제가 있습니다.

    RT1170은 Cortex M7 Core와 Cortex M4 Core가 있습니다. 예제도 각 Core 별로 분리되어 있습니다.

    "hello_world_demo_cm7" 항목을 선택하고 "Finish" 버튼을 클릭합니다.


    선택한 항목의 예제가 SDK에서 Workspace 내 폴더로 복사되고

    다음 그림과 같이 MCUXpresso 에 Project와 소스 코드가 표시됩니다.


    2. Hello world 예제 빌드하기


    Hello world 예제를 빌드하기 위해서는 "Quickstart Panel"에"Build" 를 선택하거나

    "Project" 메뉴에서 "Build" 메뉴를 선택하면 됩니다.


    에러 없이 빌드가 진행되었다면 Console 탭에서 다음과 같이 빌드 정보가 표시됩니다.

    만약 에러가 발생한다고 하면, MCUXpresso와 SDK가 정확하게 설치되었는지 확인해 보시길 바랍니다.


    3. Hello world 예제 실행하기


    Hello world 예제를 RT1170 EVK 보드에서 실행하려면 EVK 보드와 PC를 연결해야 합니다.

    RT1170 EVK 보드의 Debug USB 단자를 PC와 연결합니다.

    이때 자동으로 Driver가 설치되고 Windows의 탐색기에서 다음과 같이 드라이버가 생성됩니다.

    그리고 장치관리자를 보면 COM 포트가 하나 추가된 것을 확인할 수 있습니다.

    이 COM 포트를 통해 디버깅 로그를 확인할 수 있습니다.

    RT1170 EVK는 디버깅 기능을 포함하고 있습니다.

    그래서 디버깅용 USB만 연결하면 디버깅과 로그를 확인할 수 있습니다.


    RT1170 EVK 연결이 완료되었다면, MCUXpresso의 툴바에서 디버깅(딱정벌레 모양)아이콘을

    클릭합니다.


    다음 그림과 같이 디버깅 장치 보여주는 화면이 표시됩니다. "OK" 버튼을 클릭합니다.


    이제 펌웨어가 RT1170 보드로 다운로드된 후,

    MCUXpresso가 디버깅 모드로 변경되고 다음과 같이 Hello world 예제의 main 함수에서

    실행을 멈춘 상태로 됩니다.

    MCUXpresso 툴바에서 실행 아이콘(초록색 삼각형)을 클릭하면 펌웨어가 실행됩니다.


    펌웨어가 정상적으로 실행되면 다음과 같이 디버그 로그를 확인할 수 있습니다.

    소스 코드에서 PRINTF으로 출력한 내용이 표시됩니다.

    COM 포트는 PC의 장치관리자에서 확인 가능합니다.


    펌웨어는 디버깅 모드로 실행되고 있으므로, 툴바의 Step in, Step Out 아이콘을 이용하면

    소스 코드를 라인 별로 디버깅할 수 있습니다.

    해당 소스 코드 분석은 차후에 알아 보도록 하겠습니다.


    여기까지 SDK에서 Hello world 예제를 가져와서 빌드하고 실행하는 방법에 대해 알아 보았습니다.

    SDK에는 다양한 예제들이 있으므로 같은 방법으로 빌드해서 실행해 보시길 바랍니다.

    그럼 다음 강좌에서 뵙겠습니다.

    모두 즐겁게 개발하시길 바랍니다.


    --------------------------------------------------------

    유튜브 채널 방문과 구독 신청 부탁 드립니다.

    http://www.youtube.com/c/WeAreDev