

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

# Xilinx Avnet MicroZed Industrial IoT Kit 시작하기
<a name="getting_started_xilinx"></a>

**중요**  <a name="deprecation-message"></a>
이 라이브러리는 더 이상 사용되지 않는 Amazon-FreeRTOS 리포지토리에서 호스팅됩니다. 새 프로젝트를 생성할 때는 [여기서 시작](freertos-getting-started-modular.md)하는 것이 좋습니다. 현재 사용되지 않는 Amazon-FreeRTOS 리포지토리를 기반으로 하는 기존 FreeRTOS 프로젝트가 이미 있는 경우에는 [Amazon-FreeRTOS Github 리포지토리 마이그레이션 가이드](github-repo-migration.md) 섹션을 참조하세요.

이 자습서에서는 Xilinx Avnet MicroZed Industrial IoT 키트를 시작하기 위한 지침을 제공합니다. Xilinx Avnet MicroZed Industrial IoT 키트가 없는 경우 AWS 파트너 디바이스 카탈로그를 방문하여 [파트너](https://devices.amazonaws.com/detail/a3G0L00000AANtqUAH/MicroZed-IIoT-Bundle-with-Amazon-FreeRTOS)에서 구매하세요.

시작하기 전에 AWS IoT 및 FreeRTOS 다운로드를 구성하여 디바이스를 AWS 클라우드에 연결해야 합니다. 자세한 내용은 [첫 번째 단계](freertos-prereqs.md) 섹션을 참조하세요. 이 자습서에서는 FreeRTOS 다운로드 디렉터리의 경로를 `freertos`라고 합니다.

## 개요
<a name="xilinx-overview"></a>

이 자습서에는 다음의 시작하기 단계에 대한 지침이 포함되어 있습니다.

1. 보드를 호스트 시스템에 연결합니다.

1. 마이크로 컨트롤러 보드용 내장형 애플리케이션을 개발 및 디버깅하기 위한 소프트웨어를 호스트 시스템에 설치합니다.

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

1. 애플리케이션 바이너리 이미지를 보드에 로드한 후 애플리케이션을 실행합니다.

## MicroZed 하드웨어 설정
<a name="xilinx-setup-hardware"></a>

다음 다이어그램은 MicroZed 하드웨어를 설정할 때 유용할 수 있습니다.

![\[파워 굳 LED, 사용자 LED 및 푸시 버튼, JTAG 액세스, 10/100/1000 이더넷 및 USB 호스트, microSD 슬롯, USB-UART, 완료 LED, 재설정 버튼 및 부팅 모드 점퍼가 강조 표시된 AVNet 마이크로컨트롤러 보드입니다.\]](http://docs.aws.amazon.com/ko_kr/freertos/latest/userguide/images/microzed.png)


**MicroZed 보드를 설정하려면**

1. 컴퓨터를 MicroZed 보드의 USB-UART 포트에 연결합니다.

1. 컴퓨터를 MicroZed 보드의 JTAG Access 포트에 연결합니다.

1. 라우터 또는 인터넷에 연결된 이더넷 포트를 MicroZed 보드의 이더넷 및 USB-Host 포트에 연결합니다.

## 개발 환경 설정
<a name="xilinx-setup-env"></a>

MicroZed 키트에 대한 FreeRTOS 구성을 설정하려면 Xilinx Software Development Kit(XSDK)를 사용해야 합니다. XSDK는 Windows 및 Linux에서 지원됩니다.

### XSDK 다운로드 및 설치
<a name="install-xsdk"></a>

Xilinx 소프트웨어를 설치하려면 무료 Xilinx 계정이 필요합니다.

**XSDK를 다운로드하려면**

1. [Software Development Kit Standalone WebInstall Client](https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools/2019-1.html) 다운로드 페이지로 이동합니다.

1. 운영 체제에 적합한 옵션을 선택합니다.

1. Xilinx 로그인 페이지로 이동합니다.

   Xilinx 계정이 있는 경우 로그인 보안 인증 정보를 입력한 다음 **로그인**을 선택합니다.

   계정이 없는 경우 **계정 생성**를 선택합니다. 등록하면 Xilinx 계정을 활성화하기 위한 링크가 포함된 이메일을 받게 됩니다.

1. **이름과 주소 증명** 페이지에 정보를 입력한 후 **다음**를 선택합니다. 다운로드를 시작할 준비가 됩니다.

1. `Xilinx_SDK_version_os` 파일을 저장합니다.

**XSDK를 설치하려면**

1. `Xilinx_SDK_version_os` 파일을 엽니다.

1. **설치할 에디션 선택**에서 **Xilinx 소프트웨어 개발 키트(XSDK)**를 선택한 후 **다음**를 선택합니다.

1. 설치 마법사의 다음 페이지의 **옵션 설치**에서 **케이블 드라이브 설치**를 선택한 후 **다음**를 선택합니다.

컴퓨터가 MicroZed's USB-UART 연결을 감지하지 못하는 경우 CP210x USB-to-UART Bridge VCP 드라이버를 수동으로 설치합니다. 지침은 [Silicon Labs CP210x USB-to-UART 설치 가이드](https://www.xilinx.com/support/documentation/boards_and_kits/install/ug1033-cp210x-usb-uart-install.pdf)를 참조하십시오.

XSDK에 대한 자세한 내용은 Xilink 웹 사이트에서 [Xilinx SDK에서 시작하기](https://www.xilinx.com/html_docs/xilinx2018_2/SDK_Doc/index.html)를 참조하십시오.

## 클라우드에서 MQTT 메시지 모니터링
<a name="xilinx-monitor-mqtt"></a>

FreeRTOS 데모 프로젝트를 실행하기 전에 AWS IoT 콘솔에서 MQTT 클라이언트를 설정하여 디바이스가 AWS 클라우드로 보내는 메시지를 모니터링할 수 있습니다.

**MQTT 클라이언트를 사용하여 AWS IoT MQTT 주제를 구독하려면**

1. [AWS IoT 콘솔](https://console.aws.amazon.com/iotv2/)에 로그인합니다.

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

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

## FreeRTOS 데모 프로젝트 빌드 및 실행
<a name="xilinx-build-and-run-example"></a>

### XSDK IDE에서 FreeRTOS 데모 열기
<a name="xilinx-freertos-import-project"></a>

1. 작업 영역 디렉터리가 `freertos/projects/xilinx/microzed/xsdk`로 설정된 상태로 XSDK IDE를 시작합니다.

1. 시작 페이지를 닫습니다. 메뉴에서 **프로젝트**를 선택한 후 **자동 생성**를 지웁니다.

1. 메뉴에서 **파일**을 선택한 후 **가져오기**를 선택합니다.

1. **선택** 페이지에서 **일반**을 확장하고 **기존 프로젝트를 작업 공간으로**를 선택한 후 **다음**를 선택합니다.

1. **프로젝트 가져오기** 페이지에서 **루트 디렉터리 선택**를 선택한 후 데모 프로젝트 `freertos/projects/xilinx/microzed/xsdk/aws_demos`의 루트 디렉터리를 입력합니다. 디렉터리를 찾아보려면 **찾아보기**를 선택합니다.

   루트 디렉터리를 지정하면 **프로젝트 가져오기** 페이지에 해당 디렉터리의 프로젝트가 표시됩니다. 사용 가능한 모든 프로젝트가 기본적으로 선택되어 있습니다.
**참고**  
**프로젝트 가져오기** 페이지의 상단에 경고가 표시되는 경우("기존 작업 환경에이미 존재하기 때문에 특정 프로젝트는 가져올 수 없습니다") 이를 무시할 수 있습니다.

1. 프로젝트가 모두 선택된 상태에서 **종료**를 선택합니다.

1. 프로젝트 창에 `aws_bsp`, `fsbl` 및 `MicroZed_hw_platform_0` 프로젝트가 표시되지 않는 경우 이전 단계의 \$13부터 반복하되, 루트 디렉터리를 `freertos/vendors/xilinx`로 설정하고 `aws_bsp`, `fsbl` 및 `MicroZed_hw_platform_0`을 가져옵니다.

1. 메뉴에서 **Window**를 선택한 후 **설정**를 선택합니다.

1. 탐색 창에서 **실행/디버깅**를 확장하고 **스트링 대체**을 선택한 후 **새로 만들기**를 선택합니다.

1. **새로운 스트링 대체 변수**의 **이름**에 **AFR\$1ROOT**를 입력합니다. **값**에 `freertos/projects/xilinx/microzed/xsdk/aws_demos`의 루트 경로를 입력합니다. **확인**를 선택한 후 **확인**를 선택하여 변수를 저장하고 **설정**를 닫습니다.

### FreeRTOS 데모 프로젝트 빌드
<a name="xilinx-freertos-build-project"></a>

1. XSDK IDE의 메뉴에서 **프로젝트**를 선택한 후 **지우기**를 선택합니다.

1. **지우기**에서 옵션을 기본 값으로 둔 후 **확인**를 선택합니다. XSDK가 프로젝트를 모두 정리하고 빌드한 후 `.elf` 파일을 생성합니다.
**참고**  
모든 프로젝트를 정리하지 않고 빌드하려면 **프로젝트**를 선택한 후 **모두 빌드**을 선택합니다.  
개별 프로젝트를 빌드하려면 빌드하려는 프로젝트를 선택하고 **프로젝트**를 선택한 후 **빌드 프로젝트**를 선택합니다.

### FreeRTOS 데모 프로젝트의 부팅 이미지 생성
<a name="xilinx-build-boot-image"></a>

1. XSDK IDE에서 **aws\$1demos**를 마우스 오른쪽 버튼으로 클릭한 후 **부트 이미지 생성**를 선택합니다.

1. **부트 이미지 생성**에서 **새로운 BIF 파일 생성**을 선택합니다.

1. **출력 BIF 파일 경로** 옆의 **찾아보기**를 선택한 후 `<freertos>/vendors/xilinx/microzed/aws_demos/aws_demos.bif`에 있는 `aws_demos.bif`를 선택합니다.

1. **추가**를 선택합니다.

1. **새 부팅 이미지 파티션 추가**에서 **파일 경로** 옆의 **찾아보기**를 선택한 후 `vendors/xilinx/fsbl/Debug/fsbl.elf`에 있는 `fsbl.elf`를 선택합니다.

1. **파티션 종류**에서 **부트로더**를 선택한 후 **확인**를 선택합니다.

1. **부트 이미지 생성**에서 **이미지 생성**를 선택합니다. **파일 재정의**에서 **확인**을 선택하여 기존 `aws_demos.bif`를 덮어쓰고 `projects/xilinx/microzed/xsdk/aws_demos/BOOT.bin`에서 `BOOT.bin` 파일을 생성합니다.

### JTAG 디버깅
<a name="xilinx-jtag"></a>

1. MicroZed 보드의 부팅 모드 점퍼를 JTAG 부팅 모드로 설정합니다.  
![\[회로 보드 헤더 커넥터 및 점퍼 설정.\]](http://docs.aws.amazon.com/ko_kr/freertos/latest/userguide/images/xilinx-jtag.png)

1. USB-UART 포트 바로 아래에 있는 MicroSD 카드 슬롯에 MicroSD 카드를 삽입합니다.
**참고**  
디버깅하기 전에 MicroSD 카드에 있는 모든 콘텐츠를 백업하십시오.

   보드는 다음과 같은 모습이어야 합니다.  
![\[연결 옵션이 있는 FreeRTOS 평가 보드.\]](http://docs.aws.amazon.com/ko_kr/freertos/latest/userguide/images/xilinx-jtag-full-board.png)

1. XSDK IDE에서 **aws\$1demos**를 마우스 오른쪽 버튼으로 클릭하고 **다음으로 디버그하기**를 선택한 후 **시스템 하드웨어에서 1 런치(시스템 디버거)**를 선택합니다.

1. 디버거가 `main()`의 중단점에서 중지되면 메뉴에서 **실행**을 선택한 후 **다시 시작**을 선택합니다.
**참고**  
애플리케이션을 처음 실행할 때 새 인증서-키 페어가 비휘발성 메모리로 가져오기 됩니다. 후속 실행의 경우 이미지와 `BOOT.bin` 파일을 다시 빌드하기 전에 `main.c` 파일에서 `vDevModeKeyProvisioning()`을 주석 처리할 수 있습니다. 그러면 실행할 때마다 인증서와 키를 스토리지에 복사하지 않아도 됩니다.

MicroSD 카드 또는 QSPI 플래시에서 MicroZed 보드를 부팅하여 FreeRTOS 데모 프로젝트를 실행하도록 선택할 수 있습니다. 지침은 [FreeRTOS 데모 프로젝트의 부팅 이미지 생성](#xilinx-build-boot-image) 및 [FreeRTOS 데모 프로젝트 실행](#xilinx-run) 섹션을 참조하세요.

### FreeRTOS 데모 프로젝트 실행
<a name="xilinx-run"></a>

FreeRTOS 데모 프로젝트를 실행하려면 MicroSD 카드 또는 QSPI 플래시에서 MicroZed 보드를 부팅하면 됩니다.

FreeRTOS 데모 프로젝트를 실행하기 위해 MicroZed 보드를 설정할 때 [MicroZed 하드웨어 설정](#xilinx-setup-hardware)의 다이어그램을 참조하세요. MicroZed 보드를 컴퓨터에 연결했는지 확인합니다.

#### MicroSD 카드에서 FreeRTOS 프로젝트 부팅
<a name="xilinx-build-boot-sd"></a>

Xilinx MicroZed Industrial IoT Kit와 함께 제공되는 MicroSD 카드를 포맷합니다.

1. `BOOT.bin` 파일을 MicroSD 카드에 복사합니다.

1. USB-UART 포트 바로 아래의 MicroSD 카드 슬롯에 카드를 삽입합니다.

1. MicroZed 부팅 모드 점퍼를 SD 부팅 모드로 설정합니다.  
![\[JP1, JP2, JP3 레이블이 지정된 슬롯 3개와 코인 셀 배터리 홀더가 있는 SD 카드.\]](http://docs.aws.amazon.com/ko_kr/freertos/latest/userguide/images/xilinx-sd.png)

1. RST 버튼을 눌러 디바이스를 재설정하고 애플리케이션 부팅을 시작합니다. USB-UART 포트에서 USB-UART 케이블을 뽑은 후 케이블을 다시 삽입할 수도 있습니다.

#### QSPI 플래시에서 FreeRTOS 데모 프로젝트 부팅
<a name="xilinx-build-boot-qspi"></a>

1. MicroZed 보드의 부팅 모드 점퍼를 JTAG 부팅 모드로 설정합니다.  
![\[회로 보드 헤더 커넥터 및 점퍼 설정.\]](http://docs.aws.amazon.com/ko_kr/freertos/latest/userguide/images/xilinx-jtag.png)

1. 컴퓨터가 USB-UART 및 JTAG Access 포트에 연결되어 있는지 확인합니다. 녹색 Power Good LED 조명이 켜져야 합니다.

1. XSDK IDE의 메뉴에서 **Xilinx**를 선택한 후 **프로그램 플래시**를 선택합니다.

1. **프로그램 플래시 메모리**에서 하드웨어 플랫폼이 자동으로 채워져야 합니다. **연결**에서 보드를 호스트 컴퓨터와 연결할 MicroZed 하드웨어 서버를 선택합니다.
**참고**  
Xilinx Smart Lync JTAG 케이블을 사용하는 경우 XSDK IDE에 하드웨어 서버를 만들어야 합니다. **새로 만들기**를 선택한 후 서버를 정의합니다.

1. **이미지 파일**에 `BOOT.bin` 이미지 파일의 디렉터리 경로를 입력합니다. 파일을 찾아보려면 **찾아보기**를 선택합니다.

1. **오프셋**에 **0x0**을 입력합니다.

1. **FSBL File**에 `fsbl.elf` 파일의 디렉터리 경로를 입력합니다. 파일을 찾아보려면 **찾아보기**를 선택합니다.

1. **프로그램**을 선택하여 보드를 프로그래밍합니다.

1. QSPI 프로그래밍을 완료한 후 USB-UART 케이블을 제거하여 보드의 전원을 끕니다.

1. MicroZed 보드의 부팅 모드 점퍼를 QSPI 부팅 모드로 설정합니다.

1. USB-UART 포트 바로 아래에 있는 MicroSD 카드 슬롯에 카드를 삽입합니다.
**참고**  
MicroSD 카드에 있는 모든 콘텐츠를 백업하십시오.

1. RST 버튼을 눌러 디바이스를 재설정하고 애플리케이션 부팅을 시작합니다. USB-UART 포트에서 USB-UART 케이블을 뽑은 후 케이블을 다시 삽입할 수도 있습니다.

## 문제 해결
<a name="xilinx-troubleshooting"></a>

잘못된 경로와 관련된 빌드 오류가 발생한 경우 [FreeRTOS 데모 프로젝트 빌드](#xilinx-freertos-build-project)에 설명된 대로 프로젝트를 정리하고 다시 빌드해 보십시오.

Windows를 사용하는 경우 Windows XSDK IDE에서 문자열 대체 변수를 설정할 때 슬래시를 사용해야 합니다.

FreeRTOS 시작하기에 대한 일반 문제 해결 정보는 [시작하기 문제 해결](gsg-troubleshooting.md) 섹션을 참조하세요.