Cypress CY8CKIT-064S0S2-4343W 키트 시작하기 - 무료 RTOS

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

Cypress CY8CKIT-064S0S2-4343W 키트 시작하기

중요

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

이 자습서에서는 CY8CKIT-064S0S2-4343W 키트를 시작하기 위한 지침을 제공합니다. 키트가 없는 경우 해당 링크를 사용하여 구입할 수 있습니다. 해당 링크를 사용하여 키트 사용 설명서에 액세스할 수도 있습니다.

시작하기

시작하려면 먼저 디바이스를 AWS 클라우드에 연결하도록 AWS IoT 및 FreeRTOS를 구성해야 합니다. 지침은 첫 번째 단계 단원을 참조하세요. 사전 조건을 완료하면 AWS IoT Core 보안 인증 정보가 포함된 FreeRTOS 패키지를 갖게 됩니다.

참고

이 자습서에서는 ‘첫 번째 단계’ 섹션에서 생성한 FreeRTOS 다운로드 디렉터리의 경로를 freertos라고 합니다.

개발 환경 설정

FreeRTOS는 CMake 또는 Make 빌드 흐름에서 작동합니다. ModusToolbox를 Make 빌드 흐름에 사용할 수 있습니다. ModusToolbox와 함께 제공되는 Eclipse IDE 또는 IAR EW-Arm, Arm MDK, Microsoft Visual Studio Code와 같은 파트너 IDE를 사용할 수 있습니다. Eclipse IDE는 Windows, macOS, Linux 운영 체제와 호환됩니다.

시작하기 전에 최신 ModusToolbox 소프트웨어를 다운로드하여 설치합니다. 자세한 내용은 ModusToolbox 설치 안내서를 참조하세요.

ModusToolbox 2.1 이상에서 도구 업데이트

ModusToolBox 2.1 Eclipse IDE를 사용하여 이 키트를 프로그래밍하는 경우 OpenOCD 및 Firmware-loader 도구를 업데이트해야 합니다.

다음 단계에서 기본적으로 ModusToolbox 경로는 다음과 같습니다.

  • Windows는 C:\Users\user_name\ModusToolbox입니다.

  • Linux는 user_home/ModusToolbox 또는 사용자가 선택한 아카이브 파일 추출 위치입니다.

  • macOS는 마법사에서 선택한 볼륨의 Applications 폴더 아래에 있습니다.

OpenOCD 업데이트

이 키트가 성공적으로 칩을 소거하고 프로그래밍하기 위해 Cypress OpenOCD 4.0.0 이상이 필요합니다.

Cypress OpenOCD를 업데이트하려면
  1. Cypress OpenOCD 릴리스 페이지로 이동합니다.

  2. 운영 체제(Windows/Mac/Linux)에 해당하는 아카이브 파일을 다운로드합니다.

  3. ModusToolbox/tools_2.x/openocd에서 기존 파일을 삭제합니다.

  4. ModusToolbox/tools_2.x/openocd의 파일을 이전 단계에서 다운로드한 아카이브에서 추출된 파일로 바꿉니다.

Firmware-loader 업데이트

이 키트에는 Cypress Firmware-loader 3.0.0 이상이 필요합니다.

Cypress Firmware-loader를 업데이트하려면
  1. Cypress Firmware-loader 릴리스 페이지로 이동합니다.

  2. 운영 체제(Windows/Mac/Linux)에 해당하는 아카이브 파일을 다운로드합니다.

  3. ModusToolbox/tools_2.x/fw-loader에서 기존 파일을 삭제합니다.

  4. ModusToolbox/tools_2.x/fw-loader의 파일을 이전 단계에서 다운로드한 아카이브에서 추출된 파일로 바꿉니다.

또는, CMake를 사용하여 FreeRTOS 애플리케이션 소스 코드에서 프로젝트 빌드 파일을 생성하고 선호하는 빌드 도구를 사용하여 프로젝트를 빌드한 다음 OpenOCD를 사용하여 키트를 프로그래밍할 수 있습니다. CMake 흐름으로 프로그래밍하기 위해 GUI 도구를 사용하고 싶다면 Cypress Programming Solutions 웹 페이지에서 Cypress Programmer를 다운로드하여 설치합니다. 자세한 내용은 FreeRTOS에서 CMake 사용 섹션을 참조하세요.

하드웨어 설정

다음 단계에 따라 키트 하드웨어를 설정합니다.

  1. 키트 프로비저닝

    Provisioning Guide for CY8CKIT-064S0S2-4343W Kit 지침에 따라 AWS IoT용 키트를 안전하게 프로비저닝합니다.

    이 키트에는 CySecureTools 3.1.0 이상이 필요합니다.

  2. 직렬 연결 설정

    1. 키트를 호스트 컴퓨터에 연결합니다.

    2. 키트용 USB 직렬 포트는 호스트 컴퓨터에 자동으로 열거됩니다. 포트 번호를 확인합니다. Windows에서는 장치 관리자를 사용하여 포트(COM 및 LPT) 아래에서 확인할 수 있습니다.

    3. 직렬 터미널을 시작하고 다음 설정으로 연결을 엽니다.

      • 전송 속도: 115200

      • 데이터: 8비트

      • 패리티: 없음

      • 정지 비트: 1

      • 흐름 제어: 없음

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

이 섹션에서는 데모를 빌드하고 실행합니다.

  1. Provisioning Guide for CY8CKIT-064S0S2-4343W Kit의 단계를 따라야 합니다.

  2. FreeRTOS 데모 빌드.

    1. Eclipse IDE for ModusToolbox를 열고 작업 공간을 선택하거나 생성합니다.

    2. File(파일) 메뉴에서 Import(가져오기)를 선택합니다.

      일반을 확장하고 기존 프로젝트를 작업 공간으로를 선택한 다음 다음을 선택합니다.

    3. 루트 디렉터리aws_demos를 입력하고 프로젝트 이름 freertos/projects/cypress/CY8CKIT-064S0S2-4343W/mtb/aws_demos를 선택합니다. 이 이름이 기본적으로 선택되어 있을 것입니다.

    4. 완료를 선택하여 프로젝트를 작업 공간으로 가져옵니다.

    5. 다음 중 하나를 수행하여 애플리케이션을 빌드합니다.

      • 퀵 패널에서 aws_demos 애플리케이션 빌드를 선택합니다.

      • 프로젝트를 선택하고 모두 빌드를 선택합니다.

      프로젝트가 오류 없이 컴파일되는지 확인합니다.

  3. 클라우드에서 MQTT 메시지 모니터링

    데모를 실행하기 전에 AWS IoT 콘솔에서 디바이스가 AWS 클라우드로 보내는 메시지를 모니터링하도록 MQTT 클라이언트를 설정할 수 있습니다. AWS IoT MQTT 클라이언트를 사용하여 MQTT 주제를 구독하려면 다음 단계를 따릅니다.

    1. AWS IoT 콘솔에 로그인합니다.

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

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

  4. FreeRTOS 데모 프로젝트 실행

    1. 작업 공간에서 프로젝트 aws_demos를 선택합니다.

    2. 퀵 패널에서 aws_demos 프로그램(KitProg3)을 선택합니다. 이렇게 하면 보드가 프로그래밍되고 프로그래밍이 끝나면 데모 애플리케이션이 실행을 시작합니다.

    3. 직렬 터미널에서 실행 중인 애플리케이션의 상태를 볼 수 있습니다. 다음 그림은 터미널 출력의 일부를 보여줍니다.

      aws_demo 프로젝트를 빌드한 후 터미널 출력의 스크린샷입니다.

      MQTT 데모는 네 가지 주제(iotdemo/topic/n, 여기서 n=1~4)에 대한 메시지를 게시하고 해당 주제를 모두 구독하여 동일한 메시지를 다시 수신합니다. 메시지가 수신되면 데모는 해당 주제 iotdemo/acknowledgements에 대한 승인 메시지를 게시합니다. 다음 목록은 메시지 일련 번호에 대한 참조와 함께 터미널 출력에 나타나는 디버그 메시지를 설명합니다. 출력에서는 WICED Host Driver(WHD) 드라이버 세부 정보가 일련 번호 지정 없이 먼저 인쇄됩니다.

      1. 1~4 - 디바이스가 구성된 액세스 포인트(AP)에 연결되고 구성된 엔드포인트 및 인증서를 사용하여 AWS 서버에 연결하여 프로비저닝됩니다.

      2. 5~13 - coreMQTT 라이브러리가 초기화되고 디바이스가 MQTT 연결을 설정합니다.

      3. 14~17 - 디바이스가 모든 주제를 구독하여 게시된 메시지를 다시 수신합니다.

      4. 18~30 - 디바이스가 두 개의 메시지를 게시하고 메시지가 다시 수신되기를 기다립니다. 각 메시지가 수신되면 디바이스는 승인 메시지를 보냅니다.

      모든 메시지가 게시될 때까지 동일한 게시, 수신 및 확인 주기가 계속됩니다. 구성된 수의 주기가 완료될 때까지 주기당 두 개의 메시지가 게시됩니다.

  5. FreeRTOS에서 CMake 사용

    CMake를 사용하여 데모 애플리케이션을 빌드하고 실행할 수도 있습니다. CMake 및 네이티브 빌드 시스템을 설정하려면 사전 조건  섹션을 참조하세요.

    1. 빌드 파일을 생성할 때는 다음 명령을 사용합니다. -DBOARD 옵션을 사용하여 대상 보드를 지정합니다.

      cmake -DVENDOR=cypress -DBOARD=CY8CKIT_064S0S2_4343W -DCOMPILER=arm-gcc -S freertos -B build_dir

      Windows를 사용하는 경우 -G 옵션을 사용하여 네이티브 빌드 시스템을 지정해야 합니다. CMake가 기본적으로 Visual Studio를 사용하기 때문입니다.

      cmake -DVENDOR=cypress -DBOARD=CY8CKIT_064S0S2_4343W -DCOMPILER=arm-gcc -S freertos -B build_dir -G Ninja

      arm-none-eabi-gcc가 셸 경로에 없으면 AFR_TOOLCHAIN_PATH CMake 변수도 설정해야 합니다.

      -DAFR_TOOLCHAIN_PATH=/home/user/opt/gcc-arm-none-eabi/bin
    2. CMake를 사용하여 프로젝트를 빌드하려면 다음 명령을 사용합니다.

      cmake --build build_dir
    3. 마지막으로 Cypress Programmer를 사용하여 build_dir에서 생성된 cm0.hexcm4.hex 파일을 프로그래밍합니다.

다른 데모 실행

다음 데모 애플리케이션은 현재 릴리스에서 작동하도록 테스트 및 검증되었습니다. freertos/demos 디렉터리에서 이러한 데모를 찾을 수 있습니다. 이러한 데모를 실행하는 방법에 대한 자세한 내용은 FreeRTOS 데모 섹션을 참조하세요.

  • Bluetooth Low Energy 데모

  • 무선(OTA) 업데이트 데모

  • 보안 소켓 에코 클라이언트 데모

  • AWS IoT 디바이스 섀도우 데모

Debugging

키트의 KitProg3는 SWD 프로토콜을 통한 디버깅을 지원합니다.

  • FreeRTOS 애플리케이션을 디버깅하려면 작업 공간에서 aws_demos 프로젝트를 선택한 다음 퀵 패널에서 aws_demos 디버그(KitProg3)를 선택합니다.

OTA 업데이트

PSoC 64 MCU는 필요한 FreeRTOS 검증 테스트를 모두 통과했습니다. 그러나 PSoC 64 Standard Secure AWS 펌웨어 라이브러리에 구현된 선택적 무선 업데이트(OTA) 기능은 아직 평가 대기 중입니다. 현재 구현된 OTA 기능은 aws_ota_test_case_rollback_if_unable_to_connect_after_update.py를 제외한 모든 OTA 검증 테스트를 통과했습니다.

성공적으로 검증된 OTA 이미지를 PSoC64 Standard Secure - AWS MCU를 사용하는 디바이스에 적용했는데 디바이스가 AWS IoT Core와 통신할 수 없는 경우 디바이스를 정상 작동이 확인된 원본 이미지로 자동 롤백할 수 없습니다. 이로 인해 AWS IoT Core가 추가 업데이트를 위해 디바이스에 연결하지 못할 수 있습니다. 이 기능은 Cypress 팀에서 아직 개발 중입니다.

자세한 내용은 OTA Updates with AWS and the CY8CKIT-064S0S2-4343W Kit를 참조하세요. 추가 질문이 있거나 기술 지원이 필요한 경우 Cypress Developer Community에 문의하세요.