SPI 플래시에서 DDR 메모리로의 Microsemi SmartFusion2 SoC FPGA 코드 섀도잉
머리말
목적
이 데모는 SmartFusion®2 SoC(시스템 온 칩) FPGA(필드 프로그래밍 가능 게이트 어레이) 장치용입니다. 해당 참조 디자인을 사용하는 방법에 대한 지침을 제공합니다.
대상 청중
이 데모 가이드는 다음을 대상으로 합니다.
- FPGA 설계자
- 임베디드 디자이너
- 시스템 수준 디자이너
참고문헌
다음을 참조하세요 web SmartFusion2 장치 문서의 전체 최신 목록 페이지:
http://www.microsemi.com/products/fpga-soc/soc-fpga/smartfusion2#documentation
이 데모 가이드에서 참조하는 문서는 다음과 같습니다.
- UG0331: SmartFusion2 마이크로컨트롤러 하위 시스템 사용 설명서
- SmartFusion2 시스템 빌더 사용 설명서
SmartFusion2 SoC FPGA – SPI 플래시에서 DDR 메모리로 코드 섀도잉
소개
이 데모 디자인은 SPI(직렬 주변 장치 인터페이스) 플래시 메모리 장치에서 DDR(Double Data Rate) SDRAM(동기식 동적 임의 액세스 메모리)으로 코드를 섀도잉하고 DDR SDRAM에서 코드를 실행하기 위한 SmartFusion2 SoC FPGA 장치 기능을 보여줍니다.
그림 1은 SPI 플래시 장치에서 DDR 메모리로의 코드 섀도잉에 대한 최상위 블록 다이어그램을 보여줍니다.
그림 1 • 최상위 블록 다이어그램
코드 섀도잉은 외부의 더 빠르고 휘발성 메모리(DRAM)에서 이미지를 실행하는 데 사용되는 부팅 방법입니다. 실행을 위해 비휘발성 메모리에서 휘발성 메모리로 코드를 복사하는 과정입니다.
프로세서와 연결된 비휘발성 메모리가 제자리 실행을 위한 코드에 대한 임의 액세스를 지원하지 않거나 비휘발성 임의 액세스 메모리가 충분하지 않은 경우 코드 섀도잉이 필요합니다. 성능이 중요한 응용 프로그램에서는 더 빠른 실행을 위해 코드를 더 높은 처리량의 RAM에 복사하는 코드 섀도잉을 통해 실행 속도를 향상시킬 수 있습니다.
SDR(Single Data Rate)/DDR SDRAM 메모리는 대용량 애플리케이션 실행 가능 이미지가 있고 더 높은 성능이 필요한 애플리케이션에 사용됩니다. 일반적으로 큰 실행 가능 이미지는 NAND 플래시 또는 SPI 플래시와 같은 비휘발성 메모리에 저장되고 실행을 위해 전원이 켜질 때 SDR/DDR SDRAM 메모리와 같은 휘발성 메모리에 복사됩니다.
SmartFusion2 SoC FPGA 장치는 3세대 플래시 기반 FPGA 패브릭, ARM® Cortex®-M2 프로세서 및 고성능 통신 인터페이스를 단일 칩에 통합합니다. SmartFusion2 SoC FPGA 장치의 고속 메모리 컨트롤러는 외부 DDR3/DDR2/LPDDR 메모리와 인터페이스하는 데 사용됩니다. DDR3/DDR333 메모리는 최대 3MHz 속도로 작동할 수 있습니다. Cortex-MXNUMX 프로세서는 MSS(Microcontroller Subsystem) DDR(MDDR)을 통해 외부 DDR 메모리의 명령을 직접 실행할 수 있습니다. FPGA 캐시 컨트롤러와 MSS DDR 브리지는 더 나은 성능을 위해 데이터 흐름을 처리합니다.
설계 요구 사항
표 1은 이 데모의 설계 요구 사항을 보여줍니다.
표 1 • 설계 요구 사항
디자인 요구 사항 | 설명 |
하드웨어 요구 사항 | |
SmartFusion2 고급 개발 키트: • 12V 어댑터 • 플래시프로5 • USB A-Mini – B USB 케이블 |
Rev A 이상 |
데스크톱 또는 노트북 | Windows XP SP2 운영 체제 - 32비트/64비트 Windows 7 운영 체제 - 32비트/64비트 |
소프트웨어 요구 사항 | |
Libero® 시스템 온 칩(SoC) | v11.7 |
FlashPro 프로그래밍 소프트웨어 | v11.7 |
소프트콘솔 | v3.4 SP1* |
PC 드라이버 | UART 드라이버에 USB |
마이크로소프트 .NET 프레임워크 4 클라이언트 데모 GUI 시작 | _ |
메모: *이 튜토리얼에서는 SoftConsole v3.4 SP1을 사용합니다. SoftConsole v4.0 사용에 대해서는 다음을 참조하십시오. TU0546: 소프트콘솔 v4.0 및 Libero SoC v11.7 튜토리얼. |
데모 디자인
소개
데모 디자인 files는 Micro Semiconductor의 다음 경로에서 다운로드할 수 있습니다. web대지:
http://soc.microsemi.com/download/rsc/?f=m2s_dg0386_liberov11p7_df
데모 디자인 files에는 다음이 포함됩니다.
- 리베로 SoC 프로젝트
- STAPL 프로그래밍 files
- GUI 실행 가능
- Samp응용 프로그램 이미지
- 링커 스크립트
- DDR 구성 files
- 읽어주세요.txt file
readme.txt를 참조하십시오. file 디자인에서 제공 files는 전체 디렉토리 구조를 나타냅니다.
설명
이 데모 디자인은 DDR 메모리에서 애플리케이션 이미지를 부팅하는 코드 섀도잉 기술을 구현합니다. 이 설계는 또한 대상 애플리케이션 실행 가능 이미지를 MSS SPI2 인터페이스에 연결된 SPI 플래시에 로드하기 위해 SmartFusion0 SoC FPGA 다중 모드 범용 비동기/동기 수신기/송신기(MMUART)를 통해 호스트 인터페이스를 제공합니다.
코드 섀도잉은 다음 두 가지 방법으로 구현됩니다.
- 멀티tagCortex-M3 프로세서를 이용한 부팅 프로세스 방식
- FPGA 패브릭을 이용한 하드웨어 부트 엔진 방식
멀티에스tage 부트 프로세스 방법
응용 프로그램 이미지는 다음 두 부팅에서 외부 DDR 메모리에서 실행됩니다.tag에스:
- Cortex-M3 프로세서는 임베디드 비휘발성 메모리(eNVM)에서 소프트 부트 로더를 부팅하여 SPI 플래시 장치에서 DDR 메모리로 코드 이미지 전송을 수행합니다.
- Cortex-M3 프로세서는 DDR 메모리에서 애플리케이션 이미지를 부팅합니다.
이 설계는 실행을 위해 SPI 플래시 장치에서 DDR 메모리로 대상 애플리케이션 실행 가능 이미지를 로드하는 부트로더 프로그램을 구현합니다. eNVM에서 실행되는 부트로더 프로그램은 타겟 애플리케이션 이미지가 DDR 메모리에 복사된 후 DDR 메모리에 저장된 타겟 애플리케이션으로 점프합니다.
그림 2는 데모 설계의 세부 블록 다이어그램을 보여줍니다.
그림 2 • 코드 섀도잉 - Multi Stage 부트 프로세스 데모 블록 다이어그램
MDDR은 DDR3이 320MHz에서 작동하도록 구성됩니다. 3페이지의 "부록: DDR22 구성"은 DDR3 구성 설정을 보여줍니다. DDR은 기본 애플리케이션 코드를 실행하기 전에 구성됩니다.
부트로더
부트로더는 다음 작업을 수행합니다.
- SPI 플래시 메모리에서 DDR 메모리로 대상 애플리케이션 이미지 복사.
- DDR_CR 시스템 레지스터를 구성하여 DDR 메모리 시작 주소를 0xA0000000에서 0x00000000으로 다시 매핑합니다.
- 대상 애플리케이션에 따라 Cortex-M3 프로세서 스택 포인터를 초기화합니다. 대상 응용 프로그램 벡터 테이블의 첫 번째 위치에는 스택 포인터 값이 포함되어 있습니다. 대상 응용 프로그램의 벡터 테이블은 주소 0x00000000부터 사용할 수 있습니다.
- DDR 메모리에서 대상 애플리케이션 이미지를 실행하기 위해 대상 애플리케이션의 핸들러를 재설정하기 위해 프로그램 카운터(PC)를 로드합니다. 대상 응용 프로그램의 재설정 처리기는 주소 0x00000004의 벡터 테이블에서 사용할 수 있습니다.
그림 3은 데모 설계를 보여줍니다.
그림 3 • Multi-S의 설계 흐름tage 부트 프로세스 방법
하드웨어 부팅 엔진 방법
이 방법에서 Cortex-M3는 외부 DDR 메모리에서 대상 애플리케이션 이미지를 직접 부팅합니다. 하드웨어 부트 엔진은 Cortex-M3 프로세서 재설정을 해제하기 전에 SPI 플래시 장치에서 DDR 메모리로 애플리케이션 이미지를 복사합니다. 재설정을 해제하면 Cortex-M3 프로세서가 DDR 메모리에서 직접 부팅됩니다. 이 방법은 multi-s보다 부팅 시간이 짧습니다.tag여러 번의 부팅을 피하는 부팅 프로세스tag애플리케이션 이미지를 짧은 시간에 DDR 메모리에 복사합니다.
이 데모 설계는 실행을 위해 SPI 플래시에서 DDR 메모리로 타겟 애플리케이션 실행 가능 이미지를 복사하기 위해 FPGA 패브릭에서 부트 엔진 로직을 구현합니다. 이 설계는 또한 SmartFusion3 SoC FPGA MMUART_2을 통해 제공된 호스트 인터페이스를 사용하여 타겟 애플리케이션 실행 가능 이미지를 SPI 플래시 장치로 로드하기 위해 Cortex-M0 프로세서에 의해 실행될 수 있는 SPI 플래시 로더를 구현합니다. SmartFusion1 고급 개발 키트의 DIP 스위치2를 사용하여 SPI 플래시 장치를 프로그래밍할지 또는 DDR 메모리에서 코드를 실행할지 선택할 수 있습니다.
SPI 플래시 장치에서 실행 가능한 대상 응용 프로그램을 사용할 수 있는 경우 SPI 플래시 장치에서 DDR 메모리로의 코드 섀도잉은 장치 전원을 켤 때 시작됩니다. 부트 엔진은 MDDR을 초기화하고 SPI 플래시 장치에서 DDR 메모리로 이미지를 복사하고 Cortex-M0 프로세서를 재설정 상태로 유지하여 DDR 메모리 공간을 00000000x3으로 다시 매핑합니다. 부트 엔진이 Cortex-M3 재설정을 해제한 후 Cortex-M3는 DDR 메모리에서 대상 애플리케이션을 실행합니다.
FIC_0은 슬레이브 모드에서 구성되어 FPGA 패브릭 AHB 마스터에서 MSS SPI_0에 액세스합니다. MDDR AXI 인터페이스(DDR_FIC)는 FPGA 패브릭 AXI 마스터에서 DDR 메모리에 액세스할 수 있습니다.
그림 4는 데모 설계의 세부 블록 다이어그램을 보여줍니다.
그림 4 • 코드 섀도잉 – 하드웨어 부팅 엔진 데모 블록 다이어그램
부트 엔진
이것은 SPI 플래시 장치에서 DDR 메모리로 애플리케이션 이미지를 복사하는 코드 섀도잉 데모의 주요 부분입니다. 부트 엔진은 다음 작업을 수행합니다.
- Cortex-M3 프로세서를 재설정 상태로 유지하여 320MHz에서 DDR3에 액세스하기 위해 MDDR을 초기화합니다.
- MDDR AXI 인터페이스를 통해 FPGA 패브릭의 AXI 마스터를 사용하여 대상 애플리케이션 이미지를 SPI 플래시 메모리 장치에서 DDR 메모리로 복사합니다.
- DDR_CR 시스템 레지스터에 기록하여 DDR 메모리 시작 주소를 0xA0000000에서 0x00000000으로 다시 매핑합니다.
- DDR 메모리에서 부팅하기 위해 Cortex-M3 프로세서로 재설정을 해제합니다.
그림 5는 데모 설계 흐름을 보여줍니다.
그림 5 • 최상위 블록 다이어그램
그림 6 • 하드웨어 부팅 엔진 방법의 설계 흐름
DDR 메모리용 대상 애플리케이션 이미지 생성
데모를 실행하려면 DDR 메모리에서 실행할 수 있는 이미지가 필요합니다. "production-execute-in-place-externalDDR.ld" 링커 설명 사용 file 디자인에 포함된 files는 애플리케이션 이미지를 빌드합니다. 링커 설명 file 부트로더/부트 엔진이 0xA00000000에서 0x0000000으로 DDR 메모리 재매핑을 수행하므로 DDR 메모리 시작 주소를 0x00000000으로 정의합니다. 링커 스크립트는 시작 주소가 0x00000000인 메모리에 명령어, 데이터 및 BSS 섹션이 있는 애플리케이션 이미지를 생성합니다. 간단한 발광 다이오드(LED) 깜박임, 타이머 및 스위치 기반 인터럽트 생성 애플리케이션 이미지 file 이 데모를 위해 제공됩니다.
SPI 플래시 로더
SPI 플래시 로더는 MMUART_0 인터페이스를 통해 호스트 PC에서 실행 가능한 대상 애플리케이션 이미지와 함께 온보드 SPI 플래시 메모리를 로드하도록 구현됩니다. Cortex-M3 프로세서는 MMUART_0 인터페이스를 통해 들어오는 데이터에 대한 버퍼를 만들고 버퍼링된 데이터를 MSS_SPI0을 통해 SPI 플래시에 쓰기 위해 주변 장치 DMA(PDMA)를 시작합니다.
데모 실행
데모는 SPI 플래시에서 애플리케이션 이미지를 로드하고 외부 DDR 메모리에서 해당 애플리케이션 이미지를 실행하는 방법을 보여줍니다. 그것은 전을 제공합니다amp파일 애플리케이션 이미지ample_image_DDR3.bin”. 이 이미지는 직렬 콘솔의 환영 메시지와 타이머 중단 메시지를 보여주고 SmartFusion1 고급 개발 키트의 LED8에서 LED2까지 깜박입니다. 직렬 콘솔에서 GPIO 인터럽트 메시지를 보려면 SW2 또는 SW3 스위치를 누르십시오.
데모 디자인 설정
다음 단계에서는 SmartFusion2 고급 개발 키트 보드용 데모를 설정하는 방법을 설명합니다.
- USB A to mini-B 케이블을 사용하여 호스트 PC를 J33 커넥터에 연결합니다. USB to UART 브리지 드라이버가 자동으로 감지됩니다. 그림 7과 같이 장치 관리자에서 감지되는지 확인합니다.
- USB 드라이버가 자동으로 감지되지 않으면 USB 드라이버를 설치하십시오.
- FTDI 미니 USB 케이블을 통한 직렬 터미널 통신의 경우 FTDI D2XX 드라이버를 설치하십시오. 다음에서 드라이버 및 설치 가이드를 다운로드하십시오.
http://www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip.
그림 7 • USB 대 UART 브리지 드라이버
- 표 2와 같이 SmartFusion2 고급 개발 키트 보드에 점퍼를 연결합니다.
주의: 점퍼를 연결하는 동안 전원 공급 스위치 SW7을 끕니다.
표 2 • SmartFusion2 고급 개발 키트 점퍼 설정점퍼 핀(보낸 사람) 핀(끝) 댓글 D116, D353, D354, D54 1 2 고급 개발 키트 보드의 기본 점퍼 설정입니다. 이러한 점퍼가 적절하게 설정되어 있는지 확인하십시오. J123 2 3 J124, J121, J32 1 2 JTAG FTDI를 통한 프로그래밍 J118, J119 1 2 프로그래밍 SPI 플래시 - SmartFusion2 고급 개발 키트에서 전원 공급 장치를 J42 커넥터에 연결합니다.
그림 8.은 SmartFusion3 고급 개발 키트에서 SPI 플래시에서 DDR2 데모로 코드 섀도잉을 실행하기 위한 보드 설정을 보여줍니다.
그림 8 • SmartFusion2 고급 개발 키트 설정
SPI 플래시 로더 및 코드 섀도잉 데모 GUI
코드 섀도잉 데모를 실행하려면 GUI가 필요합니다. SPI 플래시 로더 및 코드 섀도잉 데모 GUI는 호스트 PC에서 실행되어 SPI 플래시를 프로그래밍하고 SmartFusion2 고급 개발 키트에서 코드 섀도잉 데모를 실행하는 간단한 그래픽 사용자 인터페이스입니다. UART는 호스트 PC와 SmartFusion2 고급 개발 키트 간의 통신 프로토콜입니다. 또한 UART 인터페이스를 통해 애플리케이션에서 수신한 디버그 메시지를 인쇄하는 직렬 콘솔 섹션을 제공합니다.
그림 9는 SPI 플래시 로더 및 코드 섀도잉 데모 창을 보여줍니다.
그림 9 • SPI 플래시 로더 및 코드 섀도잉 데모 창
GUI는 다음 기능을 지원합니다.
- 프로그램 SPI 플래시: 이미지 프로그래밍 file SPI 플래시에.
- SPI 플래시에서 DDR로 프로그램 및 코드 섀도잉: 이미지 프로그래밍 file SPI 플래시에 저장하고 DDR 메모리에 복사한 다음 DDR 메모리에서 이미지를 부팅합니다.
- SPI 플래시에서 SDR로 프로그램 및 코드 섀도잉: 이미지 프로그래밍 file SPI 플래시에 저장하고 SDR 메모리에 복사하고 SDR 메모리에서 이미지를 부팅합니다.
- Code Shadowing to DDR: 기존 이미지 복사 file SPI 플래시에서 DDR 메모리로 연결하고 DDR 메모리에서 이미지를 부팅합니다.
- SDR에 대한 코드 섀도잉: 기존 이미지 복사 file SPI 플래시에서 SDR 메모리로 전송하고 SDR 메모리에서 이미지를 부팅합니다. GUI에 대한 자세한 내용을 보려면 도움말을 클릭하십시오.
Multi-S용 데모 설계 실행tage 부트 프로세스 방법
다음 단계에서는 multi-s에 대한 데모 설계를 실행하는 방법을 설명합니다.tag전자 부팅 프로세스 방법:
- 전원 공급 스위치 SW7을 켭니다.
- 프로그래밍으로 SmarFusion2 SoC FPGA 장치 프로그래밍 file 디자인에서 제공 files (SF2_CodeShadowing_DDR3_DF\프로그래밍 Files\MultiStagFlashPro 디자인 소프트웨어를 사용하는 eBoot_meothod\CodeShadowing_top.stp).
- SPI 플래시 로더 및 코드 섀도잉 데모 GUI 실행 파일 실행 file 디자인에서 사용 가능 files (SF2_CodeShadowing_DDR3_DF\GUI 실행 파일\SF2_FlashLoader.exe).
- COM 포트 드롭다운 목록에서 적절한 COM 포트(USB 직렬 드라이버가 가리키는 포트)를 선택합니다.
- 연결을 클릭합니다. 연결이 설정되면 Connect가 Disconnect로 변경됩니다.
- 찾아보기를 클릭하여 ex를 선택합니다.amp파일 대상 실행 가능 이미지 file 디자인과 함께 제공되는 files
(SF2_CodeShadowing_DDR3_DF/Samp파일 애플리케이션 이미지/초ample_image_DDR3.bin).
메모: 애플리케이션 이미지 저장소를 생성하려면 file, "부록: 실행 가능한 저장소 생성" 참조 File” 25페이지. - SPI 플래시 메모리의 시작 주소를 기본값인 0x00000000으로 유지합니다.
- SPI 플래시에서 DDR로 프로그램 및 코드 섀도잉 옵션을 선택합니다.
- 그림 10과 같이 시작을 클릭하여 실행 가능한 이미지를 SPI 플래시로 로드하고 DDR 메모리에서 코드 섀도잉을 합니다.
그림 10 • 데모 시작
- SmartFusion2 SoC FPGA 장치가 STAPL로 프로그래밍된 경우 file MDDR이 DDR 메모리용으로 구성되지 않은 경우 그림 11과 같이 오류 메시지가 표시됩니다.
그림 11 • 잘못된 장치 또는 옵션 메시지
- GUI의 직렬 콘솔 섹션은 디버그 메시지를 표시하고 SPI 플래시를 성공적으로 지울 때 SPI 플래시 프로그래밍을 시작합니다. 그림 12는 SPI 플래시 쓰기 상태를 보여줍니다.
그림 12 • 플래시 로딩
- SPI 플래시를 성공적으로 프로그래밍하면 SmartFusion2 SoC FPGA에서 실행되는 부트로더가 SPI 플래시에서 DDR 메모리로 애플리케이션 이미지를 복사하고 애플리케이션 이미지를 부팅합니다. 제공된 이미지의 경우ample_image_DDR3.bin을 선택하면 직렬 콘솔에 시작 메시지, 스위치 인터럽트 및 타이머 인터럽트 메시지가 표시됩니다(13페이지의 그림 18 및 14페이지의 그림 18 참조). 실행 중인 LED 패턴은 SmartFusion1 Advanced Development의 LED8~LED2에 표시됩니다. 전부.
- 직렬 콘솔에서 인터럽트 메시지를 보려면 SW2 및 SW3 스위치를 누르십시오.
그림 13 • DDR3 메모리에서 대상 애플리케이션 이미지 실행
그림 14 • 직렬 콘솔의 타이머 및 인터럽트 메시지
하드웨어 부팅 엔진 방법 설계 실행
다음 단계에서는 하드웨어 부트 엔진 메서드 디자인을 실행하는 방법을 설명합니다.
- 전원 공급 스위치 SW7을 켭니다.
- 프로그래밍으로 SmarFusion2 SoC FPGA 장치 프로그래밍 file 디자인에서 제공 files (SF2_CodeShadowing_DDR3_DF\프로그래밍
Files\HWBootEngine_method\CodeShadowing_Fabric.stp(FlashPro 디자인 소프트웨어 사용). - SPI 플래시를 프로그래밍하려면 DIP 스위치 SW5-1을 ON 위치로 설정합니다. 이 선택은 eNVM에서 Cortex-M3을 부팅하도록 합니다. SmartFusion6 장치를 재설정하려면 SW2을 누르십시오.
- SPI 플래시 로더 및 코드 섀도잉 데모 GUI 실행 파일 실행 file 디자인에서 사용 가능 files (SF2_CodeShadowing_DDR3_DF\GUI 실행 파일\SF2_FlashLoader.exe).
- COM 포트 드롭다운 목록에서 적절한 COM 포트(USB 직렬 드라이버가 가리키는 포트)를 선택합니다.
- 연결을 클릭합니다. 연결이 설정되면 Connect가 Disconnect로 변경됩니다.
- 찾아보기를 클릭하여 ex를 선택합니다.amp파일 대상 실행 가능 이미지 file 디자인과 함께 제공되는 files
(SF2_CodeShadowing_DDR3_DF/Samp파일 애플리케이션 이미지/초ample_image_DDR3.bin).
메모: 애플리케이션 이미지 저장소를 생성하려면 file, "부록: 실행 가능한 저장소 생성" 참조 File” 25페이지. - 코드 섀도잉 방법에서 하드웨어 부팅 엔진 옵션을 선택합니다.
- 옵션 메뉴에서 프로그램 SPI 플래시 옵션을 선택합니다.
- 그림 15와 같이 시작을 클릭하여 실행 가능한 이미지를 SPI 플래시로 로드합니다.
그림 15 • 데모 시작
- GUI의 직렬 콘솔 섹션은 그림 16과 같이 디버그 메시지와 SPI 플래시 쓰기 상태를 보여줍니다.
그림 16 • 플래시 로딩
- SPI 플래시를 성공적으로 프로그래밍한 후 DIP 스위치 SW5-1을 OFF 위치로 변경합니다. 이 선택으로 DDR 메모리에서 Cortex-M3 프로세서를 부팅할 수 있습니다.
- SmartFusion6 장치를 재설정하려면 SW2을 누르십시오. 부트 엔진은 SPI 플래시에서 DDR 메모리로 애플리케이션 이미지를 복사하고 DDR 메모리에서 애플리케이션 이미지를 부팅하는 Cortex-M3에 대한 재설정을 해제합니다. 제공된 이미지가ample_image_DDR3.bin”이 SPI 플래시에 로드되고 직렬 콘솔에 시작 메시지, 스위치 인터럽트(SW2 또는 SW3 누름) 및 타이머 인터럽트 메시지가 그림 17과 같이 표시되고 실행 중인 LED 패턴이 SmartFusion1 Advanced의 LED8~LED2에 표시됩니다. 개발 키트.
그림 17 • DDR3 메모리에서 대상 애플리케이션 이미지 실행
결론
이 데모는 SmartFusion2 SoC FPGA 장치가 DDR 메모리와 인터페이스하고 SPI 플래시 메모리 장치의 코드를 섀도잉하여 DDR 메모리에서 실행 가능한 이미지를 실행하는 기능을 보여줍니다. 또한 SmartFusion2 장치에서 코드 섀도잉 구현의 두 가지 방법을 보여줍니다.
부록: DDR3 구성
다음 그림은 DDR3 구성 설정을 보여줍니다.
그림 18 • 일반 DDR 구성 설정
그림 19 • DDR 메모리 초기화 설정
그림 20 • DDR 메모리 타이밍 설정
부록: 실행 가능한 저장소 생성 File
실행 가능한 빈 file 코드 섀도잉 데모를 실행하기 위해 SPI 플래시를 프로그래밍하는 데 필요합니다. 실행 가능한 빈을 생성하려면 file "에서ample_image_DDR3” 소프트 콘솔에서 다음 단계를 수행하십시오.
- 링커 스크립트 production-execute-in-place-external DDR을 사용하여 Soft Console 프로젝트를 빌드합니다.
- 예를 들어 Soft Console 설치 경로를 추가합니다.amp그림 11.7과 같이 C:\Microsemi\Libero_v21\SoftConsole\Sourcery-G++\bin을 'Environment Variables'에 추가합니다.
그림 21 • Soft Console 설치 경로 추가
- 배치 두 번 클릭 file 큰 상자-File-Generator.bat 위치:
소프트콘솔/CodeShadowing_MSS_CM3/Samp그림 3와 같이 le_image_DDR22 폴더.
그림 22 • 빈 File 발전기
- 빈-File-Generator는 s를 생성합니다.ample_image_DDR3.bin file.
개정 내역
다음 표에는 이 문서의 각 개정판에 대한 중요한 변경 사항이 나와 있습니다.
개정 | 변화 |
개정판 7 (2016년 XNUMX월) |
Libero SoC v11.7 소프트웨어 릴리스(SAR 77816)에 대한 문서를 업데이트했습니다. |
개정판 6 (2015년 XNUMX월) |
Libero SoC v11.6 소프트웨어 릴리스(SAR 72424)에 대한 문서를 업데이트했습니다. |
개정판 5 (2014년 XNUMX월) |
Libero SoC v11.4 소프트웨어 릴리스(SAR 60592)에 대한 문서를 업데이트했습니다. |
개정판 4 (2014년 XNUMX월) |
Libero SoC 11.3 소프트웨어 릴리스(SAR 56851)에 대한 문서를 업데이트했습니다. |
개정판 3 (2013년 XNUMX월) |
Libero SoC v11.2 소프트웨어 릴리스(SAR 53019)에 대한 문서를 업데이트했습니다. |
개정판 2 (2013년 XNUMX월) |
Libero SoC v11.0 소프트웨어 릴리스(SAR 47552)에 대한 문서를 업데이트했습니다. |
개정판 1 (2013년 XNUMX월) |
Libero SoC v11.0 베타 SP1 소프트웨어 릴리스(SAR 45068)에 대한 문서를 업데이트했습니다. |
제품 지원
Microsemi SoC 제품 그룹은 고객 서비스, 고객 기술 지원 센터, web사이트, 전자 메일 및 전세계 판매 사무소. 이 부록에는 Microsemi SoC 제품 그룹에 연락하고 이러한 지원 서비스를 사용하는 방법에 대한 정보가 포함되어 있습니다.
고객 서비스
제품 가격, 제품 업그레이드, 업데이트 정보, 주문 상태 및 승인과 같은 비기술적 제품 지원에 대해서는 고객 서비스에 문의하십시오.
- 북미에서 전화하려면 800.262.1060으로 전화하세요.
- 전 세계에서 650.318.4460으로 전화하세요.
- 팩스: 전 세계 어디에서나 408.643.6913
고객기술지원센터
Microsemi SoC 제품 그룹은 Microsemi SoC 제품에 대한 하드웨어, 소프트웨어 및 설계 질문에 답변할 수 있는 고도로 숙련된 엔지니어로 구성된 고객 기술 지원 센터 직원입니다. 고객 기술 지원 센터는 애플리케이션 노트, 일반적인 설계 주기 질문에 대한 답변, 알려진 문제에 대한 문서 및 다양한 FAQ를 작성하는 데 많은 시간을 할애합니다. 따라서 저희에게 연락하기 전에 온라인 리소스를 방문하십시오. 귀하의 질문에 이미 답변했을 가능성이 큽니다.
기술 지원
Microsemi SoC 제품 지원은 다음을 방문하십시오.
http://www.microsemi.com/products/fpga-soc/design-support/fpga-soc-support.
Web대지
Microsemi SoC 제품 그룹 홈페이지에서 다양한 기술 및 비기술 정보를 찾아볼 수 있습니다. http://www.microsemi.com/products/fpga-soc/fpga-and-soc.
고객 기술 지원 센터에 문의하기
고도로 숙련된 엔지니어가 기술 지원 센터에 상주합니다. 기술 지원 센터는 이메일 또는 Microsemi SoC 제품 그룹을 통해 연락할 수 있습니다. web대지.
이메일
기술적인 질문을 이메일 주소로 전달하고 이메일, 팩스 또는 전화로 답변을 받을 수 있습니다. 또한 디자인 문제가 있는 경우 디자인을 이메일로 보낼 수 있습니다. files 도움을 받을 수 있습니다. 우리는 하루 종일 이메일 계정을 지속적으로 모니터링합니다. 귀하의 요청을 보내실 때 귀하의 요청을 효율적으로 처리하기 위해 귀하의 성명, 회사 이름 및 연락처 정보를 반드시 포함하십시오.
기술 지원 이메일 주소는 soc_tech@microsemi.com.
내 사례
Microsemi SoC 제품 그룹 고객은 내 사례로 이동하여 온라인으로 기술 사례를 제출하고 추적할 수 있습니다.
미국 외 지역
미국 시간대 이외의 지역에서 지원이 필요한 고객은 이메일(soc_tech@microsemi.com) 또는 현지 영업소에 문의하십시오. 판매 사무소 목록 및 회사 연락처를 보려면 About Us를 방문하십시오.
ITAR 기술 지원
ITAR(International Traffic in Arms Regulations)에 의해 규제되는 RH 및 RT FPGA에 대한 기술 지원은 다음을 통해 문의하십시오. soc_tech@microsemi.com. 또는 My Cases의 ITAR 드롭다운 목록에서 Yes를 선택합니다. ITAR 규제 Microsemi FPGA의 전체 목록을 보려면 ITAR를 방문하십시오. web 페이지.
마이크로세미 본사
원 엔터프라이즈, 알리소 비에호,
CA 92656 미국
미국 내: +1 (800)
713-4113 외부
미국: +1 949-380-6100
판매: +1 949-380-6136
팩스 : +1 949-215-4996
이메일: sales.support@microsemi.com
© 2016 마이크로세미 코퍼레이션.
판권 소유. Microsemi 및 Microsemi 로고는 Microsemi Corporation의 상표입니다.
기타 모든 상표 및 서비스 마크는 해당 소유자의 재산입니다.
Microsemi Corporation(Nasdaq: MSCC)은 통신, 방위 및 보안, 항공우주 및 산업 시장을 위한 포괄적인 반도체 및 시스템 솔루션 포트폴리오를 제공합니다. 제품에는 고성능 및 내방사선 아날로그 혼합 신호 집적 회로, FPGA, SoC 및 ASIC가 포함됩니다. 전력 관리 제품; 시간에 대한 세계 표준을 설정하는 타이밍 및 동기화 장치와 정확한 시간 솔루션; 음성 처리 장치; RF 솔루션; 이산 부품; 엔터프라이즈 스토리지 및 통신 솔루션, 보안 기술 및 확장 가능한 안티 Tamp어 제품; 이더넷 솔루션; PoE(Power-over-Ethernet) IC 및 미드스팬; 맞춤형 설계 기능 및 서비스를 제공합니다. Microsemi는 캘리포니아주 Aliso Viejo에 본사를 두고 있으며 전 세계적으로 약 4,800명의 직원이 근무하고 있습니다. 자세한 내용은 www.microsemi.com.
Microsemi는 여기에 포함된 정보 또는 특정 목적에 대한 제품 및 서비스의 적합성에 대해 어떠한 보증, 표현 또는 보장도 하지 않으며, Microsemi는 제품 또는 회로의 적용 또는 사용으로 인해 발생하는 어떠한 책임도 지지 않습니다. 본 계약에 따라 판매되는 제품 및 Microsemi에서 판매하는 기타 모든 제품은 제한된 테스트를 거쳤으며 미션 크리티컬 장비 또는 애플리케이션과 함께 사용해서는 안 됩니다. 모든 성능 사양은 신뢰할 수 있는 것으로 여겨지지만 검증되지 않았으며 구매자는 최종 제품과 함께 또는 최종 제품에 설치된 제품의 모든 성능 및 기타 테스트를 단독으로 수행하고 완료해야 합니다. 구매자는 Microsemi에서 제공하는 데이터 및 성능 사양 또는 매개변수에 의존해서는 안 됩니다. 모든 제품의 적합성을 독립적으로 결정하고 동일한 제품을 테스트 및 확인하는 것은 구매자의 책임입니다. 본 계약에 따라 Microsemi가 제공하는 정보는 모든 결함과 함께 "있는 그대로, 있는 그대로" 제공되며 이러한 정보와 관련된 모든 위험은 전적으로 구매자에게 있습니다. Microsemi는 명시적이든 묵시적이든 해당 정보 자체 또는 해당 정보에 설명된 모든 것과 관련하여 특허권, 라이선스 또는 기타 IP 권리를 당사자에게 부여하지 않습니다. 이 문서에 제공된 정보는 Microsemi의 소유이며 Microsemi는 이 문서의 정보나 제품 및 서비스를 사전 통지 없이 언제든지 변경할 수 있는 권리를 보유합니다.
문서 / 리소스
![]() |
SPI 플래시에서 DDR 메모리로의 Microsemi SmartFusion2 SoC FPGA 코드 섀도잉 [PDF 파일] 사용 설명서 SPI 플래시에서 DDR 메모리로 SmartFusion2 SoC FPGA 코드 섀도잉, SmartFusion2 SoC, SPI 플래시에서 DDR 메모리로, 플래시에서 DDR 메모리로 FPGA 코드 섀도잉 |