intel UG-20080 Stratix 10 SoC UEFI Boot Loader
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
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
- Mepee ọnụ.
- Mepụta ndekọ ọhụrụ iji lelee koodu isi mmalite ATF sitere na GitHub.
- Gbanwee akwụkwọ ndekọ aha a na-arụ ọrụ wee mechie isi mmalite ATF sitere na osisi Git dị ka ndị a:
- 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
- Gbanwee ndekọ aha gị ka ọ bụrụ ebe koodu isi mmalite ATF dị ka ndị a:
- cd ogwe aka- ntụkwasị obi-firmware
- 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-
- Wepu osisi a na-ewu ụlọ kpamkpam dị ka ndị a:
- mee ka ọ dị ọcha
- Wulite ATF site na iji iwu a:
- mee PLAT = stratix10 bl2 bl31
- Ozi ndị a na-apụta mgbe arụrụ ATF ga-aga nke ọma
- 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.
- Mepee ọnụ.
- Mechie isi iyi UEFI sitere na osisi Git.
- 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
- git clone https://github.com/altera-opensource/edk2-platforms-socfpgaedk2-platforms
- cd edk2-ikpo okwu
- git checkout socfpga_udk201905
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
- 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-
- Hazie EDK_TOOLS_PATH:
- mbupụ EDK_TOOLS_PATH=$PWD/edk2/BaseTools
- Hazie PACKAGES_PATH ka ọ rụtụ aka na ebe nchekwa ebe a:
- mbupụ PACKAGES_PATH = $PWD/edk2:$PWD/edk2-ikpo okwu/
- Hazie WORKSPACE:
- mbupụ WORKSPACE = $PWD
- Tọọ gburugburu ebe a na-ewu ihe:
- edk2/edksetup.sh
- Mee BaseTools (hụ na etinyere ngwaọrụ Python):
- mee -C edk2/BaseTools
- 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
- Ọ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
- Nweta .sof file site na ndekọ nwụnye $SOCEDS_DEST_ROOT.
- 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
- 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
Ozi metụtara
- Ịmepụta ATF.
Ịmepụta onyonyo kaadị SD
- Mepụta UEFI Bootloader na FIP dị ka iwulite UEFI Boot Loader na imepụta FIP.
- Mepụta Linux na mgbọrọgwụ file usoro dabere na ntuziaka dị na Rocketboard.
- Mepụta onyonyo kaadị SD:
- Nweta script make_image Python wee mee ka ọ nwee ike ime ya
- wget https://releases.rocketboards.org/release/2019.10/gsrd/tools/make_sdimage.py
- chmod +x make_sdimage.py
- 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
- Iji eriri Ngwa Linaro chịkọta koodu isi mmalite UEFI.
- Ịmepụta UEFI Boot Loader.
Na-agba ọsọ nlekota nchekwa
- Mee ka bọọdụ dị ike ka etinyere kaadị SD.
- Mepee Quartus programmer ma were .sof hazie bọọdụ ahụ file emepụtara na Ịmepụta .sof File na ATF.
- 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.
- Gbaa mbọ hụ na ị tinyela DS. Jiri iwu a malite eklipse:
- armds_ide &
- Hazie njikọ nbibi ọhụrụ
- Ihe atụ nzọụkwụ
- Ihe atụ nzọụkwụ
- Mgbe nhazichara, jikọọ na ebumnuche.
- Mara: Ị ga-emerịrị bọọdụ ahụ na ghrd_1sx280lu2f50e2vg_hps_debug.sof tupu ị jikọọ na ebumnuche.
- 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ụ.
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
- Bugharịa bọọdụ ahụ ruo shei UEFI, dị ka akọwara na Running the Secure Monitor.
- 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.
Akụ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:
|
2019.03.28 |
|
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 |