

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

# Memulai dengan MW32x AWS IoT Kit Pemula
<a name="getting_started_mw32x"></a>

**penting**  <a name="deprecation-message"></a>
Integrasi referensi ini di-host di Amazon-FreeRTOS repositori 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 ada berdasarkan repositori yang sekarang tidak digunakan lagi, Amazon-FreeRTOS lihat. [Amazon-FreeRTOS Panduan Migrasi Repositori Github](github-repo-migration.md)

 AWS IoT Starter Kit adalah kit pengembangan berdasarkan 88MW320/88MW322, Mikrokontroler Cortex M4 terintegrasi terbaru dari NXP, yang mengintegrasikan 802. 11b/g/n Wi-Fi pada chip mikrokontroler tunggal. Kit pengembangan bersertifikat FCC. Untuk informasi selengkapnya, lihat [Katalog Perangkat AWS Mitra](https://devices.amazonaws.com/detail/a3G0h000000OaRnEAK/MW320-AWS-IoT-Starter-Kit) untuk membelinya dari mitra kami. 88MW320/88MW322 Modul ini juga bersertifikat FCC dan tersedia untuk kustomisasi dan penjualan volume.

Panduan memulai ini menunjukkan kepada Anda cara mengkompilasi silang aplikasi Anda bersama dengan SDK di komputer host, lalu memuat file biner yang dihasilkan ke papan menggunakan alat yang disediakan dengan SDK. Ketika aplikasi mulai berjalan di papan tulis, Anda dapat men-debug atau berinteraksi dengannya dari konsol Serial di komputer host Anda.

Ubuntu 16.04 adalah platform host yang didukung untuk pengembangan dan debugging. Anda mungkin dapat menggunakan platform lain, tetapi ini tidak didukung secara resmi. Anda harus memiliki izin untuk menginstal perangkat lunak pada platform host. Alat eksternal berikut yang diperlukan untuk membangun SDK:
+ Platform host Ubuntu 16.04
+ Rantai alat ARM versi 4\_9\_2015q3
+ Eclipse 4.9.0 IDE

Rantai alat ARM diperlukan untuk mengkompilasi silang aplikasi Anda dan SDK. SDK memanfaatkan versi terbaru dari rantai alat untuk mengoptimalkan jejak gambar dan menyesuaikan lebih banyak fungsionalitas ke dalam ruang yang lebih sedikit. Panduan ini mengasumsikan bahwa Anda menggunakan toolchain versi 4\_9\_2015q3. Menggunakan versi toolchain yang lebih lama tidak disarankan. Kit pengembangan sudah di-flash dengan firmware proyek Demo Mikrokontroler Nirkabel.

**Topics**
+ [Menyiapkan perangkat keras Anda](#gsg-mw32x-hardware)
+ [Menyiapkan lingkungan pengembangan](#gsg-mw32x-dev-env)
+ [Bangun dan jalankan proyek demo FreeRTOS](#gsg-mw32x-build-and-run)
+ [Debugging](#gsg-mw32x-debugging)
+ [Pemecahan masalah](#gsg-mw32x-troubleshooting)

## Menyiapkan perangkat keras Anda
<a name="gsg-mw32x-hardware"></a>

Hubungkan papan MW32x ke laptop Anda dengan menggunakan kabel mini-USB ke USB. Hubungkan kabel mini-USB ke satu-satunya konektor mini-USB yang ada di papan tulis. Anda tidak perlu jumper change. 

Jika papan terhubung ke laptop atau komputer desktop, Anda tidak memerlukan catu daya eksternal.

Koneksi USB ini menyediakan yang berikut:
+ Akses konsol ke papan tulis. tty/com Port virtual terdaftar dengan host pengembangan yang dapat digunakan untuk mengakses konsol.
+ Akses JTAG ke papan. Ini dapat digunakan untuk memuat atau membongkar gambar firmware ke dalam RAM atau flash papan, atau untuk tujuan debugging.

## Menyiapkan lingkungan pengembangan
<a name="gsg-mw32x-dev-env"></a>

Untuk tujuan pengembangan, persyaratan minimum adalah rantai alat ARM dan alat yang dibundel dengan SDK. Bagian berikut memberikan detail tentang pengaturan toolchain ARM. 

### Rantai Alat GNU
<a name="gsg-mw32x-dev-env-gnu"></a>

SDK secara resmi mendukung toolchain GCC Compiler. Toolchain cross-compiler untuk GNU ARM tersedia di GNU Arm Embedded Toolchain [4.9-2015-q3-update](https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q3-update).

Sistem build dikonfigurasi untuk menggunakan toolchain GNU secara default. Makefiles berasumsi bahwa binari toolchain kompiler GNU tersedia di PATH pengguna dan dapat dipanggil dari Makefiles. Makefiles juga mengasumsikan bahwa nama file dari binari toolchain GNU diawali dengan. `arm-none-eabi-`

Toolchain GCC dapat digunakan dengan GDB untuk men-debug dengan OpenOCD (dibundel dengan SDK). Ini menyediakan perangkat lunak yang berinteraksi dengan JTAG.

Kami merekomendasikan versi 4\_9\_2015q3 dari toolchain gcc-arm-embedded.

### Prosedur Pengaturan Rantai Alat Linux
<a name="gsg-mw32x-dev-env-linux"></a>

Ikuti langkah-langkah ini untuk mengatur toolchain GCC di Linux.

1. Unduh tarball toolchain yang tersedia di [GNU Arm Embedded](https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q3-update) Toolchain 4.9-2015-q3-update. File tersebut adalah`gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2`.

1. Salin file ke direktori pilihan Anda. Pastikan tidak ada spasi dalam nama direktori.

1. Gunakan perintah berikut untuk menghapus file.

   ```
   tar –vxf {{filename}}
   ```

1. Tambahkan jalur rantai alat yang diinstal ke PATH sistem. Misalnya, tambahkan baris berikut di akhir `.profile` file yang terletak di `/home/{{user-name}}` direktori.

   ```
   PATH=$PATH:{{path to gcc-arm-none-eabit-4_9_2015_q3/bin}}
   ```

**catatan**  
Distribusi Ubuntu yang lebih baru mungkin datang dengan versi Debian dari GCC Cross Compiler. Jika demikian, Anda harus menghapus Cross Compiler asli dan ikuti prosedur pengaturan di atas.

### Bekerja dengan host pengembangan Linux
<a name="gsg-mw32x-dev-env-linux-host"></a>

Distribusi desktop Linux modern seperti Ubuntu atau Fedora dapat digunakan. Namun, kami menyarankan Anda meningkatkan ke rilis terbaru. Langkah-langkah berikut telah diverifikasi untuk bekerja di Ubuntu 16.04 dan berasumsi bahwa Anda menggunakan versi itu.

#### Menginstal Paket
<a name="gsg-mw32x-dev-env-linux-host-pkgs"></a>

SDK menyertakan skrip untuk mengaktifkan pengaturan cepat lingkungan pengembangan Anda pada mesin Linux yang baru disiapkan. Script mencoba mendeteksi secara otomatis jenis mesin dan menginstal perangkat lunak yang sesuai, termasuk pustaka C, pustaka USB, pustaka FTDI, ncurses, python, dan lateks. Di bagian ini, nama direktori generik `{{amzsdk_bundle-x.y.z}}` menunjukkan direktori root AWS SDK. Nama direktori sebenarnya mungkin berbeda. Anda harus memiliki hak akses root.
+ Arahkan ke `{{amzsdk_bundle-x.y.z/}}` direktori dan jalankan perintah ini.

  ```
  ./lib/third_party/mcu_vendor/marvell/WMSDK/mw320/sdk/tools/bin/installpkgs.sh
  ```

#### Menghindari sudo
<a name="gsg-mw32x-dev-env-linux-host-sudo"></a>

Dalam panduan ini, `flashprog` operasi menggunakan `flashprog.py` skrip untuk mem-flash NAND papan, seperti yang dijelaskan di bawah ini. Demikian pula, `ramload` operasi menggunakan `ramload.py` skrip untuk menyalin gambar firmware dari host langsung ke RAM mikrokontroler, tanpa mem-flash NAND.

Anda dapat mengkonfigurasi host pengembangan Linux Anda untuk melakukan `flashprog` dan `ramload` operasi tanpa memerlukan `sudo` perintah setiap kali. Untuk melakukan ini, jalankan perintah berikut.

```
./lib/third_party/mcu_vendor/marvell/WMSDK/mw320/sdk/tools/bin/perm_fix.sh
```

**catatan**  
Anda harus mengonfigurasi izin host pengembangan Linux Anda dengan cara ini untuk memastikan pengalaman Eclipse IDE yang lancar.

#### Menyiapkan Konsol Serial
<a name="gsg-mw32x-dev-env-linux-host-serial"></a>

Masukkan kabel USB ke slot USB host Linux. Ini memicu deteksi perangkat. Anda akan melihat pesan seperti berikut dalam `/var/log/messages` file, atau setelah menjalankan `dmesg` perintah.

```
Jan 6 20:00:51 localhost kernel: usb 4-2: new full speed USB device using uhci_hcd and address 127
Jan 6 20:00:51 localhost kernel: usb 4-2: configuration #1 chosen from 1 choice
Jan 6 20:00:51 localhost kernel: ftdi_sio 4-2:1.0: FTDI USB Serial Device converter detected
Jan 6 20:00:51 localhost kernel: ftdi_sio: Detected FT2232C
Jan 6 20:00:51 localhost kernel: usb 4-2: FTDI USB Serial Device converter now attached to ttyUSB0
Jan 6 20:00:51 localhost kernel: ftdi_sio 4-2:1.1: FTDI USB Serial Device converter detected
Jan 6 20:00:51 localhost kernel: ftdi_sio: Detected FT2232C
Jan 6 20:00:51 localhost kernel: usb 4-2: FTDI USB Serial Device converter now attached to ttyUSB1
```

Verifikasi bahwa dua perangkat ttyUSB telah dibuat. TtyUSB kedua adalah konsol serial. Pada contoh di atas, ini diberi nama “TTYUSB1". 

Dalam panduan ini, kami menggunakan minicom untuk melihat output konsol serial. Anda juga dapat menggunakan program serial lain seperti`putty`. Jalankan perintah berikut untuk menjalankan minicom dalam mode pengaturan.

```
minicom –s
```

Di minicom, arahkan ke **Serial Port Setup** dan tangkap pengaturan berikut.

```
| A - Serial Device : /dev/ttyUSB1
| B – Lockfile Location : /var/lock
| C - Callin Program :
| D - Callout Program :
| E - Bps/Par/Bits : 115200 8N1
| F – Hardware Flow Control : No
| G – Software Flow Control : No
```

Anda dapat menyimpan pengaturan ini di minicom untuk penggunaan masa depan. Jendela minicom sekarang menampilkan pesan dari konsol serial.

Pilih jendela konsol serial dan tekan tombol **Enter**. Ini menampilkan hash (\#) di layar. 

**catatan**  
Papan pengembangan termasuk perangkat silikon FTDI. Perangkat FTDI memperlihatkan dua antarmuka USB untuk host. Antarmuka pertama dikaitkan dengan fungsionalitas JTAG dari MCU dan antarmuka kedua dikaitkan dengan port UARtX fisik MCU.

#### Menginstal OpenOCD
<a name="gsg-mw32x-dev-env-linux-host-openocd"></a>

OpenOCD adalah perangkat lunak yang menyediakan debugging, pemrograman dalam sistem, dan pengujian pemindaian batas untuk perangkat target tertanam.

OpenOCD versi 0.9 diperlukan. Ini juga diperlukan untuk fungsionalitas Eclipse. Jika versi sebelumnya, seperti versi 0.7, diinstal pada host Linux Anda, hapus repositori itu dengan perintah yang sesuai untuk distribusi Linux yang saat ini Anda gunakan.

Jalankan perintah Linux standar untuk menginstal OpenOCD,

```
apt-get install openocd
```

Jika perintah di atas tidak menginstal versi 0.9 atau yang lebih baru, gunakan prosedur berikut untuk mengunduh dan mengkompilasi kode sumber openocd.

**Untuk menginstal OpenOCD**

1. Jalankan perintah berikut untuk menginstal libusb-1.0.

   ```
   sudo apt-get install libusb-1.0 
   ```

1. Unduh kode sumber openocd 0.9.0 dari. [http://openocd.org/](http://openocd.org/)

1. Ekstrak openocd dan arahkan ke direktori tempat Anda mengekstraknya.

1. Konfigurasikan openocd dengan perintah berikut.

   ```
   ./configure --enable-ftdi --enable-jlink
   ```

1. Jalankan utilitas make untuk mengkompilasi opencd.

   ```
   make install
   ```

### Menyiapkan Eclipse
<a name="gsg-mw32x-eclipse"></a>

**catatan**  
Bagian ini mengasumsikan bahwa Anda telah menyelesaikan langkah-langkah di [Menghindari sudo](#gsg-mw32x-dev-env-linux-host-sudo)

Eclipse adalah IDE pilihan untuk pengembangan aplikasi dan debugging. Ini menyediakan IDE yang kaya dan ramah pengguna dengan dukungan debugging terintegrasi, termasuk debugging sadar utas. Bagian ini menjelaskan pengaturan Eclipse umum untuk semua host pengembangan yang didukung.

**Untuk mengatur Eclipse**

1. Unduh dan instal Java Run Time Environment (JRE).

   Eclipse mengharuskan Anda menginstal JRE. Kami menyarankan Anda menginstal ini terlebih dahulu, meskipun dapat diinstal setelah Anda menginstal Eclipse. Versi JRE (32/64 bit) harus cocok dengan versi Eclipse (32/64 bit). Anda dapat mengunduh JRE dari [Java SE Runtime Environment 8 Downloads di situs](http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html) web Oracle.

1. Unduh dan instal “Eclipse IDE for C/C \+\+ Developers” dari. [http://www.eclipse.org](http://www.eclipse.org) Eclipse versi 4.9.0 atau yang lebih baru didukung. Instalasi hanya mengharuskan Anda untuk mengekstrak arsip yang diunduh. Anda menjalankan platform khusus Eclipse executable untuk memulai aplikasi. 

## Bangun dan jalankan proyek demo FreeRTOS
<a name="gsg-mw32x-build-and-run"></a>

Ada dua cara untuk menjalankan proyek demo FreeRTOS:
+ Gunakan baris perintah.
+ Gunakan Eclipse IDE.

Topik ini mencakup kedua opsi.

**Penyediaan**
+ Bergantung pada apakah Anda menggunakan aplikasi pengujian atau demo, atur data penyediaan di salah satu file berikut:
  + `./tests/common/include/aws_clientcredential.h` 
  + `./demos/common/include/aws_clientcredential.h` 

  Contoh:

  ```
  #define clientcredentialWIFI_SSID "{{Wi-Fi SSID}}"
  #define clientcredentialWIFI_PASSWORD "{{Wi-Fi password}}"
  #define clientcredentialWIFI_SECURITY "{{Wi-Fi security}}"
  ```
**catatan**  
Anda dapat memasukkan nilai Wi-Fi keamanan berikut:   
`eWiFiSecurityOpen`
`eWiFiSecurityWEP`
`eWiFiSecurityWPA`
`eWiFiSecurityWPA2`
SSID dan kata sandi harus dilampirkan dalam tanda kutip ganda.

**Bangun dan jalankan demo FreeRTOS menggunakan baris perintah**

1. Gunakan perintah berikut untuk mulai membangun aplikasi demo.

   ```
   cmake -DVENDOR=marvell -DBOARD=mw320 -DCOMPILER=arm-gcc -S .  -Bbuild -DAFR_ENABLE_TESTS=0
   ```

   Pastikan Anda mendapatkan output yang sama seperti yang ditunjukkan pada contoh berikut.  
![Output terminal perintah yang menunjukkan detail konfigurasi build FreeRTOS untuk papan mikrokontroler nirkabel Marvell mw300_rd.](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/mw32x-build-demo-app1.png)

1. Arahkan ke direktori build.

   ```
   cd build
   ```

1. Jalankan utilitas make untuk membangun aplikasi.

   ```
   make all -j4
   ```

   Pastikan Anda mendapatkan output yang sama seperti yang ditunjukkan pada gambar berikut:   
![Output terminal menunjukkan proses pembuatan file objek C dan menautkan ke pustaka statis dan dapat dieksekusi untuk demo. AWS](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/mw32x-build-demo-app2.png)

1. Gunakan perintah berikut untuk membangun aplikasi pengujian.

   ```
   cmake -DVENDOR=marvell -DBOARD=mw320 -DCOMPILER=arm-gcc -S .  -Bbuild -DAFR_ENABLE_TESTS=1
   cd build
   make all -j4
   ```

   Jalankan `cmake` perintah setiap kali Anda beralih antara `aws_demos project` dan`aws_tests project`.

1. Tulis gambar firmware ke flash papan pengembangan. Firmware akan dijalankan setelah papan pengembangan diatur ulang. Anda harus membangun SDK sebelum Anda mem-flash gambar ke mikrokontroler.

   1. Sebelum Anda mem-flash gambar firmware, siapkan flash papan pengembangan dengan komponen umum Layout dan Boot2. Gunakan perintah berikut.

      ```
      cd amzsdk_bundle-x.y.z
      ./vendors/marvell/WMSDK/mw320/sdk/tools/OpenOCD/flashprog.py -l ./vendors/marvell/WMSDK/mw320/sdk/tools/OpenOCD/mw300/layout.txt --boot2 ./vendors/marvell/WMSDK/mw320/boot2/bin/boot2.bin
      ```

      `flashprog`Perintah memulai yang berikut:
      + Layout - Utilitas flashprog pertama kali diinstruksikan untuk menulis tata letak ke flash. Tata letaknya mirip dengan informasi partisi untuk flash. Tata letak default terletak di`/lib/third_party/mcu_vendor/marvell/WMSDK/mw320/sdk/tools/OpenOCD/mw300/layout.txt`. 
      + Boot2 — Ini adalah boot-loader yang digunakan oleh WMSDK. `flashprog`Perintah juga menulis bootloader ke flash. Ini adalah tugas bootloader untuk memuat gambar firmware mikrokontroler setelah di-flash. Pastikan Anda mendapatkan output yang sama seperti yang ditunjukkan pada gambar di bawah ini.   
![Output dari perintah untuk mem-flash elemen Layout dan boot2.](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/mw32x-output-flash-layout.png)

   1. Firmware menggunakan Wi-Fi chipset untuk fungsinya, dan Wi-Fi chipset memiliki firmware sendiri yang juga harus ada dalam flash. Anda menggunakan `flashprog.py` utilitas untuk mem-flash Wi-Fi firmware dengan cara yang sama seperti yang Anda lakukan untuk mem-flash boot-loader Boot2 dan firmware MCU. Gunakan perintah berikut untuk mem-flash Wi-Fi firmware.

      ```
      cd amzsdk_bundle-x.y.z
      ./vendors/marvell/WMSDK/mw320/sdk/tools/OpenOCD/flashprog.py --wififw ./vendors/marvell/WMSDK/mw320/wifi-firmware/mw30x/mw30x_uapsta_W14.88.36.p135.bin
      ```

      Pastikan output perintah mirip dengan gambar di bawah ini.  
![Mem-flash firmware Wi-Fi](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/mw32x-flash-wifi-firmware.png)

   1.  Gunakan perintah berikut untuk mem-flash firmware MCU.

      ```
      cd amzsdk_bundle-x.y.z 
      ./vendors/marvell/WMSDK/mw320/sdk/tools/OpenOCD/flashprog.py --mcufw build/cmake/vendors/marvell/mw300_rd/aws_demos.bin -r
      ```

   1. Setel ulang papan. Anda akan melihat log untuk aplikasi demo.

   1. Untuk menjalankan aplikasi pengujian, flash `aws_tests.bin` biner yang terletak di direktori yang sama.

      ```
      cd amzsdk_bundle-x.y.z
      ./vendors/marvell/WMSDK/mw320/sdk/tools/OpenOCD/flashprog.py --mcufw build/cmake/vendors/marvell/mw300_rd/aws_tests.bin -r
      ```

      Output perintah Anda harus mirip dengan yang ditunjukkan pada gambar di bawah ini.  
![Mem-flash Firmware MCU](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/mw32x-flash-mcu-firmware.png)

1. Setelah Anda mem-flash firmware dan mengatur ulang papan, aplikasi demo akan dimulai seperti yang ditunjukkan pada gambar di bawah ini.  
![Mulai Aplikasi Demo](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/mw32x-demo-app-start.png)

1. (Opsional) Sebagai metode alternatif untuk menguji gambar Anda, gunakan utilitas flashprog untuk menyalin gambar mikrokontroler dari host langsung ke RAM mikrokontroler. Gambar tidak disalin dalam flash, sehingga akan hilang setelah Anda me-reboot mikrokontroler.

   Memuat gambar firmware ke dalam SRAM adalah operasi yang lebih cepat karena segera meluncurkan file eksekusi. Metode ini digunakan terutama untuk pengembangan berulang.

   Gunakan perintah berikut untuk memuat firmware ke dalam SRAM.

   ```
   cd amzsdk_bundle-x.y.z
   ./lib/third_party/mcu_vendor/marvell/WMSDK/mw320/sdk/tools/OpenOCD/ramload.py build/cmake/vendors/marvell/mw300_rd/aws_demos.axf
   ```

   Output perintah ditunjukkan pada gambar di bawah ini.  
![Memuat gambar firmware ke dalam SRAM](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/mw32x-load-firmware-sram.png)

   Ketika eksekusi perintah selesai, Anda akan melihat log dari aplikasi demo.

**Bangun dan jalankan demo FreeRTOS menggunakan Eclipse IDE**

1. Sebelum Anda mengatur ruang kerja Eclipse, Anda harus menjalankan perintah. `cmake`

   Jalankan perintah berikut untuk bekerja dengan proyek `aws_demos` Eclipse.

   ```
   cmake -DVENDOR=marvell -DBOARD=mw320 -DCOMPILER=arm-gcc -S .  -Bbuild -DAFR_ENABLE_TESTS=0
   ```

   Jalankan perintah berikut untuk bekerja dengan proyek `aws_tests` Eclipse.

   ```
   cmake -DVENDOR=marvell -DBOARD=mw320 -DCOMPILER=arm-gcc -S .  -Bbuild -DAFR_ENABLE_TESTS=1
   ```
**Tip**  
Jalankan `cmake` perintah setiap kali Anda beralih antara `aws_demos` proyek dan `aws_tests` proyek.

1. Buka Eclipse dan, ketika diminta, pilih ruang kerja Eclipse Anda seperti yang ditunjukkan pada gambar di bawah ini.  
![Memilih ruang kerja Eclipse](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/mw32x-select-eclipse-workspace.png)

1. Pilih opsi untuk membuat **Proyek Makefile: dengan Kode yang Ada seperti yang** ditunjukkan pada gambar di bawah ini.  
![Membuat proyek Makefile dengan kode yang ada](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/mw32x-create-makefile-project.png)

1. Pilih **Browse**, tentukan direktori kode yang ada, lalu pilih **Selesai**.  
![Browsing untuk menemukan kode yang ada](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/mw32x-locate-existing-code.png)

1. Di panel navigasi, pilih **aws\_demos** di project explorer. Right-click **aws\_demos** **untuk membuka menu, lalu pilih Build.**  
![Membangun proyek aws_demos](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/mw32x-building-aws_demos.png)

   Jika build berhasil, itu menghasilkan `build/cmake/vendors/marvell/mw300_rd/aws_demos.bin` file.

1. Gunakan alat baris perintah untuk mem-flash file Layout (`layout.txt`), biner Boot2 (`boot2.bin`), biner firmware MCU (`aws_demos.bin`), dan firmware. Wi-Fi 

   1. Sebelum Anda mem-flash gambar firmware, siapkan flash papan pengembangan dengan komponen umum, Layout dan Boot2. Gunakan perintah berikut.

      ```
      cd amzsdk_bundle-x.y.z
      ./vendors/marvell/WMSDK/mw320/sdk/tools/OpenOCD/flashprog.py -l ./vendors/marvell/WMSDK/mw320/sdk/tools/OpenOCD/mw300/layout.txt --boot2 ./vendors/marvell/WMSDK/mw320/boot2/bin/boot2.bin
      ```

      `flashprog`Perintah memulai yang berikut:
      + Layout - Utilitas flashprog pertama kali diinstruksikan untuk menulis tata letak ke flash. Tata letaknya mirip dengan informasi partisi untuk flash. Tata letak default terletak di`/lib/third_party/mcu_vendor/marvell/WMSDK/mw320/sdk/tools/OpenOCD/mw300/layout.txt`. 
      + Boot2 — Ini adalah boot-loader yang digunakan oleh WMSDK. Perintah flashprog juga menulis bootloader ke flash. Ini adalah tugas bootloader untuk memuat gambar firmware mikrokontroler setelah di-flash. Pastikan Anda mendapatkan output yang sama seperti yang ditunjukkan pada gambar di bawah ini.   
![Output dari perintah untuk mem-flash elemen Layout dan boot2](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/mw32x-output-flash-layout.png)

   1. Firmware menggunakan Wi-Fi chipset untuk fungsinya, dan Wi-Fi chipset memiliki firmware sendiri yang juga harus ada dalam flash. Anda menggunakan `flashprog.py` utilitas untuk mem-flash Wi-Fi firmware dengan cara yang sama seperti yang Anda lakukan untuk mem-flash boot-loader boot2 dan firmware MCU. Gunakan perintah berikut untuk mem-flash Wi-Fi firmware.

      ```
      cd amzsdk_bundle-x.y.z
      ./vendors/marvell/WMSDK/mw320/sdk/tools/OpenOCD/flashprog.py --wififw ./vendors/marvell/WMSDK/mw320/wifi-firmware/mw30x/mw30x_uapsta_W14.88.36.p135.bin
      ```

      Pastikan output perintah mirip dengan gambar di bawah ini.  
![Mem-flash firmware Wi-Fi](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/mw32x-flash-wifi-firmware.png)

   1.  Gunakan perintah berikut untuk mem-flash firmware MCU.

      ```
      cd amzsdk_bundle-x.y.z
      ./vendors/marvell/WMSDK/mw320/sdk/tools/OpenOCD/flashprog.py --mcufw build/cmake/vendors/marvell/mw300_rd/aws_demos.bin -r
      ```

   1. Setel ulang papan. Anda akan melihat log untuk aplikasi demo.

   1. Untuk menjalankan aplikasi pengujian, flash `aws_tests.bin` biner yang terletak di direktori yang sama.

      ```
      cd amzsdk_bundle-x.y.z
      ./vendors/marvell/WMSDK/mw320/sdk/tools/OpenOCD/flashprog.py --mcufw build/cmake/vendors/marvell/mw300_rd/aws_tests.bin -r
      ```

      Output perintah Anda harus mirip dengan yang ditunjukkan pada gambar di bawah ini.  
![Mem-flash Firmware MCU](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/mw32x-flash-mcu-firmware.png)

## Debugging
<a name="gsg-mw32x-debugging"></a>
+ Mulai Eclipse dan pilih **Bantuan** dan kemudian pilih **Instal perangkat lunak baru**. Di menu **Bekerja dengan**, pilih **Semua Situs yang Tersedia**. Masukkan teks filter`GDB Hardware`. Pilih opsi **C/C\+\+ GDB Hardware Debugging** dan instal plugin.  
![Tangkapan layar jendela Instal di antarmuka perangkat lunak, menampilkan item Debugging Perangkat Keras GDB yang dipilih untuk instalasi di bawah kategori perangkat keras gdb.](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/mw32x-debugging.png)

## Pemecahan masalah
<a name="gsg-mw32x-troubleshooting"></a>

**Masalah jaringan**  
Periksa kredensyal jaringan Anda. Lihat “Penyediaan” di. [Bangun dan jalankan proyek demo FreeRTOS](#gsg-mw32x-build-and-run)

**Mengaktifkan log tambahan**  
+ Aktifkan log khusus papan.

  Aktifkan panggilan ke `wmstdio_init(UART0_ID, 0)` dalam fungsi `prvMiscInitialization` dalam `main.c` file untuk tes atau demo.
+ Mengaktifkan log Wi-Fi 

  Aktifkan makro `CONFIG_WLCMGR_DEBUG` dalam `{{freertos}}/vendors/marvell/WMSDK/mw320/sdk/src/incl/autoconf.h` file. 

**Menggunakan GDB**  
Kami menyarankan Anda menggunakan file `arm-none-eabi-gdb` dan `gdb` perintah yang dikemas bersama dengan SDK. Buka direktori tersebut.  

```
cd {{freertos}}/lib/third_party/mcu_vendor/marvell/WMSDK/mw320
```
Jalankan perintah berikut (pada satu baris) untuk terhubung ke GDB.  

```
arm-none-eabi-gdb -x ./sdk/tools/OpenOCD/gdbinit ../../../../../../build/cmake/vendors/marvell/mw300 _rd/aws_demos.axf
```