인텔® SoC FPGA 베어 메탈 개발자 센터
인텔 SoC FPGAs에서 베어 메탈 개발을 시작하고 익숙해지는 데 도움이 되는 리소스입니다.
베어 메탈 개발은 운영 체제(OS) 또는 실시간 운영 체제(RTOS)를 사용하지 않는 소프트웨어 런타임 환경을 사용합니다. 베어 메탈 구성에서는 SoC FPGAs의 하드 프로세싱 시스템(HPS)을 사용할 수 있습니다. 인텔은 대부분의 HPS 주변 장치를 실행할 수 있는 높은 수준의 응용 프로그램 프로그래밍 인터페이스(API)와 낮은 수준의 매크로로 구성된 하드웨어 라이브러리(HWLIB)를 제공합니다.
아래 링크에서 인텔® SoC FPGAs 베어 메탈 개발을 시작하는 데 도움이 되는 다양한 리소스에 액세스할 수 있습니다. 처음 사용하는 경우 리소스를 선형적으로 따르는 것이 좋습니다.
1. 전제 조건
My Intel 계정 만들기
- My Intel 페이지에서 My Intel 계정을 생성하십시오.
- My Intel 계정을 통해 서비스 요청 제출, 수업 등록, 소프트웨어 다운로드, 리소스, 교육 과정 이용 등을 할 수 있습니다.
디자인 고려 사항
베어 메탈이란 무엇입니까?
- 베어 메탈은 프로세서 시스템의 실제 레지스터 인터페이스 및 하드웨어 기능을 나타냅니다.
- 베어 메탈 개발은 OS 또는 RTOS를 사용하지 않는 소프트웨어 런타임 환경을 사용합니다.
- 베어 메탈 구성에서는 SoC FPGAs의 HPS를 사용할 수 있습니다. 인텔은 대부분의 HPS 주변 장치를 실행할 수 있는 상위 수준 API와 하위 수준 매크로로 구성된 HWLIB를 제공합니다.
왜 베어 메탈인가?
- 베어 메탈 접근 방식을 사용하면 다음과 같은 이점이 있습니다.
- 하드웨어의 절대적인 제어
- 효율성 증대
- 최소 크기(플래시 및 메모리 공간 모두)
- 다른 소스 코드 또는 라이브러리에 대한 종속성 없음
- 공식적으로 정확성을 증명하고 코드 커버리지 분석을 수행하기가 더 쉽습니다.
- 베어 메탈 개발을 선택하는 다른 이유는 다음과 같습니다.
- 보드 구동을 수행하고 한 번에 하나의 주변 장치에 집중해야 합니다.
- 이미 베어 메탈로 개발된 기존 레거시 코드를 재사용해야 합니다.
- OS 또는 RTOS에 대한 경험 부족
베어 메탈 고려 사항
HPS용 베어 메탈 애플리케이션을 개발하려면 애플리케이션이 CPU 서브시스템에서 사용 가능한 리소스를 효율적으로 사용할 수 있도록 런타임 기능 개발에 익숙해야 합니다. 필요할 수 있는 사항의 예는 다음과 같습니다.
- 하드웨어 플랫폼에 대한 심층적인 지식
- 일반적인 베어 메탈 응용 프로그램이 단일 코어만 사용하므로 CPU 하위 시스템을 완전히 활용하려는 경우 코어와 캐시 하위 시스템 간의 프로세스를 관리하는 런타임 기능 개발
- 프로세스를 관리 및 예약하고, 프로세스 간 통신을 처리하고, 응용 프로그램 내에서 이벤트를 동기화하는 기능 개발
예정된 프로젝트가 위의 사항에 익숙해지는 데 많은 노력을 기울일 수 없는 경우, 상용 Linux* 또는 RTOS 솔루션 사용을 고려하는 것이 좋습니다.
대체 |
장점 |
코멘트 |
---|---|---|
리눅스 | 네트워킹, 스토리지, 멀티태스킹, 프로세스 간 통신, 동기화 등. | 리눅스 커널 전문가가 아니어도 프로젝트에서 리눅스를 사용할 수 있습니다. 예를 들어 Linux 사용자 공간 애플리케이션을 작성하고 베어 메탈 애플리케이션이 동작하는 방식과 유사하게 FPGA IP(지적 재산권) 레지스터에 직접 액세스할 수 있습니다. |
Rtos | 멀티코어 처리, 멀티태스킹, 프로세스 간 통신 및 동기화(RTOS에 따라 다름). | 간단한 RTOS를 사용하는 것은 쉽습니다. 이미 구현된 함수의 C 라이브러리를 직접 작성하는 대신 사용하는 것과 비슷합니다. |
부트 로더 | 더 빠른 부팅 시간, 대용량 스토리지 및 네트워킹과 같이 부트로더에 이미 구현된 기능에 대한 액세스 | 사용 가능한 부트로더는 다음과 같습니다. |
디자인 흐름 다이어그램
베어 메탈 개발을 위한 일반적인 설계 흐름 다이어그램은 다음과 같습니다.
흐름에 대한 요약은 다음과 같습니다.
- 다음을 포함하는 하드웨어 설계로 시작하십시오.
- HPS 구성: 클럭 설정, 핀 다중화 및 구성, DDR 설정, 연결된 주변 장치 등.
- FPGA 패브릭 컨텐츠: FPGA에서 인스턴스화된 IP 코어, FPGA 핀, 메모리 컨트롤러 및 위상 잠금 루프(PLL) 구성
- 하드웨어 설계는 다음 파일을 생성하는 인텔® FPGA Complete Design Suite 도구로 컴파일됩니다.
- SOF 파일: 외부 프로그래머, 외장 플래시, HPS 부트로더 또는 HPS 애플리케이션과 같은 다양한 방법을 통해 FPGA 패브릭을 구성하는 데 사용됩니다.
- 핸드오프: HPS에서 사용할 부트로더를 생성하기 위해 2단계 부트로더 생성기에서 사용하는 정보가 포함되어 있습니다.
- SOPCINFO 파일: 소프트 IP 주소가 FPGA 헤더 파일을 자동으로 생성하는 데 사용할 수 있습니다.
- SVD 파일: 디버깅 중에 ARM* 개발 스튜디오 5*(DS-5*) 인텔 SoC FPGA 에디션 디버거가 사용자에게 친숙한 형식으로 표시할 수 있도록 FPGA 소프트 IP 레지스터에 대한 정보를 포함합니다.
- 사용자는 HWLIB의 도움을 받아 잠재적으로 FPGA IP 주소 헤더 파일을 사용하여 사용자 지정 소스 코드를 작성합니다.
- 사용자는 베어 메탈 컴파일러의 도움을 받아 베어 메탈 애플리케이션을 컴파일합니다.
- 사용자가 ARM DS-5 인텔 SoC FPGA Edition을 사용하여 베어 메탈 애플리케이션을 디버깅합니다.
2. 시작하기
대상 보드 선택
- 인텔에서 제공하는 SoC 개발 키트에서 개발을 시작하는 것이 좋은데, 시작하기 베어 메탈 예제는 해당 보드에서 실행되는 것을 목표로 하기 때문입니다.
- 사용 가능한 SoC FPGA 보드를 보려면 인텔® FPGA 보드를 방문하십시오.
인텔 SoC FPGA EDS 설치
- 인텔 SoC FPGA EDS는 베어 메탈을 포함한 모든 SoC FPGA 개발에 필요한 필수 도구를 제공합니다. 자세한 내용은 인텔® SoC FPGA용 임베디드 소프트웨어 및 도구를 참조하십시오.
- FPGA 다운로드 센터에서 인텔® SoC FPGA Embedded Development Suite(SoC EDS) Pro Edition을 다운로드합니다.
- 설치 프로세스 및 인텔 SoC FPGA EDS용 도구 설치.
- ARM DS-5 인텔 SoC FPGA Edition을 베어 메탈 애플리케이션의 디버깅 및/또는 추적에 사용하는 경우 라이선스를 취득해야 합니다. 라이선스는 일반적으로 인텔 SoC FPGA 개발 키트 구매에 포함되어 있습니다. 인텔® SoC FPGA Embedded Development Suite(SoC EDS) 사용 설명서 라이센스 설정 지침을 참조하십시오.
Build Tools(빌드 도구)를 선택합니다.
- 인텔 SoC FPGA EDS는 다음과 같은 베어 메탈 빌드 도구를 제공합니다.
- Mentor CodeSourcery의 인텔 SoC FPGA 버전 – GCC 기반, 라이센스 필요 없음
- ARM Compiler 5 – 인텔 SoC FPGA EDS 라이선스에 포함된 라이선스
- ARM 플랫폼을 대상으로 하는 다른 빌드 도구 모음을 사용할 수 있습니다(인텔® FPGA 및 인텔® SoC FPGA 장치용 에코시스템으로 이동).
- 시작하기 예제 프로젝트는 인텔 SoC FPGA EDS의 일부로 제공되는 GCC 및 ARMCC 컴파일러 모두에서 사용할 수 있습니다.
디버그 및 추적 도구를 선택합니다
- 인텔 SoC FPGA EDS에는 베어 메탈 프로그램의 디버깅 및 추적을 완벽하게 지원하는 ARM DS-5 인텔 SoC FPGA Edition이 포함되어 있습니다(라이선스 필요)
- 시작 예제 프로젝트는 디버깅 및 추적에 ARM DS-5 인텔 SoC FPGA Edition을 사용합니다
시작 응용 프로그램 연습
- 샘플 시작하기 애플리케이션은 Cyclone V, Arria V, 인텔® Arria® 10 장치에 사용할 수 있으며 ARMCC 및 GCC 컴파일러를 모두 지원합니다.
- 샘플 응용 프로그램에서는 다음을 연습합니다.
- HPS SDRAM, MMU, 캐시,
- HPS 타이머, 인터럽트
- HPS-to-FPGA 브리지
- FPGA 소프트 IP: SysID
- FPGA 인터럽트
- SoCEDS 및 ARM Development Studio 항목에 대한 Rocketboards.org 에서 필요한 버전에 대한 설명서 및 다운로드를 찾으십시오.
3. 나만의 프로젝트 만들기
베어 메탈 프로젝트의 유형
ARM DS-5 인텔 SoC FPGA Edition에서 관리할 수 있는 두 가지 유형의 프로젝트가 있습니다.
- 메이크파일 기반 프로젝트: 프로젝트는 메이크파일을 수동으로 편집하여 관리되며, ARM DS-5 인텔 SoC FPGA 에디션은 해당 메이크파일에서 'make all' 및 'make clean'을 호출하여 각각 프로젝트를 빌드하고 정리합니다.
- 플러그인 기반 프로젝트: ARM DS-5 인텔 SoC FPGA 에디션은 컴파일할 파일, 컴파일러 옵션, 빌드 및 정리를 포함하여 프로젝트를 완벽하게 관리합니다.
메이크파일 기반 프로젝트의 장점은 베어 메탈 컴파일러뿐만 아니라 다른 모든 도구를 호출할 수 있어 더 많은 유연성을 제공한다는 것입니다. 플러그인 기반 프로젝트 사용의 유일한 장점은 텍스트 편집기로 메이크파일을 편집하는 것과는 대조적으로 ARM DS-5 인텔 SoC FPGA Edition 그래픽 인터페이스에서 설정에 쉽게 액세스할 수 있다는 것입니다.
나만의 프로젝트를 만드는 데 권장되는 방법
제공된 스크립트를 사용하여 플러그인 기반 또는 메이크파일 기반 프로젝트를 자동으로 생성하는 것이 좋습니다.
스크립트는 다음 작업을 수행합니다.
- 프로젝트 폴더 만들기
- 필요한 모든 컴파일 설정을 사용하여 C 프로젝트 파일을 만듭니다.
- 단순히 'hello world'메시지를 인쇄하는 간단한 main.c 파일을 만듭니다.
- 모든 관련 HWLIB 파일을 가져옵니다.
- FPGA 패브릭 주변 장치의 기본 주소가 있는 system.h 파일을 만듭니다(인텔® Quartus® Prime 소프트웨어를 먼저 설치해야 합니다. 그렇지 않으면 이 단계를 건너뜁니다).
- 응용 프로그램 디버깅을 위한 디버그 구성 만들기
- 부트로더 실행을 위한 디버그 구성 만들기[선택 사항]
- ARM DS-5 인텔 SoC FPGA Edition에서 FPGA 패브릭을 구성하기 위한 외부 도구 실행 관리자 만들기[선택 사항]
- 필요한 경우 system.h 파일을 다시 생성하기 위한 외부 도구 시작 관리자 만들기[선택 사항]
시작 섹션에 설명된 모든 시작 프로젝트는 이 방법을 사용하여 만들어졌습니다.
프로젝트를 만드는 다른 방법
다음 대안을 사용하여 고유한 프로젝트를 만들 수도 있습니다.
- 옵션 1: 수동으로 메이크파일을 만든 다음 인텔® SoC FPGA 에디션용 Arm* Development Studio* 를 참조하여 ARM DS-5 인텔 SoC FPGA 에디션에서 메이크파일 기반 프로젝트로 프로젝트를 만들기 위한 지침을 찾습니다. 메이크파일을 수동으로 만드는 것은 이 가이드의 범위를 벗어나며 모든 빌드 도구와 해당 옵션을 숙지해야 합니다. 메이크파일이 필요한 경우 제공된 스크립트를 사용하여 메이크파일을 만드는 것이 좋습니다.
- 옵션 2: 플러그인 기반 프로젝트를 처음부터 수동으로 만듭니다. 이는 프로젝트를 만들기 위해 제공된 스크립트가 따르는 절차를 수동으로 재현하는 것으로 구성됩니다. 스크립트는 더 많은 기능을 제공하며 프로젝트를 만드는 데 권장되는 방법입니다. 이 옵션은 참조용으로만 문서화되어 있습니다.
- 옵션 3: 기존 프로젝트로 시작하고 필요에 맞게 수정합니다. 이것은 특히 짧은 테스트 및 실험에 대해 수행할 수 있지만 이 방법은 권장되지 않습니다.
4. 예시
베어 메탈 애플리케이션 시작하기
표 A. 인텔 SoC 개발 보드 타겟팅 및 실행:
- HPS SDRAM
- HPS MMU 및 캐시
- HPS 타이머, 인터럽트 포함
- FPGA IP: SysID 및 PIO – 푸시 버튼, 듀얼 인라인 패키지(DIP) 스위치 및 LED
- FPGA 인터럽트
장치 |
컴파일러 |
예제 |
---|---|---|
Cyclone® V |
아르엠씨 |
|
Cyclone® V |
Gcc |
|
Arria® V |
아르엠씨 |
|
Arria® V |
Gcc |
|
인텔® Arria® 10 |
아르엠씨 |
|
인텔® Arria® 10 |
Gcc |
인텔 SoC FPGA EDS에 포함된 베어 메탈 예시
표 B. 인텔 SoC 개발 보드 대상 및 <SoC FPGA 설치 폴더>\embedded\examples\software\에서 사용 가능:
예제 이름 |
설명 |
장치 |
컴파일러 |
---|---|---|---|
하드웨어LIB-16550 |
UART 및 인터럽트 API를 사용하여 콘솔 응용 프로그램을 구현합니다. |
Cyclone V |
아르엠씨 |
하드웨어라이브러리-ECCL2 |
MMU 테이블을 설정하고 L2 캐시의 ECC 기능을 표시합니다. |
Cyclone V |
아르엠씨 |
HardwareLib-FPGA |
DMA(직접 메모리 액세스)를 사용하여 HPS FPGA 구성하고, H2F 브리지를 열고, FPGA 패브릭 내의 GPIO 소프트 IP 구성 요소와 통신합니다. |
Cyclone V |
아르엠씨 |
하드웨어라이브러리-SPI |
외부 보드의 SPI EEPROM과 통신합니다. |
Cyclone V |
아르엠씨 |
HardwareLib-타이머 |
타이머 및 인터럽트를 설정합니다. |
Cyclone V |
아르엠씨 |
HelloWorld-베어메탈 | 세미 호스팅을 사용하여 "hello world" 메시지를 인쇄합니다. | Cyclone V Arria V 인텔 Arria 10 |
아르엠씨 Gcc |
추가 베어 메탈 예시
표 C. 인텔 SoC 개발 보드 타겟팅 및 디자인 예제 페이지에서 사용 가능, 모두 GCC 컴파일러 사용:
예제 |
설명 |
장치(프로젝트 파일) |
장치(Readme 파일) |
---|---|---|---|
Dma |
DMA를 초기화하고, 메모리-메모리 전송 및 0-메모리 전송을 수행합니다. |
||
Ecc |
온칩 RAM, SD/MMC, SPI(QUAD SERIAL PERIPHERAL INTERFACE), DMA 및 L2 캐시용 ECC를 설정하고 활성화합니다. 단일/이중 비트 오류를 주입하고 단일/이중 비트 오류 감지를 위한 인터럽트를 설정합니다. |
||
Gpio |
범용 입력/출력(GPIO)을 출력 포트로 설정하여 HPS LED를 구동하고 GPIO를 HPS 푸시 버튼의 입력 포트로 설정합니다. |
||
I2c |
LCD 화면, EEPROM 메모리 및 두 개의 I2C 모듈 간에 I2C를 통해 통신합니다. |
||
쿼드 SPI |
일반 블록 I/O 모드, 간접 모드 및 DMA 모드를 사용하여 쿼드 SPI에 대한 읽기 및 쓰기 작업을 수행합니다. 또한 MMU 및 캐시를 설정합니다. |
||
SD/MMC |
SD/MMC 카드를 초기화하고 블록 I/O 기능을 사용하여 읽고 씁니다. |
||
타이머 |
자유 실행, 원샷 및 워치독 모드에서 타이머를 사용합니다. 글로벌 타이머 측정을 수행합니다. |
||
호스팅되지 않음 | 세미호스팅 대신 printf 출력에 UART를 사용합니다. 또한 SD 카드에서 베어 메탈 프로그램을 부팅하는 방법을 보여 줍니다. | ||
Spi | FPGA 패브릭을 통해 연결된 두 SPI 모듈 간에 통신합니다. | ||
HPS-FPGA 브리지 | FPGA 패브릭에 노출된 HPS(하드 프로세서 시스템)의 메모리 매핑 인터페이스를 연습합니다. HPS의 다양한 포트를 사용하여 HPS 메모리를 쓰고 읽는 방식으로 메모리 테스트를 수행하고 데이터 이동 성능을 측정합니다. | 예제 |
Cyclone V FPGAs에서 XIP(Execute in Place)를 구현하는 방법
QSPI 플래시에서 베어 메탈 응용 제품을 실행하는 방법에 대한 전체 지침은 인텔 FPGA Wiki의 Cyclone V QSPI XIP 예제 설계 페이지를 참조하십시오.
Cyclone V FPGAs에서 베어 메탈 응용 프로그램을 부팅하는 방법
다음에서 Cyclone V SoC 베어 메탈 애플리케이션을 부팅하는 방법에 대한 예는 애플리케이션 노트 709, Boot Examples 장을 참조하십시오.
- SD/MMC
- QSPI
- Fpga
5. 추가 자료
지원 리소스
클릭 한 번으로 도움을 받을 수 있습니다! 지원 리소스 는 교육 수업에서 디자인 예제, 포럼에 이르기까지 디자인 프로세스의 모든 단계를 안내하는 온라인 기술 리소스를 제공합니다.
지식 베이스
기술 자료는 방대한 수의 지원 솔루션, 참조 문서, 오류 메시지 및 문제 해결 가이드를 제공하며 전체 검색도 가능합니다.
인텔 커뮤니티
인텔 커뮤니티는 인텔 FPGA 사용자 간의 협업을 지원하는 커뮤니티 웹사이트입니다. "임베디드 디자인 제품군(EDS)" 및 "SoC 토론" 섹션을 확인하십시오. 검색 엔진을 사용하여 관련 자료를 찾으십시오. 또한 업데이트하고 기여하는 것이 좋습니다.
교육 강좌
다음은 베어 메탈 개발을 시작하기 전에 수강할 수 있는 기초 교육 수업입니다.
리소스 |
형식 |
개발된 기술 |
---|---|---|
무료 27분 온라인 코스 |
|
|
무료 28분 온라인 코스 |
|
|
8시간 강사 주도/가상 수업 과정 |
|
학습 - 인텔 SoC FPGA EDS 사용자 가이드
SoC EDS 사용자 가이드는 모든 인텔 SoC FPGA EDS 도구 및 구성 요소를 설명하는 기본 문서입니다. 베어 메탈 개발과 관련된 다음 섹션을 검토하는 것이 좋습니다.
SoC EDS 섹션 |
설명 |
---|---|
개요 및 하드웨어-소프트웨어 개발 흐름. |
|
인텔 SoC FPGA EDS 및 ARM DS-5 인텔 SoC FPGA 에디션을 설치하는 방법. |
|
인텔 SoC FPGA EDS에 대한 라이센싱 옵션 및 라이선스 설치 방법. |
|
쉘을 시작하고 쉘을 사용하여 나머지 인텔 SoC FPGA EDS 도구에 액세스하는 방법. |
|
ARM DS-5 인텔 SoC FPGA Edition 시작, 베어 메탈 프로젝트 관리 및 디버깅과 같은 기본 작업. |
|
HWLIB 개요 및 인텔 SoC FPGA EDS 설치에 포함된 Doxygen 정보를 얻는 방법. |
|
인텔 SoC FPGA EDS에 포함된 두 가지 베어 메탈 컴파일러인 ARMCC 및 GCC에 대한 개요입니다. |
학습 - 인텔 SoC FPGA EDS 시작 안내서
인텔 FPGA Wiki의 SoC EDS 시작 안내서는 인텔 SoC FPGA EDS 를 쉽게 시작하는 데 도움이 되는 기본 기본 지침 집합입니다.
가이드 |
설명 |
---|---|
인텔 SoC 개발 보드를 설정합니다. |
|
인텔 SoC FPGA EDS와 함께 제공되는 몇 가지 도구를 실행합니다. |
|
제공된 Hello World 베어 메탈 응용 프로그램 예제를 가져오고, 컴파일하고, 디버그합니다. |
추가 문서 및 리소스
기술 참조 설명서
기술 참조 매뉴얼에는 동작, 기본 주소, 인터럽트 매핑 및 모든 주변 장치에 대한 제어/상태 레지스터를 포함하여 하드웨어에 대한 자세한 설명이 포함되어 있습니다.
SoC 설명서 페이지
SoC 문서 페이지는 기술 참조 매뉴얼, 데이터시트 및 애플리케이션 노트와 같은 모든 관련 SoC 문서에 액세스할 수 있는 단일 위치를 편리하게 제공합니다.
추가 자료
리소스 |
설명 |
---|---|
EDS FPGA SoC를 다운로드합니다. |
|
사용 가능한 모든 FPGA 개발 키트를 확인하십시오. SoC FPGA를 지원하는 보드를 보려면 왼쪽 탐색 창에서 SoC 시리즈 키트 를 클릭합니다. |
|
다양한 설계 예제를 이용할 수 있습니다. 왼쪽 탐색 창에서 SoC 디자인 예제를 클릭하여 SoC FPGA 대상으로 하는 예제를 확인합니다. |
|
전체 인텔 FPGA 교육 커리큘럼을 이용할 수 있습니다. 왼쪽 탐색 창에서 소프트웨어 개발을 선택한 다음, 특정 SoC FPGA 관련 과정에 대해 "SoC"를 검색합니다. 또는 다른 관심 분야를 선택하십시오. |
|
전체 인텔 FPGA 교육 카탈로그에 액세스하십시오. 특정 SoC FPGA 관련 과정을 보려면 "SoC"를 검색하십시오. 또는 관심 있는 다른 과정을 선택하십시오. |
|
최신 릴리스의 새로운 사항, 릴리스 정보 및 릴리스 기록을 포함하여 인텔 SoC FPGA EDS에 대한 개요를 확인하십시오. |
|
운영 체제, 개발 도구, IP 코어 및 보드와 같은 다양한 SoC FPGA 관련 리소스에 대한 링크를 제공합니다. |
|
인텔 FPGA 엔지니어가 제작한 200개 이상의 비디오에 액세스하십시오. 일부 비디오는 일반적인 반면 다른 비디오는 SoC FPGA 제품과 관련이 있습니다. |
|
이 커뮤니티 웹 사이트를 통해 다른 인텔 FPGA 사용자와 공동 작업하십시오. 임베디드 디자인 제품군(EDS) 및 SoC 토론 섹션을 확인하세요. 검색 엔진을 사용하여 관련 자료를 찾으십시오. 모두가 업데이트하고 기여하는 것이 좋습니다. |
이 페이지의 콘텐츠는 원본 영어 콘텐츠에 대한 사람 번역 및 컴퓨터 번역의 조합으로 완성되었습니다. 이 콘텐츠는 편의와 일반적인 정보 제공을 위해서만 제공되었으며, 완전하거나 정확한 것으로 간주되어선 안 됩니다. 이 페이지의 영어 버전과 번역 간 모순이 있는 경우, 영어 버전이 우선적으로 적용됩니다. 이 페이지의 영어 버전을 확인하십시오.