logo-logo

intel UG-20080 Stratix 10 SoC UEFI Boot Loader

intel-UG-20080-Stratix-10-SoC -Boot-Loader-oloa

Ua umaview

O lenei pepa o loʻo tuʻuina atu faʻamatalaga auiliili i le Unified Extensible Firmware Interface (UEFI) boot loader mo Intel Stratix 10 SoC. O le Intel Stratix 10 SoC e maua ai se tafega faʻamautu, e aofia ai

  • O le boot ROM
  • Le pule o masini saogalemu (SDM)
  • Le Mataitu Saogalemu
  • Le UEFI boot loader

O le Intel Stratix 10 SoC faʻamautu faʻaulu faʻamaufaʻailoga e faʻamautinoaina o loʻo sainia le faʻapipiʻiina o le faʻapipiʻi faʻapipiʻi ma se ki faʻamaonia, faʻamaonia e le firmware. O le Mataitu Saogalemu stage fa'atinoina fo'i le TrustZone* fa'ata'ita'iga o le vaeluaga malu. O lenei faʻataʻitaʻiga e vaevaeina le siosiomaga polokalama i ni vaega tuʻufua se lua, e taʻua o le lalolagi malupuipuia ma le lalolagi e le saogalemu. O lalolagi e lua e mafai ona faʻafesoʻotaʻi le tasi i le isi e ala i le Secure Monitor. E mafai ona teuina le ata binary o le UEFI boot loader i le Quad SPI flash SD/MMC card. I luga o le faʻaleleia o le eletise, e utaina saʻo e le pule o masini (SDM) le Secure Monitor i luga o le Hard Processor System (HPS) on-chip RAM. Ona utaina lea e le Secure Monitor le UEFI boot loader i le HPS DDR memory.

O galuega a le Secure Monitor e aofia ai

  • Amataina le DDR SDRAM manatua
  • Fa'atulagaina o mea faigaluega maualalo, e pei o PLL, IOs, ma pine MUXes, e mana'omia e polokalama le saogalemu o le lalolagi.

O galuega a le UEFI boot loader e aofia ai

  • Tuuina atu le lagolago Ethernet
  • Lagolagoina fa'amatalaga fa'apitoa mo su'esu'ega
  • Fa'asolo mai polokalame fa'apipi'i e pei o le fa'aogaina o le pusa po'o le ata o le fatu.

Fa'aaliga: Mo le fa'amaufa'ailoga e le maluelue, o le fa'aogaina o le fa'apipi'i e mafai ona aofia ai ata fatu, masini la'au blob ma filefaiga. Mo se seevae malupuipuia e mafai ona avea ma se fatu malupuipuia.

UEFI Fa'asolo Fa'asolo atuview

intel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-1

System Manaoga

Ina ia utaina ma faʻatino le Intel Stratix 10 SoC Unified Extensible Firmware Interface (UEFI) boot loader, e tatau i lau masini ona ausia manaʻoga nei.

Tulaga Fa'atauta'i Mea Manaomia

  • Linux fale faigaluega ma le faʻatulagaga nei:
    • Serial terminal, pei ole Minicom mo Linux
    • microSD card slot poʻo microSD card tusitala poʻo SD gafatia tusitala ma SD i microSD converter

Avanoa Fa'avae

  Linux
Mafai ona tuufaatasia le UEFI boot loader Ioe
Mafai ona tu'ufa'atasia le Mata'itu Saogalemu Ioe

La'ititi Manaoga Polokalama

  • Intel® SoC FPGA Embedded Development Suite (SoC EDS) v18.1 ma luga
  • Linaro aarch64-linux-gnu-gcc filifili meafaigaluega

Amataina

Fa'apipi'i Vaega Fa'akomepiuta

Fa'apipi'i le Intel SoC EDS

  • E tatau ona e fa'apipi'i le Intel SoC EDS i lau masini.
  • La'u mai le Intel SoC EDS mai le Download Center mo FPGAs.

Fa'apipi'iina o le Mea faigaluega Fa'apipi'i

E te tuufaatasia le UEFI boot loader ma le Secure Monitor ma le GNU Toolchain (EABI Release) mo Arm* Processors. E mafai ona e siiina le GNU Toolchain mai le itulau download a Arm.

  • Linux: gcc-arm-8.3-2019.03-x86_64-aarch64-Linux-gnu.tar.xz
Fausiaina o le Mataitu Saogalemu

A'o fa'ateleina le taua o le saogalemu, o se fofo fa'amautu e avea ma mea e mana'omia i le lalolagi fa'apipi'i. Ina ia mautinoa le saogalemu atoatoa ma se tulaga faʻalagolago, e manaʻomia le vaeluaga malupuipuia. O le Intel Stratix 10 masini e ausia le vaeluaga saogalemu e ala i le faʻatinoina o le TrustZone faʻataʻitaʻiga ma Arm Trusted Firmware (ATF). O le TrustZone faʻataʻitaʻiga vaevae le siosiomaga komipiuta i ni lalolagi tuʻufua se lua, o le lalolagi malupuipuia ma le lalolagi masani, lea e fesoʻotaʻi e se masini komepiuta e taʻua o le Secure Monitor. O lalolagi e lua ua tuueseese avanoa tuatusi talafeagai ma peripheral. Feso'ota'iga i le va o lalolagi e lua e na'o le vala'au i le fa'aa'oa'oga fa'apitoa a le Secure Monitor call (SMC).

O le fofo saogalemu atoatoa boot o

  • BootRom
  • Saogalemu Pule Fa'atonu
  • Mataitu Saogalemu
  • Uboot/UEFI
  • Hypervisor
  • OS

Secure Monitor mode o se tulaga faʻapitoa ma e saogalemu i taimi uma e tusa lava po o le a le tulaga o le NS bit. O le Secure Monitor o le code lea e tamo'e i le Secure Monitor mode ma fa'agasologa o suiga i ma mai le Secure world. O le saogalemu atoa o le polokalama e faalagolago i le saogalemu o lenei code faatasi ai ma le Secure boot code.

Fa'amatalaga Fa'atatau

Fa'amatalaga lautele e uiga i Arm Trusted Firmware

Fa'aoga Fa'aoga

E mafai ona e mauaina uma fa'atulagaga fa'avae i le arm-trusted-firmware/plat/intel/soc/stratix10/include/socfpga_plat_def.h. Mo le fa'aogaina o tagata e fa'aoga, e tatau ona e fesuia'i fa'apogai fa'avae e fa'atatau i ou mana'oga. E te filifilia BOOT_SOURCE_SDMMC pe a fa'aa'e mai le SDMMC pe filifili BOOT_SOURCE_QSPI pe a fa'aa'e mai le QSPI.

  • #fa'amatala BOOT_SOURCE BOOT_SOURCE_SDMMC

Fa'aaliga: Ina ia sui le seevae fileigoa po'o le offset, e mafai ona e suia le #define i lenei file.

Mauaina o le Arm Trusted Firmware Source Code

O le puna ATF o loʻo i GitHub. Ina ia maua le ATF source code, naʻo le taʻavale i laasaga nei

  1. Tatala se nofoaga.
  2. Fausia se lisi fou e siaki ai le ATF source code mai GitHub.
  3. Suia i lenei lisi galue ma faʻapipiʻi le puna ATF mai le Git trees e pei ona taua i lalo:
  4. A maeʻa, sui i le lima-faʻatuatuaina-firmware folder ma fai se Git siaki e pei ona taua i lalo:
    • cd arm-faʻatuatuaina-failautele
    • git siaki socfpga_v2.1

Fa'amatalaga Fa'atatau

  • Fausia le ATF.
  • Tu'ufa'atasia o le UEFI Source Code ma le Linaro Tool Chain.
  • Fa'agaoioi le Mata'itu Saogalemu.

Fausia le ATF

O lenei vaega o loʻo faʻamatalaina pe faʻapefea ona fausia le ATF ma le Linaro GCC compiler. Ina ia amata fausia le ATF ma le Linaro GCC compiler, naʻo le taʻavale i laasaga nei

  1. Suia lau lisi i le nofoaga autu o le ATF e pei ona taua i lalo:
    • cd arm-faʻatuatuaina-failautele
  2. Seti le GCC ala ma le siosiomaga fesuiaʻi CROSS_COMPILE i Linaro koluse tuʻufaʻatasia e pei ona taua i lalo: export PATH= /\gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/:$PATH
    • auina atu i fafo ARCH=arm64
    • auina atu i fafo CROSS_COMPILE=aarch64-linux-gnu-
  3. Aveese atoa le la'au fau e pei ona taua i lalo:
    • fai mama moni
  4. Fausia le ATF i le faʻaaogaina o le poloaiga lenei:
    • fai PLAT=stratix10 bl2 bl31
  5. O fe'au nei e aliali mai pe a manuia le fausiaina o le ATFintel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-5
  6. O le laulau o lo'o i lalo o lo'o lisiina ai le galuega a le Mata'ituina Saogalemu files.

Fa'amatalaga o le Mata'itu Saogalemu Files

File Ala ma le Igoa Fa'amatalaga
\build\stratix10\release\bl31.bin Fausia le binary file
\build\stratix10\release\bl31\bl31.elf Fausia elf file
\build\stratix10\release\bl2.bin Fausia le binary file
\build\stratix10\release\bl2\bl2.elf Fausia elf file

Fausia le UEFI Boot Loader

Ina ia fausia se UEFI boot loader, e te mauaina le UEFI source code ma tuufaatasia le UEFI source ma le mea faigaluega lagolago.

O le Unified Extensible Firmware Interface (UEFI) o se faʻasalalauga faʻapitoa faʻapitoa e faʻafaigofie ma faʻamautinoa le amataina o le faʻavae ma le firmware bootstrap operations. UEFI o loʻo atinaʻe ma lagolagoina e sui mai le silia ma le 250 kamupani faʻatekonolosi e taʻitaʻia pisinisi. Arm ma le Linaro Enterprise Group o loʻo faʻalauiloaina foʻi le faʻaogaina o le UEFI i luga o le faʻataʻitaʻiga o Arm ona o le faʻamatalaga a le UEFI e fesoasoani e faʻavasegaina le faʻagasologa o taʻavale mo Arm processor-based platforms. O tekinolosi a le UEFI e faʻamaonia i le lumanaʻi e ala i le faʻavasegaina o le firmware design nai lo le faʻaogaina o le firmware design. O fa'amatalaga a le UEFI e fa'aolaina ai pisinisi ma tekinolosi, fa'aleleia le fa'atinoga ma le saogalemu, fa'afaigofie le felagolagoma'i i le va o masini, fa'avae ma faiga ma fa'amalieina fa'atekonolosi a le isi tupulaga. Ole fa'amatalaga ole UEFI ole peer-reviewed ma faʻasalalau, faʻatagaina le au atiaʻe e tusi faʻamaufaʻailoga tasi i le faʻavae ma toe faʻaaogaina e aunoa ma le tele o suiga. O lenei toe fa'aogaina e maua ai le tau ma le taimi e fa'asaoina i le taimi o le atina'eina o uta uta. O lenei fa'avae e fa'aogaina le laisene BSD, e fa'atagaina oe e fa'atau fa'atau lau fa'atinoga i ni fa'afitauli tau fa'aletulafono. E mafai ona e tu'ufa'atasia le UEFI source code ile Windows po'o le Linux system.

Mea e mana'omia muamua

O le fausiaina o le UEFI e manaʻomia ni pusa Linux faaopoopo. Faʻalagolago i lau tufatufa Linux, o le poloaiga e faʻapipiʻi afifi e ese:

Afai o loʻo e faʻaaogaina se tufatufa Ubuntu, faʻaoga

  • sudo apt-mau faʻapipiʻi uuid-dev build-essential

Afai e te faʻaaogaina se tufatufa Fedora, faʻaoga

  • sudo yum faʻapipiʻi uuid-devel libuuid-devel

Mo le fausiaina o le UEFI, e manaʻomia le pusa Python. Afai e leʻi maua le Python i luga o lau masini, o le faʻaogaina o poloaiga mai le SoC EDS Embedded Command Shell e maua ai le faʻalagolago i le Python.

Mauaina o le UEFI Source Code

O le UEFI source code o loʻo i GitHub. O laasaga nei e faʻaali atu ia te oe le auala e maua ai le UEFI source code.

  1. Tatala se nofoaga.
  2. Faʻapipiʻi le puna UEFI mai laʻau Git.
  3. A maeʻa, sui i le faila edk2 ma fai se Git siaki.
    • cd edk2
    • git siaki socfpga_udk201905

O le edk2 platforms source code o loʻo i GitHub. Ina ia maua le edk2 platforms source code

Tu'ufa'atasia o le UEFI Source Code ma le Linaro Tool Chain

O lenei vaega o loʻo faʻamatalaina pe faʻafefea ona tuʻufaʻatasia le UEFI source code ma le Linaro toolchain i se Linux system

  1. Tatala se faʻailoga ma ulufale i le faʻatonuga lenei:
    • cd
    • auina atu i fafo PATH= /\gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/:$PATH
    • auina atu i fafo CROSS_COMPILE = aarch64-linux-gnu-
    • auina atu i fafo ARCH=arm64
    • auina atu i fafo GCC48_AARCH64_PREFIX=aarch64-linux-gnu-
  2. Seti le EDK_TOOLS_PATH:
    • auina atu i fafo EDK_TOOLS_PATH=$PWD/edk2/BaseTools
  3. Seti le PACKAGES_PATH e faasino i le nofoaga o faleoloa:
    • auina atu i fafo PACKAGES_PATH= $PWD/edk2:$PWD/edk2-platforms/
  4. Seti le WORKSPACE:
    • auina atu i fafo GALUEGA = $PWD
  5. Seti le siosiomaga faufale:
    • edk2/edksetup.sh
  6. Fausia BaseTools (ia mautinoa ua faʻapipiʻi meafaigaluega a le python):
    • fai -C edk2/BaseTools
  7. Faʻapipiʻi le UEFI bootloader e ala i le tuʻuina atu o le poloaiga lenei:
    • fausia -a AARCH64 -p Platform/Intel/Stratix10/Stratix10SoCPkg.dsc -t GCC48-b DEBUG -y report.log -j build.log -Y PCD -Y LIBRARY -Y FLASH -Y DEPEX -Y BUILD_FLAGS -Y FIXED_ADDRESS
  8. E fa'aalia e lau fa'ailoga se fe'au "Fausia Faia" pe a mae'a le fa'aputuina lelei o le UEFI.
UEFI Fausia Files

O le tuufaatasia o le UEFI source code e fatuina ai mea nei files i le /Build/ Stratix10SoCPkg/RELEASE_GCC48 faila:

UEFI Fausia Files

File Fa'amatalaga
INTELSTRATIX10_EFI.fd Lenei file o le UEFI bootloader e faʻaulu ai le atigi UEFI ma mafai ai le ethernet feature poʻo le faʻaogaina o se talosaga UEFI
Fausia le FIP

FIP o le uta lea e utaina e le BL2 ATF i le RAM ma faʻatino. O le FIP o loʻo i ai le binary mo le BL31 ma le UEFI bootloader, ma se pusa e iloa e BL2.

Ina ia fausia le FIP, mulimuli i tulafono nei

  • auina atu i fafo ARCH = ARM64
  • auina atu i fafo CROSS_COMPILE = aarch64-linux-gnu-
  • cd

Fausia le FIP e ala i le faʻaaogaina o le poloaiga lenei

  • fai fip BL33= /Build/Stratix10SoCPKG/\DEBUG_GCC48/FV/INTELSTRATIX10_EFI.fd fip PLAT=stratix10

Fa'aauau le UEFI ile Intel Stratix 10 Hardware

Tamomoe i luga o se Komiti Fa'aletino ma le ATF ma le UEFI Bootloader

O lenei vaega o loʻo faʻamatalaina pe faʻafefea ona faʻagaoioia le Secure Monitor i luga o se laupapa faʻapitoa.

Fausia se .sof file ma le ATF

  1. Maua se .sof file mai le $SOCEDS_DEST_ROOT fa'apipi'i tusi.
  2. Suia le binary file bl2.bin, gaosia i le Fausiaina o le ATF.
    • aarch64-linux-gnu-objcopy -I binary -O ihex – \-suia-tuatusi 0xffe00000 bl2.bin bl2.hex
  3. Fa'aaofia le fa'aulu i totonu o le .sof file fa'apea:
    • quartus_pfg -c -o hps_path=bl2.hex \ghrd_1sx280lu2f50e2vg.sof ghrd_1sx280lu2f50e2vg_hps.sof

intel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-6

Fa'amatalaga Fa'atatau

  • Fausia le ATF.

Fausia se Ata SD Card

  1. Fausia le UEFI Bootloader ma le FIP e pei o le Fausiaina o le UEFI Boot Loader ma Fausia le FIP.
  2. Fausia Linux ma aʻa file faiga fa'avae ile fa'atonuga ile Rocketboard.
  3. Fausia le ata SD card:
  • Maua le make_image python script ma fa'atino
  • Saunia mea o lo'o i totonu o le vaeluaga o ga'o:
    • mkdir ga'o && cd ga'o
    • cp /linux-socfpga/arch/arm64/boot/Image
    • cp /linux-socfpga/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dtb
  • Sauni le a'a file mea e vaelua ai faiga:
    • mkdir rootfs && cd rootfs
    • ta xf /gsrd-console-image-*.tar.xz
  • Fausia le ata SD card:
    • sudo ./make_sdimage.py -f -P fip.bin,num=3,format=raw,size=10M,type=A2 -P rootfs/\ *,num=2,format=ext3,size=1500M -P
    • Ata,socfpga_stratix10_socdk.dtb,num=1,format=fat32,size=500M -s 2G -n sdimage.img
    • Fa'aaliga: Afai ua uma ona iai sau ata SD ma le vaeluaga A2, e mafai ona e sui le FIP file fa'atasi ai ma le fa'atonuga i lalo:
    • sudo dd pe afai = arm-trusted-firmware/build/stratix10/release/fip.bin of=/dev/sdx3
Fa'amatalaga Fa'atatau
  • Tu'ufa'atasia o le UEFI Source Code ma le Linaro Tool Chain.
  • Fausia le UEFI Boot Loader.

Fa'agaoioi le Mata'itu Saogalemu

  1. Fa'aola le laupapa pe a uma ona fa'aofi le SD card.
  2. Tatala le Quartus programmer ma fa'apolokalame le laupapa i le .sof file fa'atupuina i le Fa'atupuina o se .sof File ma le ATF.

intel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-7

  • O le laupapa e oso i luga mai le ATF ma otometi ona utaina le UEFI bootloader e faʻaulu ai le atigi UEFI.

Fa'amatalaga Fa'atatau

  • Fausia se .sof file ma le ATF.
Debugging ma DS

O lenei vaega o loʻo faʻamatalaina pe faʻafefea ona utaina le ATF ma le UEFI bootloader i le laupapa faʻapitoa e ala i le DS.

  1. Ia mautinoa ua e faʻapipiʻi le DS. Tatala eclipse faʻaaoga le poloaiga lenei:
    • armds_ide &
  2. Seti feso'ota'iga debug fou
    • Laasaga Fa'ata'ita'igaintel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-8
  3. A maeʻa le faʻatulagaina, faʻafesoʻotaʻi i le sini.
    • Fa'aaliga: E tatau ona e fa'apolokalame le laupapa i le ghrd_1sx280lu2f50e2vg_hps_debug.sof a'o le'i fa'afeso'ota'i i le sini.
  4. I totonu o le DS command console, e mafai ona e utaina se faʻamatalaga debug ma mea o loʻo i lalo e sii mai ai le ATF ma le UEFI bootloader i le laupapa faʻapitoa.

intel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-9 intel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-10

Fa'asalaina Linux

O lenei vaega o loʻo faʻaali atu ia te oe le faʻafefea o Linux pe a uma ona ulufale le UEFI i le atigi UEFI.

Fa'asolo mai le UEFI Shell

  1. Faʻasaga le laupapa i luga o le atigi UEFI, e pei ona faʻamatalaina i le Taʻavaleina o le Mataʻituina Saogalemu.
  2. O le taimi lava e utaina ai le atigi UEFI, ulufale i le poloaiga lenei e faʻaulu ai Linux:
    • Ata dtb=socfpga_stratix10_socdk.dtb console=ttyS0,115200 root=/dev/mmcb

Fa'aaliga: Ia mautinoa o loʻo teuina le ata Linux ma le dtb i le SD card.

intel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-4

intel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-4Tala Fa'asolopito o Fa'amatalaga mo le Intel Stratix 10 SoC UEFI Boot Loader Taiala mo Tagata Fa'aoga

Fa'amatalaga Fa'amaumauga Suiga
2020.06.19 Faʻafouina vaega nei:
  • Tulaga Fa'atauta'i Mea Manaomia
  • La'ititi Manaoga Polokalama
  • Fa'apipi'iina o le Mea faigaluega Fa'apipi'i
  • Fa'aoga Fa'aoga
  • Mauaina o le Arm Trusted Firmware Source Code
  • Fausia le ATF
  • Mauaina o le UEFI Source Code
  • Mauaina o le edk2 Platform Source Code
  • Tu'ufa'atasia o le UEFI Source Code ma le Linaro Tool Chain
  • UEFI Fausia Files
  • Fausia se .sof file ma le ATF
  • Fausia se Ata SD Card
  • Debugging ma DS
  • Fa'asolo mai le UEFI Shell
2019.03.28
  • Faaopoopo se vaega fou: Fausiaina o le Mataitu Saogalemu e faamatala ai seevae fou stagu ma faʻamau faʻamau.
  • Vaega fa'afouina: UEFI Fausia Files.
  • Faaopoopo se vaega fou: Fa'aauau le UEFI ile Intel Stratix 10 Hardware.
2017.06.19 Fa'asalalauga muamua.

Intel Corporation. Ua taofia aia tatau uma. Intel, le Intel logo, ma isi fa'ailoga Intel o fa'ailoga fa'atau a le Intel Corporation po'o ona lala. E fa'amaonia e Intel le fa'atinoga o ana oloa FPGA ma semiconductor i fa'amatalaga o lo'o iai nei e tusa ai ma le fa'atonuga masani a Intel ae fa'asaoina le aia tatau e fai ai suiga i so'o se oloa ma auaunaga i so'o se taimi e aunoa ma se fa'aaliga. E leai se tiute po'o se noataga e afua mai i le talosaga po'o le fa'aogaina o so'o se fa'amatalaga, oloa, po'o se auaunaga o lo'o fa'amatalaina i i'i se'i vagana ua malilie fa'aalia i se faiga tusitusia e Intel. Ua fautuaina tagata fa'atau Intel e maua le fa'amatalaga lata mai o fa'amatalaga masini a'o le'i fa'alagolago i so'o se fa'amatalaga fa'asalalau ma a'o le'i tu'uina atu oka mo oloa po'o tautua. *O isi igoa ma fa'ailoga e mafai ona ta'ua o se meatotino a isi.

ID: 683134
Fa'aliliuga: 2020.06.19

Pepa / Punaoa

intel UG-20080 Stratix 10 SoC UEFI Boot Loader [pdf] Taiala mo Tagata Fa'aoga
UG-20080 Stratix 10 SoC UEFI Fua Fa'a, UG-20080, Stratix 10 SoC UEFI Fua Fa'a, 10 SoC UEFI Fua Fa'a, UEFI Fua Fa'afu.

Fa'asinomaga

Tuu se faamatalaga

E le fa'asalalauina lau tuatusi imeli. Fa'ailogaina fanua mana'omia *