NuMaker누보톤 -IoT-M487 사용하기 시작하기 - FreeRTOS

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

NuMaker누보톤 -IoT-M487 사용하기 시작하기

중요

이 라이브러리는 더 이상 사용되지 않는 Amazon-FreeRTOS 리포지토리에서 호스팅됩니다. 새 프로젝트를 생성할 때는 여기서 시작하는 것이 좋습니다. 현재 사용되지 않는 Amazon-FreeRTOS 리포지토리를 기반으로 하는 기존 FreeRTOS 프로젝트가 이미 있는 경우에는 Amazon-FreeRTOS Github 리포지토리 마이그레이션 가이드 섹션을 참조하세요.

이 튜토리얼에서는 Nuvoton NuMaker -IoT-M487 개발 보드를 시작하기 위한 지침을 제공합니다. 시리즈 마이크로컨트롤러로, RJ45 이더넷 및 Wi-Fi 모듈을 내장하고 있습니다. Nuvoton NuMaker -IoT-M487이 없는 경우 AWS 파트너 장치 카탈로그를 방문하여 파트너로부터 구입하십시오.

시작하기 전에 개발 보드를 클라우드에 연결하도록 FreeRTOS 소프트웨어를 AWS IoT 구성해야 합니다. AWS 지침은 첫 번째 단계 섹션을 참조하세요. 이 자습서에서는 FreeRTOS 다운로드 디렉터리의 경로를 freertos라고 합니다.

개요

이 자습서에서는 다음과 같은 단계를 안내합니다.

  1. 마이크로컨트롤러 보드용 임베디드 애플리케이션을 개발하고 디버깅하기 위한 소프트웨어를 호스트 머신에 설치합니다.

  2. FreeRTOS 데모 애플리케이션을 바이너리 이미지로 크로스 컴파일합니다.

  3. 애플리케이션 이진 이미지를 보드에 로드한 다음 애플리케이션을 실행합니다.

개발 환경 설정

Keil MDK Nuvoton 에디션은 Nuvoton M487 보드용 애플리케이션을 개발하고 디버깅하기 위해 설계되었습니다. Keil MDK v5 Essential, Plus 또는 Pro 버전은 Nuvoton M487(Cortex-M4 코어) MCU에도 작동합니다. Nuvoton Cortex-M4 시리즈 MCU의 가격 할인을 사용하여 Keil MDK Nuvoton 에디션을 다운로드할 수 있습니다. Keil MDK는 Windows에서만 지원됩니다.

NuMaker-IoT-M487용 개발 도구를 설치하려면
  1. Keil MDK 웹 사이트에서 Keil MDK Nuvoton 에디션을 다운로드합니다.

  2. 라이선스를 사용하여 호스트 머신에 Keil MDK를 설치합니다. Keil MDK에는 Keil µVision IDE, C/C++ 컴파일 도구 체인, µVision 디버거가 포함되어 있습니다.

    설치 중에 문제가 발생하는 경우 Nuvoton에 지원을 요청하십시오.

  3. Nu-Link_Keil_Driver_V3.06.7215r(또는 최신 버전)을 설치합니다. 이 도구는 Nuvoton Development Tool 페이지에 있습니다.

FreeRTOS 데모 프로젝트 빌드 및 실행

FreeRTOS 데모 프로젝트를 빌드하려면
  1. Keil µVision IDE를 엽니다.

  2. File(파일) 메뉴에서 Open(열기)를 선택합니다. Open file(파일 열기) 대화 상자에서 파일 선택기가 Project Files(프로젝트 파일)로 설정되어 있는지 확인합니다.

  3. 구축할 Wi-Fi 또는 이더넷 데모 프로젝트를 선택합니다.

    • Wi-Fi 데모 프로젝트를 열려면 freertos\projects\nuvoton\numaker_iot_m487_wifi\uvision\aws_demos 디렉터리에서 대상 프로젝트 aws_demos.uvproj를 선택합니다.

    • 이더넷 데모 프로젝트를 열려면 freertos\projects\nuvoton\numaker_iot_m487_wifi\uvision\aws_demos_eth 디렉터리에서 대상 프로젝트 aws_demos_eth.uvproj를 선택합니다.

  4. 보드를 플래시하기 위한 설정이 올바른지 확인하려면 aws_demo 프로젝트를 마우스 오른쪽 버튼으로 클릭한 다음 Options(옵션)를 선택합니다. (자세한 내용은 문제 해결 단원을 참조하십시오.)

  5. Utilities(유틸리티) 탭에서 Use Target Driver for Flash Programming(플래시 프로그래밍에 대상 드라이버 사용)이 선택되어 있는지 확인하고 Nuvoton Nu-Link Debugger(Nuvoton Nu-Link 디버거)가 대상 드라이버로 설정되어 있는지 확인합니다.

  6. Debug(디버깅) 탭에서 Nuvoton Nu-Link Debugger(Nuvoton Nu-Link 디버거) 옆의 Settings(설정)를 선택합니다.

  7. Chip Type(칩 유형)M480으로 설정되어 있는지 확인합니다.

  8. Keil µVision IDE Project(프로젝트) 탐색 창에서 aws_demos 프로젝트를 선택합니다. Project(프로젝트) 메뉴에서 Build Target(대상 빌드)을 선택합니다.

AWS IoT 콘솔의 MQTT 클라이언트를 사용하여 장치가 클라우드로 보내는 메시지를 모니터링할 수 있습니다. AWS

MQTT 클라이언트를 통해 MQTT 주제를 구독하려면 AWS IoT
  1. AWS IoT 콘솔에 로그인합니다.

  2. 탐색 창에서 테스트를 선택한 다음 MQTT 테스트 클라이언트를 선택하여 MQTT 클라이언트를 엽니다.

  3. 구독 주제your-thing-name/example/topic을 입력한 다음 주제 구독을 선택합니다.

FreeRTOS 데모 프로젝트를 실행하려면
  1. Numaker-IoT-M487 보드를 호스트 머신(컴퓨터)에 연결합니다.

  2. 프로젝트를 다시 빌드합니다.

  3. Keil µVision IDE의 Flash(플래시) 메뉴에서 Download(다운로드)를 선택합니다.

  4. Debug(디버깅) 메뉴에서 Start/Stop Debugging(디버깅 시작/중지)을 선택합니다.

  5. 디버거가 main()의 중단점에서 중지되면 Run(실행) 메뉴를 열고 Run(실행)(F5)을 선택합니다.

    디바이스에서 전송한 MQTT 메시지를 콘솔의 MQTT 클라이언트에서 확인할 수 있어야 합니다. AWS IoT

FreeRTOS에서 CMake 사용

CMake를 사용하여 FreeRTOS 데모 애플리케이션 또는 타사 코드 편집기 및 디버깅 도구를 사용하여 개발한 애플리케이션을 빌드하고 실행할 수 있습니다.

CMake 빌드 시스템을 설치했는지 확인합니다. FreeRTOS에서 CMake 사용의 지침을 따른 다음 이 단원의 단계를 따르십시오.

참고

컴파일러(Keil)의 위치에 대한 경로가 경로 시스템 변수(예: C:\Keil_v5\ARM\ARMCC\bin)에 있어야 합니다.

또한 AWS IoT 콘솔의 MQTT 클라이언트를 사용하여 디바이스가 클라우드로 보내는 메시지를 모니터링할 수 있습니다. AWS

MQTT 클라이언트를 통해 MQTT 주제를 구독하려면 AWS IoT
  1. AWS IoT 콘솔에 로그인합니다.

  2. 탐색 창에서 테스트를 선택한 다음 MQTT 테스트 클라이언트를 선택하여 MQTT 클라이언트를 엽니다.

  3. 구독 주제your-thing-name/example/topic을 입력한 다음 주제 구독을 선택합니다.

소스 파일에서 빌드 파일을 생성하고 데모 프로젝트를 실행하려면
  1. 호스트 시스템에서 명령 프롬프트를 열고 freertos 폴더로 이동합니다.

  2. 생성된 빌드 파일을 포함할 폴더를 만듭니다. 여기서는 이 폴더를 BUILD_FOLDER라고 합니다.

  3. Wi-Fi 또는 이더넷 데모에 대한 빌드 파일을 생성합니다.

    • Wi-Fi의 경우:

      FreeRTOS 데모 프로젝트의 소스 파일이 포함된 디렉터리로 이동합니다. 다음 명령을 실행하여 빌드 파일을 생성합니다.

      cmake -DVENDOR=nuvoton -DBOARD=numaker_iot_m487_wifi -DCOMPILER=arm-keil -S . -B BUILD_FOLDER -G Ninja
    • 이더넷의 경우:

      FreeRTOS 데모 프로젝트의 소스 파일이 포함된 디렉터리로 이동합니다. 다음 명령을 실행하여 빌드 파일을 생성합니다.

      cmake -DVENDOR=nuvoton -DBOARD=numaker_iot_m487_wifi -DCOMPILER=arm-keil -DAFR_ENABLE_ETH=1 -S . -B BUILD_FOLDER -G Ninja
  4. 다음 명령을 실행하여 M487로 플래시할 바이너리를 생성합니다.

    cmake --build BUILD_FOLDER

    이 시점에서는 이진 파일 aws_demos.binBUILD_FOLDER/vendors/Nuvoton/boards/numaker_iot_m487_wifi 폴더에 있어야 합니다.

  5. 플래시 모드에 맞게 보드를 구성하려면 MSG 스위치(ICE에서 ISW1의 4번)가 ON으로 전환되어 있는지 확인합니다. 보드에 플러그인하면 창(드라이브)이 할당됩니다. (문제 해결를 참조하세요.)

  6. 터미널 에뮬레이터를 열어 UART를 통해 메시지를 봅니다. 터미널 에뮬레이터 설치의 지침을 따릅니다.

  7. 생성된 이진수를 디바이스에 복사하여 데모 프로젝트를 실행합니다.

    MQTT 클라이언트에서 MQTT 주제를 구독한 경우 AWS IoT 콘솔에서 디바이스에서 보낸 MQTT 메시지를 확인할 수 있습니다. AWS IoT

문제 해결

  • 윈도우가 디바이스를 인식하지 못하는 경우VCOM, 링크 Nu-Link USB 드라이버 v1.6에서 NuMaker 윈도우 직렬 포트 드라이버를 설치하십시오.

  • Nu-Link를 통해 디바이스를 Keil MDK(IDE)에 연결하는 경우 그림과 같이 MSG 스위치(ICE에서 ISW1의 4번)가 OFF로 전환되어 있는지 확인합니다.

    SD 카드 슬롯, 마이크로컨트롤러, 핀, 전원 및 리셋 커넥터가 라벨이 부착된 회로 기판.

개발 환경을 설정하거나 보드에 연결하는 동안 문제가 발생하는 경우 Nuvoton에 문의하십시오.

Keil μVision에서 FreeRTOS 프로젝트 디버깅

Keil μVision에서 디버깅 세션을 시작하려면
  1. Keil μVision을 엽니다.

  2. FreeRTOS 데모 프로젝트 빌드 및 실행의 단계에 따라 FreeRTOS 데모 프로젝트를 빌드합니다.

  3. Debug(디버깅) 메뉴에서 Start/Stop Debugging(디버깅 시작/중지)을 선택합니다.

    디버깅 세션을 시작하면 Call Stack + Locals(스택 + 로컬 호출) 창이 나타납니다. μVision이 데모를 보드로 플래시하고, 데모를 실행한 다음, main() 함수가 시작될 때 중지합니다.

  4. 프로젝트의 소스 코드에 중단점을 설정한 다음 코드를 실행합니다. 프로젝트는 다음과 비슷해야 합니다.

    장치 마이크로컨트롤러 프로젝트를 위한 하드웨어 초기화, 작업 스케줄링, 키 프로비저닝이 포함된 기본 소스 코드 파일

μVision 디버그 설정 문제 해결

애플리케이션을 디버깅하는 동안 문제가 발생하는 경우 Keil μVision에서 디버그 설정이 올바르게 설정되었는지 확인합니다.

μVision 디버그 설정이 올바른지 확인하려면
  1. Keil μVision을 엽니다.

  2. IDE에서 aws_demo 프로젝트를 마우스 오른쪽 버튼으로 클릭한 다음 Options(옵션)를 선택합니다.

  3. Utilities(유틸리티) 탭에서 Use Target Driver for Flash Programming(플래시 프로그래밍에 대상 드라이버 사용)이 선택되어 있는지 확인하고 Nuvoton Nu-Link Debugger(Nuvoton Nu-Link 디버거)가 대상 드라이버로 설정되어 있는지 확인합니다.

    플래시 프로그래밍, 디버깅 및 출력 파일 처리를 위한 구성 설정을 보여 주는 옵션 창
  4. Debug(디버깅) 탭에서 Nuvoton Nu-Link Debugger(Nuvoton Nu-Link 디버거) 옆의 Settings(설정)를 선택합니다.

    드라이버 버전, ICE 버전, 장치 제품군, 장치 ID, 포트, 최대 클럭, 칩 유형, 연결 모드, 재설정 옵션 및 전원 제어 전압에 대한 옵션이 포함된 Nu-Link 디버거 설정 대화 상자.
  5. Chip Type(칩 유형)M480으로 설정되어 있는지 확인합니다.