intel-logo

intel UG-20080 Stratix 10 SoC UEFI Boot Loader

intel-UG-20080-Stratix-10-SoC -Boot-Loader-ngwaahịa

gafereview

Akwụkwọ a na-enye ozi zuru oke na Unified Extensible Firmware Interface (UEFI) bootloader maka Intel Stratix 10 SoC. Intel Stratix 10 SoC na-enye mgbaba buut echekwara, nke gụnyere

  • Akpụkpọ ụkwụ ROM
  • Onye njikwa ngwaọrụ echedoro (SDM)
  • Ihe nleba anya nke ọma
  • UEFI bootloader

Igwe mkpuchi akpụkpọ ụkwụ Intel Stratix 10 SoC na-agba mbọ hụ na ejiri igodo mkpuchi bịanyere aka na bootloader sistemụ, nke firmware kwadoro. The Secure Monitor stage na-emejuputa usoro TrustZone* nke nkewa echekwara. Ihe nlereanya a na-ekewa gburugburu ebe ngwanrọ gaa na nkebi abụọ dịpụrụ adịpụ, nke a na-akpọ ụwa echedoro na ụwa enweghị nchebe. Ụwa abụọ a nwere ike ịkparịta ụka naanị site na Nchekwa Nchekwa. Enwere ike ịchekwa onyonyo ọnụọgụ abụọ nke bootloader UEFI na kaadị Quad SPI flash SD/MMC. N'elu igwe ọkụ ọkụ, onye njikwa ngwaọrụ echedoro (SDM) na-ebunye Secure Monitor ozugbo na Hard Processor System (HPS) na mgbawa RAM. Mgbe ahụ Secure Monitor na-ebunye UEFI bootloader na ebe nchekwa HPS DDR.

Ọrụ nleba anya nke nchekwa gụnyere

  • Na-ebido DDR SDRAM ebe nchekwa
  • Na-ahazi ngwaike dị ala, dị ka PLL, IOs, na pin MUXes, nke sọftụwia ụwa enweghị nchebe chọrọ.

Ọrụ UEFI bootloader gụnyere

  • Na-enye nkwado Ethernet
  • Na-akwado njirimara nchọpụta ngwaike bụ isi
  • Ịweta ngwanrọ buut na-esote dị ka ngwugwu sistemụ ma ọ bụ onyonyo kernel.

Mara: Maka buut enweghị nchekwa, ngwungwu sistemụ arụmọrụ nwere ike ịgụnye onyonyo kernel, blob osisi ngwaọrụ na fileusoro. Maka buut echekwara, ọ nwere ike ịbụ kernel echekwara.

UEFI Boot na-agba ọsọview

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

Achọrọ Sistemụ

Iji buo ma mebie Intel Stratix 10 SoC Unified Extensible Firmware Interface (UEFI) bootloader, sistemụ gị ga-enwerịrị ihe ndị a chọrọ.

Achọrọ ngwaike kacha nta

  • Ọrụ Linux nwere nhazi ndị a:
    • Oghere Usoro, dị ka Minicom maka Linux
    • Oghere kaadị microSD ma ọ bụ onye na-ede kaadị microSD ma ọ bụ onye edemede nwere ike SD nwere SD na onye ntụgharị microSD

Ike ikpo okwu

  Linux
Nwere ike ikpokọta UEFI bootloader Ee
Nwere ike chịkọta Nchekwa Nchekwa Ee

Achọrọ ngwanrọ kacha nta

  • Intel® SoC FPGA agbakwunyere Development Suite (SoC EDS) v18.1 na karịa
  • Linaro aarch64-linux-gnu-gcc toolchain

Na-amalite

Ịwụnye Ngwa Ngwa

Ịwụnye Intel SoC EDS

  • Ị ga-etinyerịrị Intel SoC EDS na igwe gị.
  • Budata Intel SoC EDS site na ebe nbudata maka FPGA.

Ịwụnye Toolchain Compiler

Ị na-eji GNU Toolchain (EABI Release) na-achịkọta UEFI bootloader na Secure Monitor na ndị na-arụ ọrụ Arm*. Ị nwere ike budata GNU Toolchain na ibe nbudata Arm.

  • Linux: gcc-arm-8.3-2019.03-x86_64-aarch64-Linux-gnu.tar.xz
Ime ihe nleba anya echekwara

Ka nchekwa na-adịwanye mkpa karị, ngwọta buut echekwara na-aghọ ihe achọrọ n'ime ụwa agbakwunyere. Iji hụ na nchekwa zuru oke yana ikpo okwu ntụkwasị obi, achọrọ nkewa echekwara. Ngwa Intel Stratix 10 na-enweta nkewa echekwara site na itinye ihe atụ TrustZone na Arm Trusted Firmware (ATF). Ihe nlereanya TrustZone na-ekewa gburugburu kọmpụta gaa n'ụwa abụọ dịpụrụ adịpụ, ụwa echedoro na ụwa nkịtị, nke ejikọtara site na nlekota ngwanrọ akpọrọ Secure Monitor. Ụwa abụọ ahụ ekewapụla oghere adreesị ezi uche dị na ya na mpụta. Nkwurịta okwu n'etiti ụwa abụọ ahụ ga-ekwe omume naanị site n'ịkpọ ntụziaka Secure Monitor (SMC) nwere ohere.

Ngwọta buut zuru oke echekwara bụ

  • BootRom
  • Chekwaa njikwa ngwaọrụ
  • Nyochaa echekwara
  • Uboot/UEFI
  • Hypervisor
  • OS

Ọnọdụ nchekwa nchekwa bụ ọnọdụ nwere oke ma na-echekwa ya mgbe niile n'agbanyeghị ọnọdụ NS bit. Nchekwa Nchekwa bụ koodu na-agba ọsọ na ọnọdụ nchekwa nchekwa ma na-atụgharị gaa na site na ụwa Secure. Nchekwa zuru oke nke ngwanro a dabere na nchekwa koodu a yana koodu buut Secure.

Ozi metụtara

Ozi izugbe gbasara Arm Trusted Firmware

Nhazi onye ọrụ

Ị nwere ike ịchọta nhazi ikpo okwu niile na arm-trusted-firmware/plat/intel/soc/stratix10/include/socfpga_plat_def.h. Maka nhazi onye ọrụ, ị ga-agbanwerịrị isi mmalite buut dabere na mmasị gị. Ị na-ahọrọ BOOT_SOURCE_SDMMC ma ọ bụrụ na buut site na SDMMC ma ọ bụ họrọ BOOT_SOURCE_QSPI ma ọ bụrụ na-esi na QSPI buo.

  • # kọwaa BOOT_SOURCE BOOT_SOURCE_SDMMC

Mara: Ka ịgbanwee buut fileaha ma ọ bụ dechapụ, ị nwere ike ịgbanwe #define na nke a file.

Inweta Koodu Isi mmalite Firmware ntụkwasị obi nke ogwe aka

Isi mmalite ATF dị na GitHub. Iji nweta koodu isi mmalite ATF, mee naanị usoro ndị a

  1. Mepee ọnụ.
  2. Mepụta ndekọ ọhụrụ iji lelee koodu isi mmalite ATF sitere na GitHub.
  3. Gbanwee akwụkwọ ndekọ aha a na-arụ ọrụ wee mechie isi mmalite ATF sitere na osisi Git dị ka ndị a:
  4. Mgbe emechara, gbanwee gaa na nchekwa firmware ogwe aka-tụkwasị obi wee mee nlele Git dị ka ndị a:
    • cd ogwe aka- ntụkwasị obi-firmware
    • git checkout socfpga_v2.1

Ozi metụtara

  • Ịmepụta ATF.
  • Iji eriri Ngwa Linaro chịkọta koodu isi mmalite UEFI.
  • Na-agba ọsọ nlekota nchekwa.

Ịmepụta ATF

Akụkụ a na-akọwa otu esi ewulite ATF na Linaro GCC compiler. Iji malite iji Linaro GCC compiler wulite ATF, mee naanị usoro ndị a

  1. Gbanwee ndekọ aha gị ka ọ bụrụ ebe koodu isi mmalite ATF dị ka ndị a:
    • cd ogwe aka- ntụkwasị obi-firmware
  2. Tọọ ụzọ GCC na mgbanwe gburugburu ebe obibi CROSS_COMPILE na Linaro cross chịkọta dị ka ndị a: mbupụ PATH= /\gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/:$PATH
    • mbupụ ARCH=arm64
    • mbupụ CROSS_COMPILE=aarch64-linux-gnu-
  3. Wepu osisi a na-ewu ụlọ kpamkpam dị ka ndị a:
    • mee ka ọ dị ọcha
  4. Wulite ATF site na iji iwu a:
    • mee PLAT = stratix10 bl2 bl31
  5. Ozi ndị a na-apụta mgbe arụrụ ATF ga-aga nke ọmaintel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-5
  6. Tebụlụ dị n'okpuru na-edepụta mmepụta Nleba anya Secure files.

Nkọwa nke Nyocha Nchekwa Files

File Ụzọ na Aha Nkọwa
\build\stratix10\nhapụta\bl31.bin ọnụọgụ abụọ emepụtara file
\build\stratix10\hapụ\bl31\bl31.elf Emepụtara elf file
\build\stratix10\nhapụta\bl2.bin ọnụọgụ abụọ emepụtara file
\build\stratix10\hapụ\bl2\bl2.elf Emepụtara elf file

Ịmepụta UEFI Boot Loader

Iji wuo bootloader UEFI, ị ga-enweta koodu isi mmalite UEFI wee jiri ụdọ ngwaọrụ akwadoro chịkọta isi iyi UEFI.

Interface Firmware Unified Extensible (UEFI) bụ nkọwapụta ngwa ngwa nke na-eme ka ọ dị mfe ma na-echekwa mmalite ikpo okwu yana arụmọrụ bootstrap firmware. A na-emepụta UEFI ugbu a ma na-akwado ndị nnọchiteanya sitere na ụlọ ọrụ teknụzụ ndị na-eduzi ụlọ ọrụ 250. Arm na Linaro Enterprise Group na-akwalitekwa iji UEFI na Arm architecture n'ihi na nkọwapụta UEFI na-enyere aka ịhazi usoro buut maka nyiwe dabere na Arm processor. A na-egosipụta teknụzụ UEFI n'ọdịniihu site na nhazi nhazi nke ngwa ngwa kama imepụta ngwa ngwa. Nkọwapụta UEFI na-akwalite azụmahịa na teknụzụ teknụzụ, kwalite arụmọrụ na nchekwa, kwado mmekọrịta n'etiti ngwaọrụ, nyiwe na sistemụ yana soro teknụzụ ọgbọ na-abịa. Nkọwa UEFI bụ ndị ọgbọ-reviewed na bipụtara, na-enye ndị mmepe ohere ide firmware otu ugboro n'elu ikpo okwu wee jiri ya na-enweghị ọtụtụ mgbanwe. Ejigharịgharị nke a na-ebute ọnụ ahịa yana ichekwa oge n'oge mmepe bootloader. Usoro a na-eji ikikere BSD, na-enye gị ohere iji okwu ikpe pere mpe mee azụmahịa gị na nhọrọ nhọrọ. Ị nwere ike ikpokọta koodu isi iyi UEFI ma na Windows ma ọ bụ na sistemụ Linux.

Ihe achọrọ

Iwulite UEFI chọrọ ngwungwu Linux ndị ọzọ. Dabere na nkesa Linux gị, iwu ịwụnye ngwugwu dị iche:

Ọ bụrụ na ị na-eji nkesa Ubuntu, pịnye

  • sudo apt-nweta wụnye uuid-dev build-dị mkpa

Ọ bụrụ na ị na-eji nkesa Fedora, pịnye

  • sudo yum wụnye uuid-devel libuuid-devel

Maka iwulite UEFI, achọrọ ngwugwu Python. Ọ bụrụ na Python adịbeghị na sistemụ gị, ịme iwu sitere na SoC EDS Embedded Command Shell na-enye ndabere Python achọrọ.

Nweta koodu isi mmalite UEFI

Koodu isi mmalite UEFI dị na GitHub. Usoro ndị a na-egosi gị otu esi enweta koodu isi mmalite UEFI.

  1. Mepee ọnụ.
  2. Mechie isi iyi UEFI sitere na osisi Git.
  3. Mgbe emechara, gbanwee na folda edk2 wee mee nlele Git.
    • cd edk2
    • git checkout socfpga_udk201905

Koodu isi okwu edk2 dị na GitHub. Iji nweta koodu isi okwu edk2

Iji eriri Ngwa Linaro chịkọta koodu isi mmalite UEFI

Akụkụ a na-akọwa otu esi ejikọta koodu isi iyi UEFI na Linaro toolchain na sistemụ Linux

  1. Mepee ọnụ ma tinye iwu ndị a:
    • cd
    • Ụzọ mbupụ = /\gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/:$PATH
    • mbupụ CROSS_COMPILE= aarch64-linux-gnu-
    • mbupụ ARCH=arm64
    • mbupụ GCC48_AARCH64_PREFIX=aarch64-linux-gnu-
  2. Hazie EDK_TOOLS_PATH:
    • mbupụ EDK_TOOLS_PATH=$PWD/edk2/BaseTools
  3. Hazie PACKAGES_PATH ka ọ rụtụ aka na ebe nchekwa ebe a:
    • mbupụ PACKAGES_PATH = $PWD/edk2:$PWD/edk2-ikpo okwu/
  4. Hazie WORKSPACE:
    • mbupụ WORKSPACE = $PWD
  5. Tọọ gburugburu ebe a na-ewu ihe:
    • edk2/edksetup.sh
  6. Mee BaseTools (hụ na etinyere ngwaọrụ Python):
    • mee -C edk2/BaseTools
  7. Chịkọta bootloader UEFI site na itinye iwu a:
    • wuo -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. Ọnụ ọnụ gị na-egosiputa ozi “Mee Emela” ka achịkọtachara UEFI nke ọma.
Emepụtara UEFI Files

Ịchịkọta koodu isi mmalite UEFI na-emepụta ihe ndị a files na /Build/ Stratix10SoCPkg/RELEASE_GCC48 nchekwa:

Emepụtara UEFI Files

File Nkọwa
INTELSTRATIX10_EFI.fd Nke a file bụ UEFI bootloader iji buo shei UEFI wee mee ka njirimara ethernet rụọ ọrụ ma ọ bụ mee ngwa UEFI
Na-emepụta FIP

FIP bụ ụgwọ ọrụ ATF's BL2 na-ebuba n'ime RAM wee gbuo ya. FIP nwere ọnụọgụ abụọ maka BL31 na UEFI bootloader, yana akpa nke BL2 na-amata.

Iji wuo FIP, soro iwu ndị a

  • mbupụ ARCH = ARM64
  • mbupụ CROSS_COMPILE= aarch64-linux-gnu-
  • cd

Wulite FIP site na iji iwu a

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

Na-agba ọsọ UEFI na Intel Stratix 10 Hardware

Na-agba ọsọ na bọọdụ anụ ahụ na ATF na UEFI Bootloader

Akụkụ a na-akọwa otu esi agba ọsọ Secure Monitor na bọọdụ anụ ahụ.

Mepụta .sof file na ATF

  1. Nweta .sof file site na ndekọ nwụnye $SOCEDS_DEST_ROOT.
  2. Tụgharịa ọnụọgụ abụọ file bl2.bin, emepụtara na Iwuli ATF.
    • aarch64-linux-gnu-objcopy -I binary -O ihex – \-change-addresses 0xffe00000 bl2.bin bl2.hex
  3. Tinye bootloader n'ime .sof file dị ka ndị a:
    • 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

Ozi metụtara

  • Ịmepụta ATF.

Ịmepụta onyonyo kaadị SD

  1. Mepụta UEFI Bootloader na FIP dị ka iwulite UEFI Boot Loader na imepụta FIP.
  2. Mepụta Linux na mgbọrọgwụ file usoro dabere na ntuziaka dị na Rocketboard.
  3. Mepụta onyonyo kaadị SD:
  • Nweta script make_image Python wee mee ka ọ nwee ike ime ya
  • Kwadebe ọdịnaya nkebi abụba:
    • mkdir abụba && cd abụba
    • cp /linux-socfpga/arch/arm64/boot/Image
    • cp /linux-socfpga/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dtb
  • Kwadebe mgbọrọgwụ file ọdịnaya nkebi usoro:
    • mkdir mgbọrọgwụ && cd mgbọrọgwụ
    • tar xf /gsrd-console-onyinyo-*.tar.xz
  • Mepụta onyonyo kaadị SD:
    • sudo ./make_sdimage.py -f -P fip.bin,num = 3, usoro = raw, size = 10M, ụdị = A2 -P rootfs / *, num = 2, usoro = ext3, size = 1500M -P
    • Onyonyo,socfpga_stratix10_socdk.dtb,num=1,format=fat32,size=500M -s 2G -n sdimage.img
    • Mara: Ọ bụrụ na ịnweelarị onyonyo SD nwere akụkụ A2, ị nwere ike dochie FIP file ya na iwu dị n'okpuru:
    • sudo dd ma ọ bụrụ na = ogwe aka-trusted-firmware / wuo / stratix10 / mwepụta / fip.bin nke = / dev / sdx3
Ozi metụtara
  • Iji eriri Ngwa Linaro chịkọta koodu isi mmalite UEFI.
  • Ịmepụta UEFI Boot Loader.

Na-agba ọsọ nlekota nchekwa

  1. Mee ka bọọdụ dị ike ka etinyere kaadị SD.
  2. Mepee Quartus programmer ma were .sof hazie bọọdụ ahụ file emepụtara na Ịmepụta .sof File na ATF.

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

  • Bọọdụ ahụ na-esi na ATF na-arịgo ma na-ebunye bootloader UEFI na-akpaghị aka iji buo shei UEFI.

Ozi metụtara

  • Mepụta .sof file na ATF.
Iji DS emezigharị

Akụkụ a na-akọwa otu esi ebunye ATF na UEFI bootloader na bọọdụ anụ ahụ site na DS.

  1. Gbaa mbọ hụ na ị tinyela DS. Jiri iwu a malite eklipse:
    • armds_ide &
  2. Hazie njikọ nbibi ọhụrụ
    • Ihe atụ nzọụkwụintel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-8
  3. Mgbe nhazichara, jikọọ na ebumnuche.
    • Mara: Ị ga-emerịrị bọọdụ ahụ na ghrd_1sx280lu2f50e2vg_hps_debug.sof tupu ị jikọọ na ebumnuche.
  4. N'ime njikwa iwu DS, ịnwere ike ibunye script debug yana ọdịnaya ndị a ka ibudata ATF na UEFI bootloader na bọọdụ anụ ahụ.

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

Na-agba ọsọ Linux

Akụkụ a na-egosi gị otu esi ebutu Linux ka UEFI banye na shei UEFI.

Na-agbapụ site na Shell UEFI

  1. Bugharịa bọọdụ ahụ ruo shei UEFI, dị ka akọwara na Running the Secure Monitor.
  2. Ozugbo eburu shei UEFI, tinye iwu na-esonụ iji buo Linux:
    • Foto dtb=socfpga_stratix10_socdk.dtb console=ttyS0,115200 mgbọrọgwụ=/dev/mmcb

Mara: Gbaa mbọ hụ na echekwara onyonyo Linux na dtb na kaadị SD.

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

intel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-4Akụkọ ntụgharị akwụkwọ maka Intel Stratix 10 SoC UEFI Boot Loader Guide User

Ụdị akwụkwọ Mgbanwe
2020.06.19 Emelitere ngalaba ndị a:
  • Achọrọ ngwaike kacha nta
  • Achọrọ ngwanrọ kacha nta
  • Ịwụnye Toolchain Compiler
  • Nhazi onye ọrụ
  • Inweta Koodu Isi mmalite Firmware ntụkwasị obi nke ogwe aka
  • Ịmepụta ATF
  • Nweta koodu isi mmalite UEFI
  • Inweta koodu isi iyi Platform edk2
  • Iji eriri Ngwa Linaro chịkọta koodu isi mmalite UEFI
  • Emepụtara UEFI Files
  • Mepụta .sof file na ATF
  • Ịmepụta onyonyo kaadị SD
  • Iji DS emezigharị
  • Na-agbapụ site na Shell UEFI
2019.03.28
  • Etinyere ngalaba ọhụrụ: Ime ihe nleba anya echekwara iji kọwaa akpụkpọ ụkwụ ọhụrụ stage na nchekwa buut.
  • Ngalaba emelitere: Emepụtara UEFI Files.
  • Etinyere ngalaba ọhụrụ: Na-agba ọsọ UEFI na Intel Stratix 10 Hardware.
2017.06.19 Ntọhapụ mbụ.

Ụlọ ọrụ Intel. Ikike niile echekwabara. Intel, akara Intel, na akara Intel ndị ọzọ bụ ụghalaahịa nke Intel Corporation ma ọ bụ ndị enyemaka ya. Intel nyere ikike ịrụ ọrụ nke FPGA na ngwaahịa semiconductor na nkọwapụta ugbu a dịka akwụkwọ ikike ọkọlọtọ Intel siri dị mana ọ nwere ikike ịme mgbanwe na ngwaahịa na ọrụ ọ bụla n'oge ọ bụla na-enweghị ọkwa. Intel anaghị ewere ọrụ ọ bụla ma ọ bụ ụgwọ sitere na ngwa ma ọ bụ iji ozi ọ bụla, ngwaahịa ma ọ bụ ọrụ akọwara n'ime ebe a belụsọ dị ka Intel kwetara na ederede. A dụrụ ndị ahịa Intel ọdụ ka ha nweta ụdị nkọwa ngwaọrụ kachasị ọhụrụ tupu ha adabere na ozi ọ bụla ebipụtara yana tupu ịnye iwu maka ngwaahịa ma ọ bụ ọrụ. * Enwere ike ịzọrọ aha na akara ndị ọzọ dị ka ihe onwunwe nke ndị ọzọ.

ID: 683134
Ụdị: 2020.06.19

Akwụkwọ / akụrụngwa

intel UG-20080 Stratix 10 SoC UEFI Boot Loader [pdf] Ntuziaka onye ọrụ
UG-20080 Stratix 10 SoC UEFI Boot Loader, UG-20080, Stratix 10 SoC UEFI Boot Loader, 10 SoC UEFI Boot Loader, UEFI Boot Loader

Ntụaka

Hapụ ikwu

Agaghị ebipụta adreesị ozi-e gị. Akara mpaghara achọrọ akara *