

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menggunakan CMake dengan FreeRTOS
<a name="getting-started-cmake"></a>

**penting**  <a name="deprecation-message-general"></a>
Halaman ini mengacu pada repositori Amazon-Freertos yang tidak digunakan lagi. Kami menyarankan Anda [mulai di sini](freertos-getting-started-modular.md) ketika Anda membuat proyek baru. Jika Anda sudah memiliki proyek FreeRTOS yang sudah ada berdasarkan repositori Amazon-Freertos yang sekarang tidak digunakan lagi, lihat. [Panduan Migrasi Repositori Github Amazon-freertos](github-repo-migration.md)

Anda dapat menggunakan CMake untuk menghasilkan file build proyek dari kode sumber aplikasi FreeRTOS, dan untuk membangun dan menjalankan kode sumber.

Anda juga dapat menggunakan IDE untuk mengedit, men-debug, mengkompilasi, mem-flash, dan menjalankan kode pada perangkat yang memenuhi syarat Freertos. Setiap panduan Memulai khusus papan mencakup instruksi untuk menyiapkan IDE untuk platform tertentu. Jika Anda lebih suka bekerja tanpa IDE, Anda dapat menggunakan alat pengeditan dan debugging kode pihak ketiga lainnya untuk mengembangkan dan men-debug kode Anda, dan kemudian gunakan CMake untuk membangun dan menjalankan aplikasi.

Dukungan papan berikut CMake:
+ Espressif ESP32 - C DevKit
+ Espressif ESP-WROVER-KIT
+ Kit Konektivitas XMC4800 IoT Infineon
+ Kit Pemula Marvell MW320 AWS IoT 
+ Kit Pemula Marvell MW322 AWS IoT 
+ Bundel MZEF Keingintahuan PIC32 Microchip
+ Kit Pengembangan Nordik n RF52840 DK
+ STMicroelectronicsSTM32Kit Penemuan L4 IoT Node
+ Texas Instrumen CC3220 SF-LAUNCHXL
+ Simulator Microsoft Windows

Lihat topik di bawah ini untuk informasi lebih lanjut tentang penggunaan CMake dengan FreeRTOS.

**Topics**
+ [Prasyarat](#building-cmake-prereqs)
+ [Mengembangkan aplikasi FreeRTOS dengan editor kode pihak ketiga dan alat debugging](#developing-third-party)
+ [Membangun FreeRTOS dengan CMake](#building-cmake)

## Prasyarat
<a name="building-cmake-prereqs"></a>

Pastikan mesin host Anda memenuhi prasyarat berikut sebelum melanjutkan:
+ Rantai alat kompilasi perangkat Anda harus mendukung sistem operasi mesin. CMake mendukung semua versi Windows, macOS, dan Linux

  Subsistem Windows untuk Linux (WSL) tidak didukung. Gunakan asli CMake pada mesin Windows.
+ Anda harus menginstal CMake versi 3.13 atau lebih tinggi.

  Anda dapat mengunduh distribusi biner CMake dari [CMake.org](https://cmake.org/download/).
**catatan**  
Jika Anda mengunduh distribusi biner CMake, pastikan Anda menambahkan CMake executable ke variabel lingkungan PATH sebelum Anda menggunakan CMake from command line.

  Anda juga dapat mengunduh dan menginstal CMake menggunakan pengelola paket, seperti [homebrew](https://brew.sh/) di macOS, [dan](https://scoop.sh/) scoop [atau](https://chocolatey.org/) chocolatey di Windows.
**catatan**  
Versi CMake paket yang disediakan di manajer paket untuk banyak distribusi Linux adalah out-of-date. Jika manajer paket distribusi Anda tidak menyediakan versi terbaru CMake, Anda dapat mencoba manajer paket alternatif, seperti `linuxbrew` atau`nix`.
+ Anda harus memiliki sistem build asli yang kompatibel.

  CMake dapat menargetkan banyak sistem build asli, termasuk [GNU Make](https://www.gnu.org/software/make/) atau [Ninja](https://github.com/ninja-build/ninja/releases). Baik Make dan Ninja dapat diinstal dengan manajer paket di Linux, macOS dan Windows. Jika Anda menggunakan Make di Windows, Anda dapat menginstal versi mandiri dari [Equation](http://www.equation.com/servlet/equation.cmd?fa=make), atau Anda dapat menginstal [MinGW](https://sourceforge.net/projects/mingw-w64/files/), yang dibuat bundel.
**catatan**  
Make executable di MinGW disebut`mingw32-make.exe`, bukan. `make.exe`

  Kami menyarankan Anda menggunakan Ninja, karena lebih cepat daripada Make dan juga menyediakan dukungan asli untuk semua sistem operasi desktop.

## Mengembangkan aplikasi FreeRTOS dengan editor kode pihak ketiga dan alat debugging
<a name="developing-third-party"></a>

Anda dapat menggunakan editor kode dan ekstensi debugging atau alat debugging pihak ketiga untuk mengembangkan aplikasi untuk FreeRTOS.

Jika, misalnya, Anda menggunakan [Visual Studio Code sebagai editor kode](https://code.visualstudio.com/) Anda, Anda dapat menginstal ekstensi [Cortex-Debug](https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug) VS Code sebagai debugger. Ketika Anda selesai mengembangkan aplikasi Anda, Anda dapat memanggil alat CMake baris perintah untuk membangun proyek Anda dari dalam VS Code. Untuk informasi selengkapnya tentang penggunaan CMake untuk membangun aplikasi FreerTOS, lihat. [Membangun FreeRTOS dengan CMake](#building-cmake)

Untuk debugging, Anda dapat memberikan VS Code dengan konfigurasi debug yang mirip dengan berikut ini:

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

## Membangun FreeRTOS dengan CMake
<a name="building-cmake"></a>

CMake menargetkan sistem operasi host Anda sebagai sistem target secara default. Untuk menggunakannya untuk kompilasi silang, CMake memerlukan file toolchain, yang menentukan kompiler yang ingin Anda gunakan. Di FreeRTOS, kami menyediakan file toolchain default di. `freertos/tools/cmake/toolchains` Cara menyediakan file ini CMake tergantung pada apakah Anda menggunakan antarmuka baris CMake perintah atau GUI. Untuk lebih jelasnya, ikuti [Menghasilkan file build (CMake alat baris perintah)](#cmake-gen-cli) petunjuk di bawah ini. Untuk informasi selengkapnya tentang kompilasi silang CMake, lihat [CrossCompiling](https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/CrossCompiling)di wiki resmi CMake .

**Membangun proyek CMake berbasis**

1. Jalankan CMake untuk menghasilkan file build untuk sistem build asli, seperti Make atau Ninja.

   Anda dapat menggunakan [alat CMake baris perintah](https://cmake.org/cmake/help/latest/manual/cmake.1.html) atau [CMake GUI](https://cmake.org/cmake/help/latest/manual/cmake-gui.1.html) untuk membuat file build untuk sistem build asli Anda.

   Untuk informasi tentang membuat file build FreeRTOS, lihat dan. [Menghasilkan file build (CMake alat baris perintah)](#cmake-gen-cli) [Menghasilkan file build (CMake GUI)](#cmake-gen-gui)

1. Panggil sistem build asli untuk membuat proyek menjadi executable.

   Untuk informasi tentang membuat file build FreeRTOS, lihat. [Membangun FreeRTOS dari file build yang dihasilkan](#cmake-build)

### Menghasilkan file build (CMake alat baris perintah)
<a name="cmake-gen-cli"></a>

Anda dapat menggunakan alat CMake baris perintah (cmake) untuk menghasilkan file build untuk FreeRTOS. Untuk menghasilkan file build, Anda perlu menentukan papan target, kompiler, dan lokasi kode sumber dan direktori build. 

Anda dapat menggunakan opsi berikut untuk cmake:
+ `-DVENDOR`- Menentukan papan target.
+ `-DCOMPILER`- Menentukan compiler.
+ `-S`— Menentukan lokasi kode sumber.
+ `-B`— Menentukan lokasi file build yang dihasilkan.

 

**catatan**  
Kompiler harus dalam `PATH` variabel sistem, atau Anda harus menentukan lokasi kompiler.

Misalnya, jika vendornya adalah Texas Instruments, dan papannya adalah CC3220 Launchpad, dan kompilernya adalah GCC untuk ARM, Anda dapat mengeluarkan perintah berikut untuk membangun file sumber dari direktori saat ini ke direktori bernama: `build-directory`

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

**catatan**  
Jika Anda menggunakan Windows, Anda harus menentukan sistem build asli karena CMake menggunakan Visual Studio secara default. Contoh:  

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

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

Ekspresi reguler `${VENDOR}.*` dan `${BOARD}.*` digunakan untuk mencari papan yang cocok, jadi Anda tidak perlu menggunakan nama lengkap vendor dan papan untuk `BOARD` opsi `VENDOR` dan opsi. Nama sebagian berfungsi, asalkan ada satu kecocokan. Misalnya, perintah berikut menghasilkan file build yang sama dari sumber yang sama:

```
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
```

Anda dapat menggunakan `CMAKE_TOOLCHAIN_FILE` opsi jika Anda ingin menggunakan file toolchain yang tidak terletak di direktori `cmake/toolchains` default. Contoh:

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

Jika file toolchain tidak menggunakan jalur absolut untuk kompiler Anda, dan Anda tidak menambahkan kompiler Anda ke variabel `PATH` lingkungan, CMake mungkin tidak dapat menemukannya. Untuk memastikan bahwa CMake menemukan file toolchain Anda, Anda dapat menggunakan `AFR_TOOLCHAIN_PATH` opsi. Opsi ini mencari jalur direktori toolchain yang ditentukan dan subfolder toolchain di bawahnya. `bin` Contoh:

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

Untuk mengaktifkan debugging, atur `CMAKE_BUILD_TYPE` ke`debug`. Dengan opsi ini diaktifkan, CMake menambahkan flag debug ke opsi kompilasi, dan membangun FreeRTOS dengan simbol debug.

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

Anda juga dapat mengatur `CMAKE_BUILD_TYPE` to `release` untuk menambahkan flag optimasi ke opsi kompilasi.

### Menghasilkan file build (CMake GUI)
<a name="cmake-gen-gui"></a>

Anda dapat menggunakan CMake GUI untuk menghasilkan file build FreeRTOS.

**Untuk menghasilkan file build dengan CMake GUI**

1. Dari baris perintah, masalah `cmake-gui` untuk memulai GUI.

1. Pilih **Browse Source** dan tentukan input sumber, lalu pilih **Browse Build** dan tentukan output build.  
![\[CMake jendela dengan bidang input untuk lokasi kode sumber dan membangun lokasi binari, bersama dengan opsi untuk menelusuri sumber, menelusuri direktori build, mencari, menambah atau menghapus entri, dan melihat opsi yang dikelompokkan atau lanjutan.\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/cmake-gui1.png)

1. Pilih **Konfigurasi**, dan di bawah **Tentukan generator build untuk proyek ini**, temukan dan pilih sistem build yang ingin Anda gunakan untuk membangun file build yang dihasilkan. jika Anda tidak melihat jendela pop up, Anda mungkin menggunakan kembali direktori build yang ada. Dalam hal ini, hapus CMake cache dengan memilih **Hapus Cache** dari menu **File**.  
![\[CMakeSiapkan dialog dengan opsi untuk menentukan generator untuk proyek sebagai Unix Makefiles, dan tentukan file toolchain untuk kompilasi silang.\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/cmake-gui2.png)

1. **Pilih **Tentukan file toolchain untuk kompilasi silang**, lalu pilih Berikutnya.**

1. Pilih file toolchain (misalnya,`freertos/tools/cmake/toolchains/arm-ti.cmake`), dan kemudian pilih **Selesai**.

   Konfigurasi default untuk FreeRTOS adalah papan templat, yang tidak menyediakan target lapisan portabel apa pun. Akibatnya, sebuah jendela muncul dengan pesanError in configuration process.
**catatan**  
Jika Anda melihat kesalahan berikut:  

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

   Ini berarti kompiler tidak ada dalam variabel `PATH` lingkungan Anda. Anda dapat mengatur `AFR_TOOLCHAIN_PATH` variabel dalam GUI untuk memberi tahu CMake di mana Anda menginstal kompiler Anda. Jika Anda tidak melihat `AFR_TOOLCHAIN_PATH` variabelnya, pilih **Tambah Entri**. Di jendela pop up, di bawah **Nama**, ketik**AFR\$1TOOLCHAIN\$1PATH**. Di bawah **Compiler Path** ketik jalur ke kompiler Anda. misalnya,. `C:/toolchains/arm-none-eabi-gcc`

1. GUI sekarang akan terlihat seperti ini:  
![\[CMake jendela konfigurasi untuk membangun FreeRTOS dengan papan vendor dipilih, modul diaktifkan, dan jalur build ditentukan.\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/cmake-gui3.png)

   **Pilih **AFR\$1BOARD**, pilih papan Anda, lalu pilih Konfigurasi lagi.**

1. Pilih **Hasilkan**. CMake menghasilkan file sistem build (misalnya, file makefiles atau ninja), dan file-file ini muncul di direktori build yang Anda tentukan pada langkah pertama. Ikuti petunjuk di bagian selanjutnya untuk menghasilkan gambar biner.

### Membangun FreeRTOS dari file build yang dihasilkan
<a name="cmake-build"></a>

#### Membangun dengan sistem build asli
<a name="gsg-cmake-native"></a>

Anda dapat membangun FreeRTOS dengan sistem build asli dengan memanggil perintah sistem build dari direktori binari keluaran.

Misalnya, jika direktori keluaran file build Anda`<build_dir>`, dan Anda menggunakan Make sebagai sistem build asli, jalankan perintah berikut:

```
cd <build_dir>
make -j4
```

#### Membangun dengan CMake
<a name="gsg-cmake-build"></a>

Anda juga dapat menggunakan alat CMake baris perintah untuk membangun FreeRTOS. CMake menyediakan lapisan abstraksi untuk memanggil sistem build asli. Contoh:

```
cmake --build build_dir
```

Berikut adalah beberapa kegunaan umum lainnya dari CMake mode build tool baris perintah:

```
# 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
```

Untuk informasi selengkapnya tentang mode CMake build, lihat [CMake dokumentasi](https://cmake.org/cmake/help/latest/manual/cmake.1.html#build-tool-mode).