사용 CMake 함께 FreeRTOS - FreeRTOS

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

사용 CMake 함께 FreeRTOS

다음을 사용할 수 있습니다. CMake 프로젝트 빌드 파일을 생성하려면 FreeRTOS 응용 프로그램 소스 코드 및 를 사용하여 소스 코드를 빌드하고 실행합니다.

또한 IDE를 사용하여 FreeRTOS-인증된 장치. 각 보드별 시작 안내서에는 특정 플랫폼용 IDE 설정 지침이 포함되어 있습니다. IDE 없이 작업하는 것을 선호하는 경우, 코드를 개발하고 디버깅하는 데 다른 제3자 코드 편집과 디버깅 도구를 사용하고, CMake 을 클릭하여 응용 프로그램을 빌드하고 실행합니다.

다음 보드는 다음을 지원합니다. CMake:

  • Espressif ESP32-DevKitC

  • Espressif ESP-WROVER-KIT

  • 인피네온 XMC4800 IoT 연결 키트

  • Marvell MW320 AWS IoT 시작 키트

  • Marvell MW322 AWS IoT 시작 키트

  • Microchip Curiosity PIC32MZEF 번들

  • Nordic nRF52840 DK 개발 키트

  • STM마이크로일렉트로닉스STM32L4 디스커버리 키트 IoT 노드

  • Texas Instruments CC3220SF-LAUNCHXL

  • Microsoft Windows Simulator

사용에 대한 자세한 내용은 아래 항목을 참조하십시오. CMake 함께 FreeRTOS.

Prerequisites

계속하기 전에 호스트 시스템이 다음 사전 조건을 충족하는지 확인하십시오.

  • 장치의 컴파일 툴체인은 기계의 운영 체제를 지원해야 합니다. CMake 는 모든 버전의 Windows를 지원합니다. macOS, 및 Linux

    Linux용 Windows 하위 시스템(WSL)은 지원되지 않습니다. 네이티브 사용 CMake Windows 시스템에서.

  • 반드시 CMake 버전 3.13 이상이 설치되었습니다.

    이진 분포를 다운로드할 수 있습니다. CMake 부터 씨메이크.오르그.

    참고

    의 바이너리 배포를 다운로드하는 경우 CMake, 반드시 CMake 사용하기 전에 PATH 환경 변수로 실행 가능 CMake 명령줄 에서.

    또한 CMake 패키지 매니저를 사용하여 홈브루 날짜 macOS, 및 스쿱 또는 초콜릿 맛 을 참조하십시오.

    참고

    더 CMake 여러 Linux 배포에 대해 패키지 관리자에서 제공되는 패키지 버전이 오래되었습니다. 배포의 패키지 관리자가 최신 버전을 제공하지 않는 경우 CMake, 다음과 같은 대체 패키지 관리자를 사용해 볼 수 있습니다. linuxbrew 또는 nix.

  • 호환 가능한 네이티브 빌드 시스템이 있어야 합니다.

    CMake는 GNU Make 또는 Ninja 등의 많은 네이티브 빌드 시스템을 대상으로 할 수 있습니다. Make와 Ninja는 모두 Linux에 패키지 관리자와 함께 설치할 수 있습니다. macOS 및 윈도우. Windows에서 Make를 사용하는 경우 수식에서 독립 실행형 버전을 설치하거나 Make를 번들로 제공하는 MinGW를 설치할 수 있습니다.

    참고

    에서 실행 가능으로 만들기 MinGW 이(가) mingw32-make.exe, 대신 make.exe.

    Ninja는 Make보다 빠르며 모든 데스크톱 운영 체제에 네이티브 지원을 제공하므로 Ninja를 사용하는 것이 좋습니다.

타사 코드 편집기 및 디버깅 도구를 사용하여 FreeRTOS 애플리케이션 개발

코드 편집기, 디버깅 확장 또는 타사 디버깅 도구를 사용하여 FreeRTOS용 애플리케이션을 개발할 수 있습니다.

예를 들어 Visual Studio Code를 코드 편집기로 사용하는 경우 Cortex-Debug VS Code 확장을 디버거로 설치할 수 있습니다. 응용 프로그램 개발이 완료되면 CMake 명령줄 도구를 사용하여 VS 코드 내에서 프로젝트를 빌드합니다. 사용에 대한 자세한 내용은 CMake 구축을 위해 FreeRTOS 애플리케이션, 참조 건물 FreeRTOS 함께 CMake.

디버깅을 위해 다음과 비슷한 디버그 구성으로 VS Code를 제공할 수 있습니다.

"configurations": [ { "name": "Cortex Debug", "cwd": "${workspaceRoot}", "executable": "./build/st/stm32l475_discovery/aws_demos.elf", "request": "launch", "type": "cortex-debug", "servertype": "stutil" } ]

건물 FreeRTOS 함께 CMake

CMake는 기본적으로 호스트 운영 체제를 대상 시스템으로 사용합니다. 이를 교차 컴파일에 사용하려면 CMake 는 을 사용할 컴파일러를 지정하는 툴체인 파일을 필요로 합니다. 입력 FreeRTOS에서 기본 툴체인 파일을 제공합니다. freertos/tools/cmake/toolchains. 이 파일을 제공하는 방법 CMake 사용하는지 여부에 따라 CMake 명령줄 인터페이스 또는 GUI. 추가 세부 정보는 아래 빌드 파일 생성(CMake 명령줄 도구) 지침을 따르십시오. 에서 교차 컴파일에 대한 자세한 내용은 CMake, 참조 크로스컴파일링 공무원의 CMake 위키.

을(를) 빌드하려면 CMake-기반 프로젝트

  1. 실행 CMake 기본 빌드 시스템(예: Make 또는 Ninja )에 대한 빌드 파일을 생성합니다.

    CMake 명령줄 도구 또는 CMake GUI를 사용하여 네이티브 빌드 시스템용 빌드 파일을 생성할 수 있습니다.

    FreeRTOS 빌드 파일 생성에 대한 자세한 내용은 빌드 파일 생성(CMake 명령줄 도구)빌드 파일 생성(CMake GUI) 단원을 참조하십시오.

  2. 네이티브 빌드 시스템을 호출하여 프로젝트를 실행 파일로 만듭니다.

    FreeRTOS 빌드 파일 생성에 대한 자세한 내용은 생성된 빌드 파일에서 FreeRTOS 빌드 단원을 참조하십시오.

빌드 파일 생성(CMake 명령줄 도구)

다음을 사용할 수 있습니다. CMake 명령줄 도구(cmake)를 사용하여 에 대한 빌드 파일 생성 FreeRTOS. 빌드 파일을 생성하려면 대상 보드, 컴파일러, 소스 코드와 빌드 디렉터리의 위치를 지정해야 합니다.

cmake에는 다음 옵션을 사용할 수 있습니다.

  • -DVENDOR – 대상 보드를 지정합니다.

  • -DCOMPILER – 컴파일러를 지정합니다.

  • -S – 소스 코드의 위치를 지정합니다.

  • -B – 생성된 빌드 파일의 위치를 지정합니다.

참고

컴파일러는 시스템의 PATH 변수에 있어야 하며 그렇지 않은 경우 컴파일러의 위치를 지정해야 합니다.

예를 들어, 공급업체가 Texas Instruments이고 보드가 CC3220 Launchpad이며 컴파일러가 ARM용 GCC인 경우, 다음 명령을 실행하여 현재 디렉터리에서 build-directory 디렉터리로 소스 파일을 빌드할 수 있습니다.

cmake -DVENDOR=ti -DBOARD=cc3220_launchpad -DCOMPILER=arm-ti -S . -B build-directory
참고

Windows를 사용하는 경우 기본 빌드 시스템을 지정해야 하는 이유는 무엇입니까? CMake 에서는 기본적으로 Visual Studio를 사용합니다. 다음 예를 참조하십시오.

cmake -DVENDOR=ti -DBOARD=cc3220_launchpad -DCOMPILER=arm-ti -S . -B build-directory -G Ninja

Or:

cmake -DVENDOR=ti -DBOARD=cc3220_launchpad -DCOMPILER=arm-ti -S . -B build-directory -G "MinGW Makefiles"

정규 표현식 ${VENDOR}.*${BOARD}.*는 일치하는 보드를 검색하는 데 사용되므로 VENDORBOARD 옵션에 대해 공급업체 및 보드의 전체 이름을 사용할 필요가 없습니다. 일치하는 항목이 하나만 있는 경우 이름의 일부만 사용해도 됩니다. 예를 들어, 다음 명령은 동일한 소스에서 동일한 빌드 파일을 생성합니다.

cmake -DVENDOR=ti -DCOMPILER=arm-ti -S . -B build-directory
cmake -DBOARD=cc3220 -DCOMPILER=arm-ti -S . -B build-directory
cmake -DVENDOR=t -DBOARD=cc -DCOMPILER=arm-ti -S . -B build-directory

다음을 사용할 수 있습니다. CMAKE_TOOLCHAIN_FILE 기본 디렉터리에 없는 툴체인 파일을 사용하려면 옵션을 선택합니다. cmake/toolchains. 예:

cmake -DBOARD=cc3220 -DCMAKE_TOOLCHAIN_FILE='/path/to/toolchain_file.cmake' -S . -B build-directory

툴체인 파일이 컴파일러의 절대 경로를 사용하지 않고 컴파일러를 PATH 환경 변수, CMake 에서 찾을 수 없습니다. 이 모든 것이 CMake 도구체인 파일을 찾으면 AFR_TOOLCHAIN_PATH 옵션. 이 옵션은 지정된 툴체인 디렉터리 경로와 툴체인의 하위 폴더를 bin. 예:

cmake -DBOARD=cc3220 -DCMAKE_TOOLCHAIN_FILE='/path/to/toolchain_file.cmake' -DAFR_TOOLCHAIN_PATH='/path/to/toolchain/' -S . -B build-directory

디버깅을 활성화하려면 CMAKE_BUILD_TYPE 까지 debug. 이 옵션을 활성화하면 CMake 컴파일 옵션에 디버그 플래그를 추가하고 FreeRTOS 디버그 기호.

# Build with debug symbols cmake -DBOARD=cc3220 -DCOMPILER=arm-ti -DCMAKE_BUILD_TYPE=debug -S . -B build-directory

CMAKE_BUILD_TYPErelease로 설정하여 컴파일 옵션에 최적화 플래그를 추가할 수도 있습니다.

빌드 파일 생성(CMake GUI)

다음을 사용할 수 있습니다. CMake 생성할 GUI FreeRTOS 파일을 빌드합니다.

를 사용하여 빌드 파일을 생성하려면 CMake GUI(개시 지침)

  1. 명령줄에서 cmake-gui를 실행하여 GUI를 시작합니다.

  2. Browse Source(소스 찾아보기)를 선택하고 소스 입력을 지정한 다음 Browse Build(빌드 찾아보기)를 선택하고 빌드 출력을 지정합니다.

  3. 구성을 선택하고 Specify the build generator for this project(이 프로젝트에 대한 빌드 생성기 지정)에서 생성된 빌드 파일을 빌드하는 데 사용할 빌드 시스템을 찾아서 선택합니다. 팝업 창이 보이지 않으면 기존 빌드 디렉터리를 재사용하는 것일 수 있습니다. 이 경우 CMake 캐시를 캐시 삭제 에서 파일 메뉴.

  4. Specify toolchain file for cross-compiling(교차 컴파일을 위한 도구 체인 파일 지정)을 선택하고 다음을 선택합니다.

  5. 도구 체인 파일(예: freertos/tools/cmake/toolchains/arm-ti.cmake)을 선택하고 완료를 선택합니다.

    FreeRTOS의 기본 구성은 이동식 계층 대상을 제공하지 않는 템플릿 보드입니다. 그 결과, 메시지가 표시된 창이 나타납니다. .

    참고

    다음 오류가 발생하는 경우

    CMake Error at tools/cmake/toolchains/find_compiler.cmake:23 (message): Compiler not found, you can specify search path with AFR_TOOLCHAIN_PATH.

    컴파일러가 PATH 환경 변수에 없는 것입니다. 다음을 설정할 수 있습니다. AFR_TOOLCHAIN_PATH GUI의 변수에서 CMake 에서 컴파일러를 설치했습니다. AFR_TOOLCHAIN_PATH 변수가 보이지 않으면 Add Entry(항목 추가)를 선택합니다. 팝업창에서 이름, 유형 AFR_TOOLCHAIN_PATH. 아래 컴파일러 경로 컴파일러의 경로를 입력합니다. 예를 들어, C:/toolchains/arm-none-eabi-gcc.

  6. GUI는 이제 다음과 같아야 합니다.

    AFR_BOARD를 선택하고 보드를 선택한 다음 구성을 다시 선택합니다.

  7. 선택 생성. CMake 는 빌드 시스템 파일(예: makefiles 또는 닌자 파일)을 생성하며 이러한 파일은 첫 번째 단계에서 지정한 빌드 디렉터리에 나타납니다. 다음 단원의 지침에 따라 이진 이미지를 생성합니다.

생성된 빌드 파일에서 FreeRTOS 빌드

네이티브 빌드 시스템을 사용하여 빌드

출력 바이너리 디렉터리에서 빌드 시스템 명령을 호출하여 네이티브 빌드 시스템으로 FreeRTOS를 빌드할 수 있습니다.

예를 들어, 빌드 파일 출력 디렉터리가 <build_dir>이고 네이티브 빌드 시스템으로 Make를 사용하는 경우 다음 명령을 실행하세요.

cd <build_dir> make -j4

와(과) 건물 CMake

또한 다음을 사용할 수 있습니다. CMake 명령줄 도구를 사용하여 FreeRTOS. CMake 는 네이티브 빌드 시스템을 호출하기 위한 추상화 계층을 제공합니다. 다음 예를 참조하십시오.

cmake --build build_dir

다음은 기타 일반적인 용도입니다. CMake 명령줄 도구의 빌드 모드:

# Take advantage of CPU cores. cmake --build build_dir --parallel 8
# Build specific targets. cmake --build build_dir --target afr_kernel
# Clean first, then build. cmake --build build_dir --clean-first

에 대한 자세한 내용은 CMake 빌드 모드, 참조 C문서화.