MicroBlaze의 SDK 프로젝트를 SPI Flash에 저장하는 방법

개요



Bitstream 및 MicroBlaze 소프트웨어를 외부 SPI Flash에 쓰고,
FPGA를 켜면 자동으로 구성되도록 설정합니다.
SDK 프로젝트를 SPI에 쓰는 몇 가지 방법이 있지만 아마도이 방법이 가장 쉽습니다.

환경


  • Vivado 2018.3
  • 사용할 보드 : Digilent Cmod A7-35T (뭐든지 좋습니다)

  • 1. Vivado 프로젝트 준비



    SPI Flash에 쓰고 싶은 Vivado 프로젝트를 준비.
    이번에는 이전 GPIO 인터럽트를 MicroBlaze로 구현 한 프로젝트 을 사용하여 설명합니다. (SPI나 IIC 코어가 추가되어 있습니다만, 무시해서 괜찮습니다.)
    미리 Generate Bitstream을 실행해 둡니다.


    2. SPI Flash를 사용하는 설정



    Open Implementation Design을 클릭하여 IMPLEMENTED DESIGN 화면을 엽니다.
    (이것을 열지 않으면 일부 설정 화면을 열 수 없습니다)


    PROJECT MANAGER 설정을 클릭


    -bin_file을 체크하고, Flash에 기입하기 위한 bin 파일을 생성하는 설정으로 변경
    Configure additional bitstream settings.를 클릭하십시오.


    General 탭의 Enable Bitstream Compression을 TRUE로 변경하고 생성된 Bitstream 압축


    Configuration 탭의 Configuration Rate (MHz)를 33으로 설정 (너무 빠르면 값을 줄일 수 있음)


    Configuration Modes 탭에서 SPI Flash와의 연결 방법 선택
    이번 사용하는 보드에서는 Master SPIx4로 연결되어 있다.
    보드에 맞춘 설정으로 한다.


    OK를 눌러 설정을 저장

    3. 쓸 SDK 프로젝트 선택



    GPIO 인터럽트 프로젝트에서는 SDK 프로젝트도 작성하고,<Vivadoプロジェクトルート>/<Vivadoプロジェクト名>.sdk/<SDKプロジェクト名>/Debug/<SDKプロジェクト名>.elf에 elf 파일이 생성되었습니다.

    Vivado의 Tools -> Assosiate ELF Files...를 선택하고 Design Sources 측의 microblaze_0에 Add Files에서 실행할 SDK 프로젝트의 elf 파일을 추가




    Generate Bitstream 실행
    이 때 압축 된 Bitstream과 elf 파일이 하나로 결합 된 bin 파일이<Vivadoプロジェクトルート>/<Vivadoプロジェクト名>.runs/impl_1/<トップモジュール名>.bin에 생성되었습니다.

    4. Flash 쓰기



    FPGA 보드를 PC에 연결하고 Open Hardware Manage에서 FPGA 보드에 연결
    FPGA 디바이스 이름을 마우스 오른쪽 버튼으로 클릭하고 Add Configuration Memory Device...를 클릭합니다.

    FPGA 보드에 탑재된 SPI Flash의 모델 번호를 검색하고 확인을 클릭합니다.
    이번 사용하는 보드에서는 "n25q32-3.3v-spi-x1_x2_x4"가 탑재되어 있었다.


    SPI Flash 이름을 마우스 오른쪽 버튼으로 클릭하고 Program Configuration Memory Device를 클릭합니다.


    Configuration file에 생성한 bin 파일을 선택해 OK로 기입한다
    쓰기가 완료되면 FPGA 보드 분리

    5. 실행 테스트



    FPGA 보드와 USB로 연결하여 GPIO Interrupt 테스트 프로그램이 작동하고 있음을 확인할 수있었습니다.

    좋은 웹페이지 즐겨찾기