intel UG-20080 Stratix 10 SoC UEFI жүктөгүч
Бүттүview
Бул документ Intel Stratix 10 SoC үчүн Unified Extensible Firmware Interface (UEFI) жүктөөчүсү жөнүндө толук маалыматты камтыйт. Intel Stratix 10 SoC төмөнкүлөрдөн турган коопсуз жүктөө агымын камсыз кылат
- Жүктөө ROM
- Коопсуз түзмөк менеджери (SDM)
- Коопсуз Монитор
- UEFI жүктөөчүсү
Intel Stratix 10 SoC коопсуз жүктөө агымы системаны жүктөөчүгө микропрограмма тарабынан тастыкталган криптографиялык ачкыч менен кол коюлганын камсыздайт. The Secure Monitor stage ошондой эле коопсуз бөлүүнүн TrustZone* моделин ишке ашырат. Бул модель программалык чөйрөнү коопсуз дүйнө жана коопсуз эмес дүйнө деп аталган эки обочолонгон бөлүккө бөлөт. Эки дүйнө бири-бири менен Secure Monitor аркылуу гана байланыша алат. UEFI жүктөөчүнүн экилик сүрөтү Quad SPI флеш SD/MMC картасында сакталышы мүмкүн. Бортту иштеткенде, коопсуз түзмөк менеджери (SDM) Коопсуз Мониторду түздөн-түз Hard Processor System (HPS) чиптеги оперативдүү эс тутумга жүктөйт. Андан кийин Secure Monitor UEFI жүктөгүчтү HPS DDR эс тутумуна жүктөйт.
Коопсуз Монитор милдеттери кирет
- DDR SDRAM эстутуму башталууда
- Кооптуу эмес дүйнөлүк программага керектүү PLL, IOs жана pin MUXes сыяктуу төмөнкү деңгээлдеги жабдыктарды конфигурациялоо
UEFI жүктөөчү милдеттери кирет
- Ethernet колдоосу менен камсыз кылуу
- Негизги аппараттык диагностикалык функцияларды колдоо
- Операциялык тутум пакети же ядронун сүрөтү сыяктуу кийинки жүктөө программасын алуу.
Эскертүү: Кооптуу эмес жүктөө үчүн, операциялык тутум пакети ядронун сүрөтүн, түзмөк дарагынын дөңгөчтөрүн жана камтышы мүмкүн fileсистемасы. Коопсуз жүктөө үчүн ал коопсуз ядро болушу мүмкүн.
UEFI жүктөө агымыview
Системалык талаптар
Intel Stratix 10 SoC Unified Extensible Firmware Interface (UEFI) жүктөөчү жүктөөчүсүн жүктөө жана аткаруу үчүн, тутумуңуз төмөнкү талаптарга жооп бериши керек.
Минималдуу аппараттык талаптар
- Төмөнкү конфигурациялуу Linux жумушчу станциясы:
- Сериялык терминал, мисалы, Linux үчүн Minicom
- microSD картасынын слоту же microSD карта жазуучусу же SDден microSDге конвертер менен SD жөндөмдүү жазуучу
Платформанын мүмкүнчүлүктөрү
Linux | |
UEFI жүктөгүчтү түзө алат | Ооба |
Коопсуз мониторду түзө алат | Ооба |
Минималдуу программалык талаптар
- Intel® SoC FPGA Embedded Development Suite (SoC EDS) v18.1 жана андан жогору
- Linaro aarch64-linux-gnu-gcc куралдар тизмеги
Баштоо
Программанын компоненттерин орнотуу
Intel SoC EDS орнотуу
- Сиз компьютериңизге Intel SoC EDS орнотушуңуз керек.
- FPGA үчүн Жүктөө борборунан Intel SoC EDS жүктөп алыңыз.
Compiler Toolchain орнотуу
Сиз Arm* процессорлору үчүн GNU Toolchain (EABI Release) менен UEFI жүктөгүчтү жана Кооптуу Мониторду компиляциялайсыз. GNU Toolchain'ди Arm'дун жүктөп алуу барагынан жүктөп алсаңыз болот.
- Linux: gcc-arm-8.3-2019.03-x86_64-aarch64-Linux-gnu.tar.xz
Коопсуз мониторду куруу
Коопсуздук барган сайын маанилүү болгон сайын, коопсуз жүктөө чечими орнотулган дүйнөдө талап болуп калат. Ар тараптуу коопсуздукту жана ишенимдүү платформаны камсыз кылуу үчүн коопсуз бөлүү талап кылынат. Intel Stratix 10 түзмөгү TrustZone моделин Arm Trusted Firmware (ATF) менен ишке ашыруу аркылуу коопсуз бөлүүгө жетишет. TrustZone модели эсептөө чөйрөсүн эки обочолонгон дүйнөгө, коопсуз дүйнөгө жана кадимки дүйнөгө бөлөт, алар Secure Monitor деп аталган программалык монитор менен байланышкан. Эки дүйнө логикалык дарек мейкиндигин жана перифериялык түзүлүштөрдү бөлүп алышкан. Эки дүйнөнүн ортосундагы байланыш артыкчылыктуу Secure Monitor чалуу (SMC) нускамасын чакыруу менен гана мүмкүн болот.
толук коопсуз жүктөө чечим болуп саналат
- BootRom
- Коопсуз түзмөк менеджери
- Коопсуз Монитор
- Uboot/UEFI
- Гипервизор
- OS
Secure Monitor режими артыкчылыктуу режим жана NS битинин абалына карабастан ар дайым коопсуз. Коопсуз Монитор - Коопсуз Монитор режиминде иштеген код жана Коопсуз дүйнөгө жана Кооптуу дүйнөгө которулуу процесстерин жүргүзөт. Программанын жалпы коопсуздугу бул коддун коопсуздугуна жана Коопсуз жүктөө кодуна көз каранды.
Тиешелүү маалымат
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 Trusted Firmware Source Code алуу
ATF булагы GitHub сайтында. ATF булак кодун алуу үчүн, жөн гана төмөнкү кадамдарды аткарыңыз
- Терминалды ачыңыз.
- GitHub'дан ATF булак кодун текшерүү үчүн жаңы каталог түзүңүз.
- Бул жумушчу каталогго өзгөртүңүз жана Git дарактарындагы ATF булагын төмөнкүдөй клондоңуз:
- Аяктагандан кийин, arm-trusted-firmware папкасына өзгөртүп, Git текшерүүсүн төмөнкүдөй аткарыңыз:
- cd arm-ишенимдүү микропрограмма
- git checkout socfpga_v2.1
Тиешелүү маалымат
- ATF куруу.
- Linaro куралдар чынжырчасы менен UEFI булак кодун түзүү.
- Коопсуз мониторду иштетүү.
ATF куруу
Бул бөлүм Linaro GCC компилятору менен ATFти кантип курууну сүрөттөйт. Linaro GCC компилятору менен ATF түзүүнү баштоо үчүн, жөн гана төмөнкү кадамдарды аткарыңыз
- Каталогуңузду ATF булак коду жайгашкан жерге төмөнкүдөй өзгөртүңүз:
- cd arm-ишенимдүү микропрограмма
- GCC жолун жана CROSS_COMPILE чөйрө өзгөрмөсүн Linaro кайчылаш компиляциясына төмөнкүдөй коюңуз: экспорт 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 куруу ийгиликтүү болгондо төмөнкү билдирүүлөр пайда болот
- Төмөнкү таблицада Коопсуз Монитордун чыгышы келтирилген files.
Коопсуз Монитордун сүрөттөмөлөрү Files
File Жол жана аты | Description |
\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 булагын түзөсүз.
Unified Extensible Firmware Interface (UEFI) платформаны инициализациялоону жана микропрограмманы жүктөө операцияларын жөнөкөйлөтүүчү жана коопсуздандырган стандартташтырылган микропрограмма спецификациясы. Учурда UEFI 250дөн ашык алдыңкы технологиялык компаниялардын өкүлдөрү тарабынан иштелип чыккан жана колдоого алынган. Арм жана Linaro Enterprise Group дагы Arm архитектурасында UEFI'ди колдонууну кубаттап жатышат, анткени UEFI спецификациясы Arm процессоруна негизделген платформалар үчүн жүктөө процессин стандартташтырууга жардам берет. UEFI технологиясы менчик микропрограммалык дизайнга караганда микропрограмманын дизайнын стандартташтыруу аркылуу келечекте далилденген. UEFI спецификациялары бизнести жана технологиялык натыйжалуулукту жогорулатат, өндүрүмдүүлүктү жана коопсуздукту жакшыртат, түзмөктөрдүн, платформалардын жана системалардын ортосундагы өз ара аракеттенүүнү жеңилдетет жана кийинки муундагы технологияларга ылайык келет. UEFI спецификациясы peer-re болуп саналатviewed жана жарыяланып, иштеп чыгуучуларга ар бир платформага бир жолу микропрограмма жазууга жана аны көп өзгөртүүсүз кайра колдонууга мүмкүндүк берет. Бул кайра колдонуу жүктөгүчтү иштеп чыгуу учурунда чыгымды жана убакытты үнөмдөөгө алып келет. Бул негиз BSD лицензиясын колдонот, бул сизге минималдуу юридикалык маселелер менен ишке ашырууңузду коммерциялаштырууга мүмкүндүк берет. UEFI булак кодун Windows же Linux тутумунда түзө аласыз.
Пререквизиттер
UEFI куруу үчүн кошумча Linux топтомдору талап кылынат. Linux бөлүштүрүлүшүңүзгө жараша, пакеттерди орнотуу буйругу ар кандай болот:
Эгер сиз Ubuntu бөлүштүрүүнү колдонуп жатсаңыз, териңиз
- sudo apt-get орнотуу uuid-dev куруу маанилүү
Эгер сиз Fedora бөлүштүрүүнү колдонуп жатсаңыз, териңиз
- sudo yum орнотуу uuid-devel libuid-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
Linaro куралдар чынжырчасы менен UEFI булак кодун түзүү
Бул бөлүм Linux системасында UEFI булак кодун Linaro инструменталдык чынжыр менен кантип компиляциялоону түшүндүрөт
- Терминалды ачып, төмөнкү буйрукту киргизиңиз:
- 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-platforms/
- WORKSPACE орнотуу:
- WORKSPACE = $PWD экспорттоо
- Куруу чөйрөсүн орнотуу:
- edk2/edksetup.sh
- BaseTools түзүңүз (python куралдары орнотулганын текшериңиз):
- make -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 LIBRARY -Y FLASH -Y DEPEX -Y КУРУ_ЖЕЛЕКТЕР -Y FIXED_ADDRES
- UEFI ийгиликтүү компиляциялангандан кийин терминалыңыз "Бүттү" деген билдирүүнү көрсөтөт.
UEFI түзүлгөн Files
UEFI булак кодун түзүү төмөнкүлөрдү жаратат files /Build/ Stratix10SoCPkg/RELEASE_GCC48 папкасында:
UEFI түзүлгөн Files
File | Description |
INTELSTRATİX10_EFI.fd | Бул file UEFI кабыгын жүктөө жана Ethernet функциясын иштетүү же UEFI тиркемесин иштетүү үчүн UEFI жүктөөчүсү |
FIP түзүү
FIP - бул ATF's BL2 оперативдүү эстутумга жүктөгөн жана аткарылган пайдалуу жүк. 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 аппараттык жабдыктарында UEFI иштетүү
ATF жана UEFI жүктөгүч менен физикалык тактада иштөө
Бул бөлүмдө коопсуз мониторду физикалык тактада кантип иштетүү керектиги сүрөттөлөт.
.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ти түзүү сыяктуу эле жаратыңыз.
- Linux жана 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 май && cd май
- 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,формат=чийки,өлчөм=10M, түрү=A2 -P rootfs/\ *,num=2,формат=ext3,өлчөм=1500M -P
- Сүрөт,socfpga_stratix10_socdk.dtb,num=1,format=fat32,өлчөм=500M -s 2G -n sdimage.img
- Эскертүү: Эгер сизде A2 бөлүмү бар SD сүрөтү бар болсо, анда FIPди алмаштыра аласыз file төмөнкү буйрук менен:
- sudo dd if =arm-trusted-firmware/build/stratix10/release/fip.bin of=/dev/sdx3
- Linaro куралдар чынжырчасы менен UEFI булак кодун түзүү.
- UEFI жүктөгүчтү куруу.
Коопсуз мониторду иштетүү
- SD карта салынгандан кийин тактаны күйгүзүңүз.
- Quartus программистти ачып, тактаны .sof менен программалаңыз file .sof түзүүдө түзүлгөн File ATF менен.
- Такта ATFтен жүктөлөт жана UEFI кабыгын жүктөө үчүн UEFI жүктөгүчтү автоматтык түрдө жүктөйт.
Тиешелүү маалымат
- .sof түзүү file ATF менен.
DS менен мүчүлүштүктөрдү оңдоо
Бул бөлүмдө ATF жана UEFI жүктөгүчтү DS аркылуу физикалык тактага кантип жүктөө керектиги сүрөттөлөт.
- DS орнотулганыңызды текшериңиз. Төмөнкү буйрукту колдонуп, тутулууну ишке киргизиңиз:
- armds_ide &
- Жаңы мүчүлүштүктөрдү оңдоо байланышын орнотуңуз
- Кадам иллюстрациясы
- Кадам иллюстрациясы
- Конфигурация аяктагандан кийин, максаттуу туташыңыз.
- Эскертүү: Максатка туташуудан мурун тактаны ghrd_1sx280lu2f50e2vg_hps_debug.sof менен программалашыңыз керек.
- DS буйрук консолунда сиз ATF жана UEFI жүктөгүчтү физикалык тактага жүктөп алуу үчүн төмөнкү мазмундагы мүчүлүштүктөрдү оңдоо скриптин жүктөсөңүз болот.
Linux жүктөлүүдө
Бул бөлүмдө UEFI UEFI кабыгына киргенден кийин Linuxту кантип жүктөө керектиги көрсөтүлөт.
UEFI Shellден жүктөлүүдө
- Коопсуз мониторду иштетүүдө сүрөттөлгөндөй, тактаны UEFI кабыгына чейин жүктөңүз.
- UEFI кабыгы жүктөлгөндөн кийин, Linuxту жүктөө үчүн төмөнкү буйрукту киргизиңиз:
- Сүрөт dtb=socfpga_stratix10_socdk.dtb console=ttyS0,115200 root=/dev/mmcb
Эскертүү: Linux сүрөтү жана 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 тарабынан жазуу жүзүндө ачык макулдашылгандан башка учурларда. 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 жүктөгүч |