intel UG-20080 Stratix 10 SoC UEFI ачаалагч
Дууслааview
Энэхүү баримт бичиг нь Intel Stratix 10 SoC-д зориулсан Нэгдсэн Өргөтгөсөн Програм хангамжийн Интерфейс (UEFI) ачаалагчийн талаар дэлгэрэнгүй мэдээллийг өгдөг. Intel Stratix 10 SoC нь аюулгүй ачаалах урсгалыг хангадаг
- Ачаалах ROM
- Аюулгүй төхөөрөмжийн менежер (SDM)
- Аюулгүй монитор
- UEFI ачаалагч
Intel Stratix 10 SoC-ийн аюулгүй ачаалах урсгал нь системийн ачаалагчийг програм хангамжаар баталгаажуулсан криптограф түлхүүрээр баталгаажуулдаг. Secure Monitor stage мөн найдвартай хуваалтын TrustZone* загварыг хэрэгжүүлдэг. Энэ загвар нь программ хангамжийн орчныг аюулгүй ертөнц болон аюулгүй бус ертөнц гэж хоёр тусгаарлагдсан хуваалтад хуваадаг. Хоёр ертөнц зөвхөн Secure Monitor-ээр дамжуулан хоорондоо харилцах боломжтой. UEFI ачаалагчийн хоёртын дүрсийг Quad SPI flash SD/MMC карт дээр хадгалах боломжтой. Ачаалах үед аюулгүй төхөөрөмжийн менежер (SDM) нь Secure Monitor-ийг хатуу процессорын систем (HPS) дээр чип дээрх RAM дээр шууд ачаалдаг. Дараа нь Secure Monitor нь UEFI ачаалагчийг HPS DDR санах ойд ачаална.
Secure Monitor ажлуудад орно
- DDR SDRAM санах ойг эхлүүлж байна
- Аюулгүй ертөнцийн программ хангамжид шаардлагатай PLL, IOs, pin MUXes зэрэг доод түвшний техник хангамжийг тохируулах
UEFI ачаалагчийн даалгаврууд орно
- Ethernet-ийн дэмжлэг үзүүлэх
- Техник хангамжийн оношлогооны үндсэн функцуудыг дэмжих
- Үйлдлийн системийн багц эсвэл цөмийн зураг зэрэг дараагийн ачаалах программ хангамжийг татаж байна.
Жич: Аюулгүй ачаалахын тулд үйлдлийн системийн багцад цөмийн дүрс, төхөөрөмжийн модны blob болон fileсистем. Аюулгүй ачаалахын тулд энэ нь найдвартай цөм байж болно.
UEFI ачаалах урсгалview
Системийн шаардлага
Intel Stratix 10 SoC Unified Extensible Firmware Interface (UEFI) ачаалагчийг ачаалж, ажиллуулахын тулд таны систем дараах шаардлагыг хангасан байх ёстой.
Тоног төхөөрөмжийн хамгийн бага шаардлага
- Дараах тохиргоотой Linux ажлын станц:
- Линуксд зориулсан Minicom гэх мэт цуврал терминал
- microSD картын үүр эсвэл microSD карт бичигч эсвэл SD-аас microSD хөрвүүлэгчтэй SD чадвартай бичигч
Платформын боломжууд
Линукс | |
UEFI ачаалагчийг хөрвүүлэх чадвартай | Тиймээ |
Secure Monitor эмхэтгэх чадвартай | Тиймээ |
Програм хангамжийн хамгийн бага шаардлага
- Intel® SoC FPGA Embedded Development Suite (SoC EDS) v18.1 ба түүнээс дээш
- Linaro aarch64-linux-gnu-gcc хэрэгслийн гинж
Эхлэх
Програм хангамжийн бүрэлдэхүүн хэсгүүдийг суулгах
Intel SoC EDS суулгаж байна
- Та Intel SoC EDS-ийг машин дээрээ суулгах ёстой.
- Intel SoC EDS-ийг FPGA-д зориулсан Татаж авах төвөөс татаж аваарай.
Хөрвүүлэгч хэрэгслийн хэлхээг суулгаж байна
Та Arm* процессоруудад зориулсан GNU Toolchain (EABI Release) ашиглан UEFI ачаалагч болон Secure Monitor-ийг эмхэтгэдэг. Та GNU Toolchain-ийг Arm-ийн татаж авах хуудаснаас татаж авах боломжтой.
- Линукс: gcc-arm-8.3-2019.03-x86_64-aarch64-Linux-gnu.tar.xz
Аюулгүй мониторыг бий болгох
Аюулгүй байдал улам чухал болохын хэрээр аюулгүй ачаалах шийдэл нь суулгагдсан ертөнцөд шаардлага болж байна. Иж бүрэн аюулгүй байдал, найдвартай платформыг хангахын тулд аюулгүй хуваалт шаардлагатай. Intel Stratix 10 төхөөрөмж нь Arm Trusted Firmware (ATF) бүхий TrustZone загварыг хэрэгжүүлснээр аюулгүй хуваалтыг гүйцэтгэдэг. TrustZone загвар нь тооцоолох орчныг хоёр тусгаарлагдсан ертөнц, аюулгүй ертөнц ба ердийн ертөнц гэж хуваадаг бөгөөд эдгээр нь Secure Monitor хэмээх программ хангамжийн дэлгэцээр холбогддог. Хоёр ертөнц нь логик хаягийн орон зай болон захын төхөөрөмжүүдийг тусгаарласан. Хоёр ертөнцийн хооронд харилцах нь зөвхөн Secure Monitor дуудлага (SMC) зааварчилгаагаар л боломжтой.
Ачаалах бүрэн аюулгүй шийдэл
- BootRom
- Аюулгүй төхөөрөмжийн менежер
- Аюулгүй монитор
- Uboot/UEFI
- Гипервайзер
- OS
Secure Monitor горим нь давуу эрхтэй горим бөгөөд NS битийн төлөвөөс үл хамааран үргэлж аюулгүй байдаг. Secure Monitor нь Secure Monitor горимд ажилладаг код бөгөөд Secure world руу болон түүнээс гарах шилжилтийг боловсруулдаг. Програм хангамжийн ерөнхий аюулгүй байдал нь Secure ачаалах кодтой хамт энэ кодын аюулгүй байдалд тулгуурладаг.
Холбогдох мэдээлэл
Arm Trusted Firmware-ийн тухай ерөнхий мэдээлэл
Хэрэглэгчийн тохиргоо
Та бүх платформын тохиргоог arm-trusted-firmware/plat/intel/soc/stratix10/include/socfpga_plat_def.h дээрээс олох боломжтой. Хэрэглэгчийн тохиргооны хувьд та өөрийн тохиргоонд тулгуурлан ачаалах эх үүсвэрийг өөрчлөх ёстой. Хэрэв та SDMMC-ээс ачаалах бол BOOT_SOURCE_SDMMC-ийг сонгох эсвэл QSPI-ээс ачаалах бол BOOT_SOURCE_QSPI-г сонгоно уу.
- #BOOT_SOURCE BOOT_SOURCE_SDMMC-г тодорхойлох
Жич: Ачаалагчийг өөрчлөхийн тулд fileнэр эсвэл офсет, та эндээс #define-г өөрчилж болно file.
Arm-ийн итгэмжлэгдсэн програм хангамжийн эх кодыг авах
ATF эх сурвалж нь GitHub дээр байна. ATF эх кодыг авахын тулд дараах алхмуудыг хийгээрэй
- Терминал нээх.
- GitHub-аас ATF эх кодыг шалгахын тулд шинэ лавлах үүсгэнэ үү.
- Энэ ажлын лавлах руу шилжиж, Git модноос ATF эх сурвалжийг дараах байдлаар хувилна уу:
- Дууссаны дараа arm-trusted-firmware хавтас руу сольж, Git-н шалгалтыг дараах байдлаар гүйцэтгэнэ.
- cd arm-итгэмжлэгдсэн програм хангамж
- git checkout socfpga_v2.1
Холбогдох мэдээлэл
- ATF барих.
- UEFI эх кодыг Linaro хэрэгслийн сүлжээгээр эмхэтгэж байна.
- Secure Monitor ажиллуулж байна.
ATF барих
Энэ хэсэгт Linaro GCC хөрвүүлэгчтэй ATF-ийг хэрхэн бүтээх талаар тайлбарласан болно. Linaro GCC хөрвүүлэгчтэй ATF-г барьж эхлэхийн тулд дараах алхмуудыг хийгээрэй
- Өөрийн лавлахыг ATF эх кодын байршилд дараах байдлаар солино уу.
- cd arm-итгэмжлэгдсэн програм хангамж
- GCC зам ба CROSS_COMPILE орчны хувьсагчийг Linaro cross compile болгон дараах байдлаар тохируулна уу: export PATH= /\gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/:$PATH
- экспортлох ARCH=arm64
- экспорт CROSS_COMPILE=aarch64-linux-gnu-
- Барилгын модыг дараах байдлаар бүрэн устгана.
- жинхэнэ цэвэр болгох
- Дараах тушаалыг ашиглан ATF-ийг бүтээнэ үү.
- PLAT=stratix10 bl2 bl31 болгоно
- ATF-г амжилттай бүтээхэд дараах мессежүүд гарч ирнэ
- Доорх хүснэгтэд Secure Monitor гаралтыг жагсаав files.
Secure Monitor-ийн тодорхойлолт Files
File Зам ба нэр | Тодорхойлолт |
\build\stratix10\release\bl31.bin | Үүсгэсэн хоёртын file |
\build\stratix10\release\bl31\bl31.elf | Элф үүсгэсэн file |
\build\stratix10\release\bl2.bin | Үүсгэсэн хоёртын file |
\build\stratix10\release\bl2\bl2.elf | Элф үүсгэсэн file |
UEFI ачаалагчийг бүтээж байна
UEFI ачаалагчийг бүтээхийн тулд та UEFI эх кодыг авч, UEFI эх сурвалжийг дэмжигдсэн хэрэгслийн гинжээр хөрвүүлнэ.
Өргөтгөсөн програм хангамжийн нэгдсэн интерфэйс (UEFI) нь платформыг эхлүүлэх болон програм хангамжийг ачаалах ажиллагааг хялбарчилж, аюулгүй болгодог стандартчилсан програм хангамжийн тодорхойлолт юм. Одоогоор UEFI-г салбартаа тэргүүлэгч 250 гаруй технологийн компаниудын төлөөлөгчид хөгжүүлж, дэмжиж байна. Arm болон Linaro Enterprise Group нь UEFI-г Arm архитектур дээр ашиглахыг дэмжиж байгаа тул UEFI-ийн тодорхойлолт нь Arm процессор дээр суурилсан платформуудыг ачаалах процессыг стандартчилахад тусалдаг. UEFI технологи нь хувийн програм хангамжийн загвараас илүү програм хангамжийн дизайныг стандартчилснаар ирээдүйд баталгаажсан. UEFI-ийн техникийн үзүүлэлтүүд нь бизнесийн болон технологийн үр ашгийг дээшлүүлж, гүйцэтгэл, аюулгүй байдлыг сайжруулж, төхөөрөмж, платформ, систем хоорондын харилцан үйлчлэлийг хөнгөвчлөх, дараагийн үеийн технологид нийцүүлэх. UEFI-ийн тодорхойлолт нь peer-re юмviewed болон нийтэлсэн нь хөгжүүлэгчдэд платформ бүрт нэг удаа программ бичиж, нэг их өөрчлөлтгүйгээр дахин ашиглах боломжийг олгодог. Үүнийг дахин ашигласнаар ачаалагчийг хөгжүүлэх явцад зардал, цаг хугацаа хэмнэнэ. Энэхүү тогтолцоо нь BSD лицензийг ашигладаг бөгөөд энэ нь танд хууль эрх зүйн хамгийн бага асуудалтай өөрийн хэрэгжилтийг арилжаанд оруулах боломжийг олгоно. Та UEFI эх кодыг Windows эсвэл Линукс системд хөрвүүлж болно.
Урьдчилсан нөхцөл
UEFI-г бүтээхэд нэмэлт Линукс багц шаардлагатай. Таны Линукс түгээлтээс хамааран багцуудыг суулгах тушаал өөр байна:
Хэрэв та Ubuntu түгээлт ашиглаж байгаа бол бичнэ үү
- sudo apt-get install uuid-dev build-essential
Хэрэв та Fedora түгээлт ашиглаж байгаа бол бичнэ үү
- sudo yum uuid-devel libuuid-devel-г суулгана уу
UEFI бүтээхийн тулд Python багц шаардлагатай. Хэрэв Python таны системд байхгүй бол SoC EDS Embedded Command Shell-ийн командуудыг ажиллуулж Python-ийн шаардлагатай хамаарлыг хангана.
UEFI эх кодыг авах
UEFI эх код нь GitHub дээр байрладаг. Дараах алхмууд нь UEFI эх кодыг хэрхэн авахыг харуулж байна.
- Терминал нээх.
- Гит модноос UEFI эх сурвалжийг клон хийх.
- Дууссаны дараа edk2 хавтас руу сольж, Git-н тооцоог хийнэ үү.
- cd edk2
- git checkout socfpga_udk201905
edk2 платформын эх код нь GitHub дээр байрладаг. Edk2 платформын эх кодыг авахын тулд
- git клон https://github.com/altera-opensource/edk2-platforms-socfpgaedk2-platforms
- cd edk2 платформууд
- git checkout socfpga_udk201905
UEFI эх кодыг Linaro хэрэгслийн сүлжээгээр эмхэтгэж байна
Энэ хэсэгт Линукс систем дэх Linaro хэрэгслийн гинжээр UEFI эх кодыг хэрхэн хөрвүүлэхийг тайлбарласан болно
- Терминал нээгээд дараах тушаалыг оруулна уу.
- cd
- экспортлох PATH= /\gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/:$PATH
- экспорт CROSS_COMPILE= aarch64-linux-gnu-
- экспортлох ARCH=arm64
- экспорт GCC48_AARCH64_PREFIX=aarch64-linux-gnu-
- EDK_TOOLS_PATH-г тохируулна уу:
- экспорт EDK_TOOLS_PATH=$PWD/edk2/BaseTools
- Хадгалах газруудын байршлыг зааж өгөхийн тулд PACKAGES_PATH-г тохируулна уу:
- экспортын PACKAGES_PATH= $PWD/edk2:$PWD/edk2-платформ/
- WORKSPACE-г тохируулах:
- WORKSPACE = $PWD экспортлох
- Барилгын орчныг тохируулна уу:
- edk2/edksetup.sh
- BaseTools бүтээх (python хэрэгслийг суулгасан эсэхийг шалгаарай):
- -C edk2/BaseTools хийх
- Дараах командыг оруулан UEFI ачаалагчийг эмхэтгэ.
- build -a AARCH64 -p Platform/Intel/Stratix10/Stratix10SoCPkg.dsc -t GCC48-b DEBUG -y report.log -j build.log -Y PCD -Y НОМЫН САН -Y FLASH -Y DEPEX -Y BUILD_FLAGS -Y FIXED_ADDRES
- UEFI амжилттай хөрвүүлсний дараа таны терминал "Бүтээж дууссан" гэсэн мессежийг харуулна.
UEFI үүсгэсэн Files
UEFI эх кодыг эмхэтгэх нь дараахь зүйлийг үүсгэдэг files /Build/ Stratix10SoCPkg/RELEASE_GCC48 хавтсанд:
UEFI үүсгэсэн Files
File | Тодорхойлолт |
INTELSTRATIX10_EFI.fd | Энэ file нь UEFI бүрхүүлийг ачаалах, ethernet функцийг идэвхжүүлэх эсвэл UEFI програмыг ажиллуулах UEFI ачаалагч юм. |
FIP үүсгэх
FIP нь ATF-ийн BL2-ийн RAM-д ачаалагдаж, гүйцэтгэх ачаалал юм. FIP нь BL31 болон UEFI ачаалагчийн хоёртын файл, BL2-ын таних контейнерийг агуулдаг.
FIP үүсгэхийн тулд эдгээр командыг дагана уу
- экспортлох ARCH = ARM64
- экспорт CROSS_COMPILE= aarch64-linux-gnu-
- cd
Дараах командыг ашиглан FIP-г байгуулна уу
- fip BL33= хийнэ /Build/Stratix10SoCPKG/\DEBUG_GCC48/FV/INTELSTRATIX10_EFI.fd fip PLAT=stratix10
Intel Stratix 10 Hardware дээр UEFI ажиллуулж байна
ATF болон UEFI ачаалагчтай физик самбар дээр ажиллаж байна
Энэ хэсэгт Secure Monitor-ийг физик самбар дээр хэрхэн ажиллуулах талаар тайлбарлана.
.sof үүсгэх file ATF-тай
- .sof аваарай file $SOCEDS_DEST_ROOT суулгах лавлахаас.
- Хоёртын файлыг хөрвүүлэх file bl2.bin, ATF бүтээх хэсэгт үүсгэгдсэн.
- aarch64-linux-gnu-objcopy -I хоёртын файл -O ihex – \-хаяг өөрчлөх 0xffe00000 bl2.bin bl2.hex
- Ачаалагчийг .sof-д оруулна уу file дараах байдлаар:
- quartus_pfg -c -o hps_path=bl2.hex \ghrd_1sx280lu2f50e2vg.sof ghrd_1sx280lu2f50e2vg_hps.sof
Холбогдох мэдээлэл
- ATF барих.
SD картын зураг үүсгэх
- UEFI ачаалагч болон FIP-г UEFI ачаалагчийг бүтээх болон FIP үүсгэхтэй адил үүсгэнэ үү.
- Линукс болон root-г бүтээх file Rocketboard дээрх зааврын дагуу систем.
- SD картны зургийг бүтээх:
- make_image python скриптийг аваад түүнийгээ гүйцэтгэх боломжтой болго
- wget https://releases.rocketboards.org/release/2019.10/gsrd/tools/make_sdimage.py
- chmod +x make_sdimage.py
- Өөх хуваалтын агуулгыг бэлтгэ:
- mkdir fat && cd fat
- cp /linux-socfpga/arch/arm64/boot/Image
- cp /linux-socfpga/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dtb
- Үндэсийг бэлтгэ file системийн хуваалтын агуулга:
- mkdir rootfs && cd rootfs
- tar xf /gsrd-console-image-*.tar.xz
- SD картын дүрсийг үүсгэх:
- 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
- Зураг,socfpga_stratix10_socdk.dtb,num=1,format=fat32,size=500M -s 2G -n sdimage.img
- Жич: Хэрэв танд A2 хуваалттай SD зураг байгаа бол FIP-г сольж болно file доорх тушаалаар:
- sudo dd if =arm-trusted-firmware/build/stratix10/release/fip.bin of=/dev/sdx3
- UEFI эх кодыг Linaro хэрэгслийн сүлжээгээр эмхэтгэж байна.
- UEFI ачаалагчийг бүтээж байна.
Secure Monitor ажиллуулж байна
- SD картыг суулгасны дараа самбарыг асаана уу.
- Quartus программистыг нээж, самбарыг .sof ашиглан програмчлаарай file үүсгэсэн .sof үүсгэх File ATF-тай.
- Самбар нь ATF-ээс ачаалж, UEFI бүрхүүлийг ачаалахын тулд UEFI ачаалагчийг автоматаар ачаалдаг.
Холбогдох мэдээлэл
- .sof үүсгэх file ATF-тай.
DS ашиглан дибаг хийх
Энэ хэсэгт ATF болон UEFI ачаалагчийг DS-ээр дамжуулан физик самбарт хэрхэн ачаалах талаар тайлбарлана.
- Та DS суулгасан эсэхээ шалгаарай. Дараах тушаалыг ашиглан Elipse-г ажиллуулна уу.
- зэвсэглэл &
- Шинэ дибаг хийх холболтыг тохируулна уу
- Алхам дүрслэл
- Алхам дүрслэл
- Тохиргоо дууссаны дараа зорилтот руу холбогдоно уу.
- Жич: Та зорилтод холбогдохын өмнө самбарыг ghrd_1sx280lu2f50e2vg_hps_debug.sof программчлах ёстой.
- DS командын консол дээр та физик самбарт ATF болон UEFI ачаалагчийг татаж авахын тулд дараах контент бүхий дибаг хийх скриптийг ачаалж болно.
Линуксыг ачаалж байна
Энэ хэсэгт UEFI нь UEFI бүрхүүлд орсны дараа Линуксыг хэрхэн ачаалахыг харуулна.
UEFI Shell-ээс ачаалж байна
- Аюулгүй мониторыг ажиллуулах хэсэгт тайлбарласны дагуу самбарыг UEFI бүрхүүл хүртэл ачаална уу.
- UEFI бүрхүүлийг ачаалсны дараа Linux-г ачаалахын тулд дараах тушаалыг оруулна уу:
- Зураг dtb=socfpga_stratix10_socdk.dtb консол=ttyS0,115200 root=/dev/mmcb
Жич: Линукс дүрс болон dtb нь SD картанд хадгалагдсан эсэхийг шалгаарай.
Intel Stratix 10 SoC UEFI ачаалагчийн хэрэглэгчийн гарын авлагад зориулсан баримт бичгийн засварын түүх
Баримт бичгийн хувилбар | Өөрчлөлтүүд |
2020.06.19 | Дараах хэсгүүдийг шинэчилсэн:
|
2019.03.28 |
|
2017.06.19 | Анхны хувилбар. |
Intel корпораци. Бүх эрх хуулиар хамгаалагдсан. Intel, Intel лого болон бусад Intel тэмдэг нь Intel корпораци эсвэл түүний охин компаниудын худалдааны тэмдэг юм. Intel нь өөрийн FPGA болон хагас дамжуулагч бүтээгдэхүүнүүдээ Intel-ийн стандарт баталгааны дагуу одоогийн техникийн үзүүлэлтүүдэд нийцүүлэн ажиллуулах баталгаа өгдөг ч аливаа бүтээгдэхүүн, үйлчилгээнд ямар ч үед мэдэгдэлгүйгээр өөрчлөлт оруулах эрхтэй. Intel нь бичгээр тохиролцсоноос бусад тохиолдолд энд дурдсан аливаа мэдээлэл, бүтээгдэхүүн, үйлчилгээг ашиглах, ашиглахаас үүдэн гарах хариуцлага, хариуцлага хүлээхгүй. Intel-ийн хэрэглэгчид нийтлэгдсэн мэдээлэлд найдах, бүтээгдэхүүн, үйлчилгээний захиалга өгөхөөс өмнө төхөөрөмжийн техникийн үзүүлэлтүүдийн хамгийн сүүлийн хувилбарыг авахыг зөвлөж байна. *Бусад нэр, брэндийг бусдын өмч гэж үзэж болно.
ID: 683134
Хувилбар: 2020.06.19
Баримт бичиг / нөөц
![]() |
intel UG-20080 Stratix 10 SoC UEFI ачаалагч [pdf] Хэрэглэгчийн гарын авлага UG-20080 Stratix 10 SoC UEFI ачаалагч, UG-20080, Stratix 10 SoC UEFI ачаалагч, 10 SoC UEFI ачаалагч, UEFI ачаалагч ачаалагч |