intel UG-20080 Stratix 10 SoC UEFI Boot Loader
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
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
- Tatala se nofoaga.
- Fausia se lisi fou e siaki ai le ATF source code mai GitHub.
- Suia i lenei lisi galue ma faʻapipiʻi le puna ATF mai le Git trees e pei ona taua i lalo:
- 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
- Suia lau lisi i le nofoaga autu o le ATF e pei ona taua i lalo:
- cd arm-faʻatuatuaina-failautele
- 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-
- Aveese atoa le la'au fau e pei ona taua i lalo:
- fai mama moni
- Fausia le ATF i le faʻaaogaina o le poloaiga lenei:
- fai PLAT=stratix10 bl2 bl31
- O fe'au nei e aliali mai pe a manuia le fausiaina o le ATF
- 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.
- Tatala se nofoaga.
- Faʻapipiʻi le puna UEFI mai laʻau Git.
- 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
- git clone https://github.com/altera-opensource/edk2-platforms-socfpgaedk2-platforms
- cd edk2-tulaga
- git siaki socfpga_udk201905
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
- 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-
- Seti le EDK_TOOLS_PATH:
- auina atu i fafo EDK_TOOLS_PATH=$PWD/edk2/BaseTools
- Seti le PACKAGES_PATH e faasino i le nofoaga o faleoloa:
- auina atu i fafo PACKAGES_PATH= $PWD/edk2:$PWD/edk2-platforms/
- Seti le WORKSPACE:
- auina atu i fafo GALUEGA = $PWD
- Seti le siosiomaga faufale:
- edk2/edksetup.sh
- Fausia BaseTools (ia mautinoa ua faʻapipiʻi meafaigaluega a le python):
- fai -C edk2/BaseTools
- 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
- 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
- Maua se .sof file mai le $SOCEDS_DEST_ROOT fa'apipi'i tusi.
- 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
- 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
Fa'amatalaga Fa'atatau
- Fausia le ATF.
Fausia se Ata SD Card
- Fausia le UEFI Bootloader ma le FIP e pei o le Fausiaina o le UEFI Boot Loader ma Fausia le FIP.
- Fausia Linux ma aʻa file faiga fa'avae ile fa'atonuga ile Rocketboard.
- Fausia le ata SD card:
- Maua le make_image python script ma fa'atino
- wget https://releases.rocketboards.org/release/2019.10/gsrd/tools/make_sdimage.py
- chmod +x make_sdimage.py
- 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
- Tu'ufa'atasia o le UEFI Source Code ma le Linaro Tool Chain.
- Fausia le UEFI Boot Loader.
Fa'agaoioi le Mata'itu Saogalemu
- Fa'aola le laupapa pe a uma ona fa'aofi le SD card.
- 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.
- 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.
- Ia mautinoa ua e faʻapipiʻi le DS. Tatala eclipse faʻaaoga le poloaiga lenei:
- armds_ide &
- Seti feso'ota'iga debug fou
- Laasaga Fa'ata'ita'iga
- Laasaga Fa'ata'ita'iga
- 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.
- 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.
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
- Faʻasaga le laupapa i luga o le atigi UEFI, e pei ona faʻamatalaina i le Taʻavaleina o le Mataʻituina Saogalemu.
- 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.
Tala 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:
|
2019.03.28 |
|
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. |