intel-logo

intel UG-20080 Stratix 10 SoC UEFI жүктөгүч

intel-UG-20080-Stratix-10-SoC -Boot-Loader-product

Бүттү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-UG-20080-Stratix-10-SoC -Boot-Loader-fig-1

Системалык талаптар

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 булак кодун алуу үчүн, жөн гана төмөнкү кадамдарды аткарыңыз

  1. Терминалды ачыңыз.
  2. GitHub'дан ATF булак кодун текшерүү үчүн жаңы каталог түзүңүз.
  3. Бул жумушчу каталогго өзгөртүңүз жана Git дарактарындагы ATF булагын төмөнкүдөй клондоңуз:
  4. Аяктагандан кийин, arm-trusted-firmware папкасына өзгөртүп, Git текшерүүсүн төмөнкүдөй аткарыңыз:
    • cd arm-ишенимдүү микропрограмма
    • git checkout socfpga_v2.1

Тиешелүү маалымат

  • ATF куруу.
  • Linaro куралдар чынжырчасы менен UEFI булак кодун түзүү.
  • Коопсуз мониторду иштетүү.

ATF куруу

Бул бөлүм Linaro GCC компилятору менен ATFти кантип курууну сүрөттөйт. Linaro GCC компилятору менен ATF түзүүнү баштоо үчүн, жөн гана төмөнкү кадамдарды аткарыңыз

  1. Каталогуңузду ATF булак коду жайгашкан жерге төмөнкүдөй өзгөртүңүз:
    • cd arm-ишенимдүү микропрограмма
  2. 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-
  3. Куруу дарагын толугу менен төмөндөгүдөй алып салыңыз:
    • чыныгы таза кылуу
  4. Төмөнкү буйрукту колдонуу менен ATF түзүңүз:
    • PLAT=stratix10 bl2 bl31 жаса
  5. ATF куруу ийгиликтүү болгондо төмөнкү билдирүүлөр пайда болотintel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-5
  6. Төмөнкү таблицада Коопсуз Монитордун чыгышы келтирилген 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 булак кодун кантип алуу керектигин көрсөтөт.

  1. Терминалды ачыңыз.
  2. Гит дарактарынан UEFI булагын клондоңуз.
  3. Бүткөндөн кийин, edk2 папкасына өзгөртүп, Git текшерүүсүн аткарыңыз.
    • cd edk2
    • git checkout socfpga_udk201905

edk2 платформаларынын булак коду GitHubда жайгашкан. edk2 платформаларынын баштапкы кодун алуу үчүн

Linaro куралдар чынжырчасы менен UEFI булак кодун түзүү

Бул бөлүм Linux системасында UEFI булак кодун Linaro инструменталдык чынжыр менен кантип компиляциялоону түшүндүрөт

  1. Терминалды ачып, төмөнкү буйрукту киргизиңиз:
    • 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-
  2. EDK_TOOLS_PATH орнотуу:
    • экспорттоо EDK_TOOLS_PATH=$PWD/edk2/BaseTools
  3. Репозиторийлердин жайгашкан жерин көрсөтүү үчүн PACKAGES_PATH орнотуңуз:
    • экспорт PACKAGES_PATH= $PWD/edk2:$PWD/edk2-platforms/
  4. WORKSPACE орнотуу:
    • WORKSPACE = $PWD экспорттоо
  5. Куруу чөйрөсүн орнотуу:
    • edk2/edksetup.sh
  6. BaseTools түзүңүз (python куралдары орнотулганын текшериңиз):
    • make -C edk2/BaseTools
  7. Төмөнкү буйрукту киргизүү менен 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
  8. 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 менен

  1. .sof алыңыз file $SOCEDS_DEST_ROOT орнотуу каталогунан.
  2. экиликти айландыруу file bl2.bin, ATF курууда түзүлгөн.
    • aarch64-linux-gnu-objcopy -I бинардык -O ihex – \-даректерди өзгөртүү 0xffe00000 bl2.bin bl2.hex
  3. Жүктөгүчтү .sof файлына кошуңуз file төмөнкүдөй:
    • 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

Тиешелүү маалымат

  • ATF куруу.

SD карта сүрөтүн түзүү

  1. UEFI жүктөгүчтү жана FIPти UEFI жүктөгүчтү куруу жана FIPти түзүү сыяктуу эле жаратыңыз.
  2. Linux жана root түзүңүз file системасы Rocketboard нускамаларына негизделген.
  3. SD картанын сүрөтүн түзүңүз:
  • make_image python скриптин алыңыз жана аны аткарылуучу кылыңыз
  • Май бөлүктөрүнүн мазмунун даярдаңыз:
    • 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 жүктөгүчтү куруу.

Коопсуз мониторду иштетүү

  1. SD карта салынгандан кийин тактаны күйгүзүңүз.
  2. Quartus программистти ачып, тактаны .sof менен программалаңыз file .sof түзүүдө түзүлгөн File ATF менен.

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

  • Такта ATFтен жүктөлөт жана UEFI кабыгын жүктөө үчүн UEFI жүктөгүчтү автоматтык түрдө жүктөйт.

Тиешелүү маалымат

  • .sof түзүү file ATF менен.
DS менен мүчүлүштүктөрдү оңдоо

Бул бөлүмдө ATF жана UEFI жүктөгүчтү DS аркылуу физикалык тактага кантип жүктөө керектиги сүрөттөлөт.

  1. DS орнотулганыңызды текшериңиз. Төмөнкү буйрукту колдонуп, тутулууну ишке киргизиңиз:
    • armds_ide &
  2. Жаңы мүчүлүштүктөрдү оңдоо байланышын орнотуңуз
    • Кадам иллюстрациясыintel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-8
  3. Конфигурация аяктагандан кийин, максаттуу туташыңыз.
    • Эскертүү: Максатка туташуудан мурун тактаны ghrd_1sx280lu2f50e2vg_hps_debug.sof менен программалашыңыз керек.
  4. DS буйрук консолунда сиз ATF жана UEFI жүктөгүчтү физикалык тактага жүктөп алуу үчүн төмөнкү мазмундагы мүчүлүштүктөрдү оңдоо скриптин жүктөсөңүз болот.

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

Linux жүктөлүүдө

Бул бөлүмдө UEFI UEFI кабыгына киргенден кийин Linuxту кантип жүктөө керектиги көрсөтүлөт.

UEFI Shellден жүктөлүүдө

  1. Коопсуз мониторду иштетүүдө сүрөттөлгөндөй, тактаны UEFI кабыгына чейин жүктөңүз.
  2. UEFI кабыгы жүктөлгөндөн кийин, Linuxту жүктөө үчүн төмөнкү буйрукту киргизиңиз:
    • Сүрөт dtb=socfpga_stratix10_socdk.dtb console=ttyS0,115200 root=/dev/mmcb

Эскертүү: Linux сүрөтү жана dtb SD картада сакталганын текшериңиз.

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

intel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-4Intel Stratix 10 SoC UEFI жүктөөчү үчүн документти кайра карап чыгуу тарыхы Колдонуучунун колдонмосу

Документтин версиясы Өзгөрүүлөр
2020.06.19 Төмөнкү бөлүмдөр жаңыртылган:
  • Минималдуу аппараттык талаптар
  • Минималдуу программалык талаптар
  • Compiler Toolchain орнотуу
  • Колдонуучу конфигурациясы
  • Arm Trusted Firmware Source Code алуу
  • ATF куруу
  • UEFI булак кодун алуу
  • edk2 платформасынын баштапкы кодун алуу
  • Linaro куралдар чынжырчасы менен UEFI булак кодун түзүү
  • UEFI түзүлгөн Files
  • .sof түзүү file ATF менен
  • SD карта сүрөтүн түзүү
  • DS менен мүчүлүштүктөрдү оңдоо
  • UEFI Shellден жүктөлүүдө
2019.03.28
  • Жаңы бөлүм кошулду: Коопсуз мониторду куруу жаңы жүктөө s сүрөттөө үчүнtage жана коопсуз жүктөө.
  • Жаңыртылган бөлүм: UEFI түзүлгөн Files.
  • Жаңы бөлүм кошулду: Intel Stratix 10 аппараттык жабдыктарында UEFI иштетүү.
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 жүктөгүч

Шилтемелер

Комментарий калтырыңыз

Сиздин электрондук почта дарегиңиз жарыяланбайт. Талап кылынган талаалар белгиленген *