intel UG-20080 Stratix 10 SoC UEFI Boot Loader
ကျော်view
ဤစာရွက်စာတမ်းသည် Intel Stratix 10 SoC အတွက် Unified Extensible Firmware Interface (UEFI) bootloader တွင် ပြည့်စုံသောအချက်အလက်များကို ပေးဆောင်ပါသည်။ Intel Stratix 10 SoC သည် ပါဝင်သော လုံခြုံသော boot flow ကို ပံ့ပိုးပေးသည်။
- boot ROM
- လုံခြုံသောစက်ပစ္စည်းမန်နေဂျာ (SDM)
- လုံခြုံသောစောင့်ကြည့်
- UEFI boot loader
Intel Stratix 10 SoC လုံခြုံသော boot flow သည် system boot loader ကို firmware မှအတည်ပြုပြီး cryptographic key ဖြင့် လက်မှတ်ထိုးထားကြောင်း သေချာစေသည်။ The Secure Monitor ၎tage သည် လုံခြုံသောအပိုင်းခွဲခြင်း၏ TrustZone* မော်ဒယ်ကိုလည်း အကောင်အထည်ဖော်သည်။ ဤမော်ဒယ်သည် ဆော့ဖ်ဝဲလ်ပတ်ဝန်းကျင်ကို လုံခြုံသောကမ္ဘာနှင့် လုံခြုံမှုမရှိသောကမ္ဘာဟုခေါ်သော သီးခြားခွဲခြမ်းနှစ်ခုအဖြစ် ပိုင်းခြားထားသည်။ ကမ္ဘာနှစ်ခုသည် Secure Monitor မှတဆင့် အချင်းချင်းသာ ဆက်သွယ်နိုင်သည်။ UEFI boot loader ၏ ဒွိပုံပုံအား Quad SPI flash SD/MMC ကတ်တွင် သိမ်းဆည်းနိုင်ပါသည်။ ဘုတ်ပါဝါဖွင့်ချိန်တွင်၊ လုံခြုံသောစက်ပစ္စည်းမန်နေဂျာ (SDM) သည် Secure Monitor ကို Hard Processor System (HPS) on-chip RAM ပေါ်သို့ တိုက်ရိုက်တင်ပါသည်။ ထို့နောက် Secure Monitor သည် HPS DDR memory တွင် UEFI boot loader ကို load လုပ်သည်။
Secure Monitor တွင် လုပ်ဆောင်စရာများ ပါဝင်သည်။
- DDR SDRAM မမ်မိုရီကို စတင်နေပါသည်။
- လုံခြုံမှုမရှိသောကမ္ဘာ့ဆော့ဖ်ဝဲလ်မှလိုအပ်သော PLL၊ IOs နှင့် pin MUXes ကဲ့သို့သော အဆင့်နိမ့် ဟာ့ဒ်ဝဲများကို ပြင်ဆင်သတ်မှတ်ခြင်း
UEFI boot loader လုပ်ဆောင်ချက်များ ပါဝင်သည်။
- Ethernet ပံ့ပိုးမှုပေးသည်။
- အခြေခံ ဟာ့ဒ်ဝဲ ရောဂါရှာဖွေရေး အင်္ဂါရပ်များကို ပံ့ပိုးပေးခြင်း
- လည်ပတ်မှုစနစ် ပက်ကေ့ဂျ် သို့မဟုတ် kernel ပုံကဲ့သို့သော နောက်ဆက်တွဲ boot software ကို ရယူခြင်း။
မှတ်ချက် - လုံခြုံမှုမရှိသော boot အတွက်၊ လည်ပတ်မှုစနစ်ပက်ကေ့ချ်တွင် kernel ပုံ၊ ကိရိယာသစ်ပင် blob နှင့် ပါဝင်သည်။ fileစနစ်။ လုံခြုံသော boot ပြုလုပ်ရန်အတွက် ၎င်းသည် လုံခြုံသော kernel ဖြစ်နိုင်သည်။
UEFI Boot Flow Overview

စနစ်လိုအပ်ချက်များ
Intel Stratix 10 SoC Unified Extensible Firmware Interface (UEFI) boot loader ကို တင်၍ လုပ်ဆောင်ရန်၊ သင့်စနစ်သည် အောက်ပါလိုအပ်ချက်များနှင့် ကိုက်ညီရပါမည်။
အနည်းဆုံး Hardware လိုအပ်ချက်များ
- အောက်ပါဖွဲ့စည်းပုံနှင့်အတူ Linux အလုပ်ရုံ-
- Linux အတွက် Minicom ကဲ့သို့ အမှတ်စဉ် ဂိတ်
- microSD ကတ်အပေါက် သို့မဟုတ် microSD ကတ်စာရေးဆရာ သို့မဟုတ် SD မှ microSD သို့ ပြောင်းပေးသည့် SD ဖြင့် SD လုပ်နိုင်သော SD စာရေးဆရာ
ပလပ်ဖောင်းစွမ်းဆောင်ရည်များ
| ဘယ်ဟာကလဲ။ | |
| UEFI boot loader ကို compile လုပ်နိုင်သည်။ | ဟုတ်ကဲ့ |
| Secure Monitor ကို စုစည်းနိုင်ခြင်း | ဟုတ်ကဲ့ |
အနည်းဆုံး Software လိုအပ်ချက်များ
- Intel® SoC FPGA Embedded Development Suite (SoC EDS) v18.1 နှင့် အထက်
- Linaro aarch64-linux-gnu-gcc toolchain
စတင်အသုံးပြုခြင်း
Software Components များ ထည့်သွင်းခြင်း။
Intel SoC EDS ကို ထည့်သွင်းခြင်း။
- သင့်စက်တွင် Intel SoC EDS ကို တပ်ဆင်ရပါမည်။
- FPGAs အတွက်ဒေါင်းလုဒ်စင်တာမှ Intel SoC EDS ကိုဒေါင်းလုဒ်လုပ်ပါ။
Compiler Toolchain ကို ထည့်သွင်းခြင်း။
သင်သည် UEFI boot loader နှင့် Secure Monitor ကို Arm* ပရိုဆက်ဆာများအတွက် GNU Toolchain (EABI Release) ဖြင့် စုစည်းထားသည်။ Arm ၏ဒေါင်းလုဒ်စာမျက်နှာမှ GNU Toolchain ကိုသင်ဒေါင်းလုဒ်လုပ်နိုင်သည်။
- Linux- gcc-arm-8.3-2019.03-x86_64-aarch64-Linux-gnu.tar.xz
Secure Monitor တည်ဆောက်ခြင်း။
လုံခြုံရေးသည် ပို၍အရေးကြီးလာသည်နှင့်အမျှ၊ လုံခြုံသော boot ဖြေရှင်းချက်သည် ထည့်သွင်းထားသောကမ္ဘာတွင် လိုအပ်ချက်တစ်ခုဖြစ်လာသည်။ ပြီးပြည့်စုံသော လုံခြုံရေးနှင့် ယုံကြည်စိတ်ချရသော ပလပ်ဖောင်းကို သေချာစေရန်၊ လုံခြုံသော အပိုင်းခွဲခြင်းကို လိုအပ်ပါသည်။ Intel Stratix 10 စက်ပစ္စည်းသည် Arm Trusted Firmware (ATF) ဖြင့် TrustZone မော်ဒယ်ကို အကောင်အထည်ဖော်ခြင်းဖြင့် လုံခြုံသောအပိုင်းခွဲမှုကို ရရှိသည်။ TrustZone မော်ဒယ်သည် Secure Monitor ဟုခေါ်သော ဆော့ဖ်ဝဲလ်မော်နီတာဖြင့် ချိတ်ဆက်ထားသည့် သီးခြားကမ္ဘာနှစ်ခုဖြစ်သည့် လုံခြုံသောကမ္ဘာနှင့် ပုံမှန်ကမ္ဘာအဖြစ် ပိုင်းခြားထားသည်။ ကမ္ဘာနှစ်ခုသည် logical address space နှင့် peripherals များကို ပိုင်းခြားထားသည်။ အခွင့်ထူးခံ Secure Monitor call (SMC) ညွှန်ကြားချက်ကို ခေါ်ဆိုခြင်းဖြင့်သာ ကမ္ဘာနှစ်နိုင်ငံကြား ဆက်သွယ်ရေးသည် ဖြစ်နိုင်သည်။
လုံခြုံသော boot ဖြေရှင်းချက် အပြည့်အစုံမှာ
- BootRom
- လုံခြုံသော စက်ပစ္စည်းမန်နေဂျာ
- လုံခြုံသောစောင့်ကြည့်
- Uboot/UEFI
- Hypervisor
- OS
Secure Monitor မုဒ်သည် အခွင့်ထူးခံမုဒ်ဖြစ်ပြီး NS ဘစ်၏ အခြေအနေ မည်သို့ပင်ရှိပါစေ အမြဲတမ်း လုံခြုံပါသည်။ Secure Monitor သည် Secure Monitor မုဒ်တွင် အလုပ်လုပ်ပြီး Secure world သို့ ကူးပြောင်းသည့် လုပ်ငန်းစဉ်များဖြစ်သည်။ ဆော့ဖ်ဝဲလ်၏ အလုံးစုံလုံခြုံရေးသည် Secure boot code နှင့်အတူ ဤကုဒ်၏လုံခြုံရေးအပေါ် မူတည်ပါသည်။
ဆက်စပ်အချက်အလက်
Arm Trusted Firmware အကြောင်း အထွေထွေ အချက်အလက်
အသုံးပြုသူဖွဲ့စည်းပုံ
arm-trusted-firmware/plat/intel/soc/stratix10/include/socfpga_plat_def.h တွင် ပလက်ဖောင်းဖွဲ့စည်းပုံအားလုံးကို သင်တွေ့နိုင်သည်။ အသုံးပြုသူ ဖွဲ့စည်းမှုပုံစံအတွက်၊ သင့်စိတ်ကြိုက်ရွေးချယ်မှုများအပေါ် အခြေခံ၍ boot ရင်းမြစ်များကို ပြင်ဆင်ရပါမည်။ သင်သည် SDMMC မှစတင်ပါက BOOT_SOURCE_SDMMC ကိုရွေးချယ်ပါ သို့မဟုတ် QSPI မှစတင်ပါက BOOT_SOURCE_QSPI ကိုရွေးချယ်ပါ။
- #BOOT_SOURCE BOOT_SOURCE_SDMMC ကိုသတ်မှတ်ပါ။
မှတ်ချက် - boot ကိုပြောင်းလဲရန် fileအမည် သို့မဟုတ် အော့ဖ်ဆက်၊ ဤတွင် #define ကို သင် ပြောင်းလဲနိုင်သည်။ file.
Arm Trusted Firmware Source Code ကို ရယူခြင်း။
ATF အရင်းအမြစ်သည် GitHub တွင်ရှိသည်။ ATF အရင်းအမြစ်ကုဒ်ကို ရယူရန်၊ အောက်ပါအဆင့်များကို ရိုးရှင်းစွာ လုပ်ဆောင်ပါ။
- terminal ကိုဖွင့်ပါ။
- GitHub မှ ATF အရင်းအမြစ်ကုဒ်ကို စစ်ဆေးရန် လမ်းညွှန်အသစ်တစ်ခု ဖန်တီးပါ။
- ဤလုပ်ငန်းသုံးလမ်းညွှန်သို့ပြောင်းပြီး Git သစ်ပင်များမှ ATF အရင်းအမြစ်ကို အောက်ပါအတိုင်း ပုံတူကူးပါ။
- ပြီးသွားသောအခါ၊ arm-trusted-firmware folder သို့ပြောင်းပြီး Git check out ကို အောက်ပါအတိုင်း လုပ်ဆောင်ပါ-
- cd arm-trusted-firmware
- git checkout socfpga_v2.1
ဆက်စပ်အချက်အလက်
- ATF ကိုတည်ဆောက်ခြင်း။
- Linaro Tool Chain ဖြင့် UEFI အရင်းအမြစ်ကုဒ်ကို ပြုစုခြင်း။
- Secure Monitor ကို လုပ်ဆောင်ခြင်း။
ATF ကိုတည်ဆောက်ခြင်း။
ဤအပိုင်းတွင် Linaro GCC compiler ဖြင့် ATF ကို မည်သို့တည်ဆောက်ရမည်ကို ဖော်ပြထားပါသည်။ ATF ကို Linaro GCC compiler ဖြင့် စတင်တည်ဆောက်ရန်၊ အောက်ပါအဆင့်များကို ရိုးရှင်းစွာ လုပ်ဆောင်ပါ။
- သင်၏လမ်းညွှန်ကို ATF အရင်းအမြစ်ကုဒ်တည်နေရာသို့ အောက်ပါအတိုင်းပြောင်းပါ-
- cd arm-trusted-firmware
- GCC လမ်းကြောင်းနှင့် ပတ်၀န်းကျင် ပြောင်းလဲနိုင်သော CROSS_COMPILE ကို Linaro ဖြတ်ကျော် compile အဖြစ် အောက်ပါအတိုင်း သတ်မှတ်ပါ- တင်ပို့ PATH= /\gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/:$PATH
- ARCH=arm64 ကို တင်ပို့ပါ။
- CROSS_COMPILE=aarch64-linux-gnu- ထုတ်ယူရန်
- အောက်ပါအတိုင်း တည်ဆောက်ထားသော သစ်ပင်ကို လုံးဝဖယ်ရှားပါ။
- သန့်ရှင်းအောင်လုပ်ပါ။
- အောက်ပါ command ကိုသုံး၍ 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 | elf ကိုထုတ်လုပ်ခဲ့သည်။ file |
| \build\stratix10\release\bl2.bin | ဒွိစုံထုတ်ပေးသည်။ file |
| \build\stratix10\release\bl2\bl2.elf | elf ကိုထုတ်လုပ်ခဲ့သည်။ file |
UEFI Boot Loader ကိုတည်ဆောက်ခြင်း။
UEFI boot loader ကိုတည်ဆောက်ရန်အတွက် သင်သည် UEFI အရင်းအမြစ်ကုဒ်ကိုရယူပြီး UEFI အရင်းအမြစ်ကို ပံ့ပိုးထားသော toolchain ဖြင့် စုစည်းပါ။
Unified Extensible Firmware Interface (UEFI) သည် ပလပ်ဖောင်းအစပျိုးခြင်း နှင့် firmware bootstrap လုပ်ဆောင်ချက်များကို ရိုးရှင်းစေပြီး လုံခြုံစေသည့် စံသတ်မှတ်ထားသော ဖာမ်းဝဲသတ်မှတ်ချက်တစ်ခုဖြစ်သည်။ UEFI သည် လက်ရှိတွင် စက်မှုထိပ်တန်းနည်းပညာကုမ္ပဏီ 250 ကျော်မှ ကိုယ်စားလှယ်များက တီထွင်ပြီး ပံ့ပိုးပေးထားသည်။ Arm နှင့် Linaro Enterprise Group တို့သည် Arm ပရိုဆက်ဆာအခြေခံပလပ်ဖောင်းများအတွက် UEFI သတ်မှတ်ချက်သည် boot လုပ်ငန်းစဉ်ကို စံသတ်မှတ်နိုင်သောကြောင့် Arm Architecture တွင် UEFI အသုံးပြုမှုကို မြှင့်တင်လျက်ရှိသည်။ UEFI နည်းပညာသည် တစ်ဦးတည်းပိုင်ဖမ်ဝဲဒီဇိုင်းထက် ဖာမ်းဝဲလ်ဒီဇိုင်းကို စံပြုသတ်မှတ်ခြင်းဖြင့် အနာဂတ်တွင် သက်သေပြထားသည်။ UEFI သတ်မှတ်ချက်များသည် စီးပွားရေးနှင့် နည်းပညာဆိုင်ရာ စွမ်းဆောင်ရည်ကို မြှင့်တင်ပေးခြင်း၊ စွမ်းဆောင်ရည်နှင့် လုံခြုံရေးကို မြှင့်တင်ပေးခြင်း၊ စက်ပစ္စည်းများ၊ ပလပ်ဖောင်းများနှင့် စနစ်များကြား အပြန်အလှန်လုပ်ဆောင်နိုင်မှုကို လွယ်ကူချောမွေ့စေပြီး မျိုးဆက်သစ်နည်းပညာများကို လိုက်နာစေပါသည်။ UEFI သတ်မှတ်ချက်သည် peer-re ဖြစ်သည်။viewed and published ဖြင့် developer များအား platform တစ်ခုလျှင် firmware တစ်ကြိမ်ရေးပြီး ပြုပြင်မွမ်းမံမှုများစွာမရှိဘဲ ၎င်းကို ပြန်လည်အသုံးပြုနိုင်ပါသည်။ ၎င်းသည် ပြန်လည်အသုံးပြုခြင်းသည် boot loader ဖွံ့ဖြိုးတိုးတက်မှုအတွင်း ကုန်ကျစရိတ်နှင့် အချိန်ကုန်သက်သာစေသည်။ ဤမူဘောင်သည် BSD လိုင်စင်ကို အသုံးပြုထားပြီး၊ သင့်အား ဥပဒေရေးရာပြဿနာအနည်းငယ်ဖြင့် သင်၏အကောင်အထည်ဖော်မှုကို စီးပွားဖြစ်ရွေးချယ်နိုင်စေမည်ဖြစ်သည်။ သင်သည် UEFI အရင်းအမြစ်ကုဒ်ကို Windows သို့မဟုတ် Linux စနစ်တွင် စုစည်းနိုင်သည်။
လိုအပ်ချက်များ
UEFI တည်ဆောက်ရာတွင် နောက်ထပ် Linux ပက်ကေ့ခ်ျများ လိုအပ်သည်။ သင်၏ Linux ဖြန့်ဖြူးမှုအပေါ် မူတည်၍ ပက်ကေ့ဂျ်များကို ထည့်သွင်းရန် အမိန့်မှာ ကွဲပြားသည်-
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 အရင်းအမြစ်ကုဒ်ကို မည်သို့ရယူရမည်ကို ဖော်ပြသည်။
- terminal ကိုဖွင့်ပါ။
- Git သစ်ပင်များမှ UEFI အရင်းအမြစ်ကို ပွားပါ။
- ပြီးသွားသောအခါ၊ edk2 ဖိုဒါသို့ပြောင်းပြီး Git ငွေပေးချေမှုပြုလုပ်ပါ။
- cd edk2
- git checkout socfpga_udk201905
edk2 ပလပ်ဖောင်းအရင်းအမြစ်ကုဒ်သည် GitHub တွင်တည်ရှိသည်။ edk2 ပလပ်ဖောင်း အရင်းအမြစ်ကုဒ်ကို ရယူရန်
- git clone https://github.com/altera-opensource/edk2-platforms-socfpgaedk2-platforms
- cd edk2-ပလပ်ဖောင်းများ
- git checkout socfpga_udk201905
Linaro Tool Chain ဖြင့် UEFI အရင်းအမြစ်ကုဒ်ကို ပြုစုခြင်း။
ဤအပိုင်းသည် Linux စနစ်ရှိ Linaro toolchain ဖြင့် UEFI အရင်းအမြစ်ကုဒ်ကို မည်သို့စုစည်းရမည်ကို ရှင်းပြထားသည်။
- Terminal ကိုဖွင့်ပြီးအောက်ပါ command ကိုရိုက်ပါ။
- 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/
- အလုပ်နေရာကို သတ်မှတ်ပါ-
- တင်ပို့ခြင်းလုပ်ငန်း = $PWD
- တည်ဆောက်မှုပတ်ဝန်းကျင်ကို သတ်မှတ်ပါ-
- edk2/edksetup.sh
- Build BaseTools (python ကိရိယာများကို တပ်ဆင်ထားကြောင်း သေချာစေသည်)။
- -C edk2/BaseTools ပြုလုပ်ပါ။
- အောက်ပါ command ကိုရိုက်ထည့်ခြင်းဖြင့် UEFI bootloader ကိုစုစည်းပါ။
- 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 BUILD_FLAGS -Y FIXED_ADDRESS
- UEFI ကို အောင်မြင်စွာ စုစည်းပြီးနောက် သင်၏ terminal သည် "Build Done" မက်ဆေ့ချ်ကို ပြသပါသည်။
UEFI ထုတ်ပေးခဲ့သည်။ Files
UEFI အရင်းအမြစ်ကုဒ်ကို စုစည်းခြင်းသည် အောက်ပါတို့ကို ဖန်တီးပေးပါသည်။ files /Build/ Stratix10SoCPkg/RELEASE_GCC48 ဖိုင်တွဲတွင်-
UEFI ထုတ်ပေးခဲ့သည်။ Files
| File | ဖော်ပြချက် |
| INTELSTRATIX10_EFI.fd | ဒီ file UEFI shell ကိုဖွင့်ပြီး အီသာနက်လုပ်ဆောင်ချက်ကိုဖွင့်ရန် သို့မဟုတ် UEFI အပလီကေးရှင်းကိုဖွင့်ရန် UEFI bootloader ဖြစ်သည် |
FIP ထုတ်ပေးခြင်း။
FIP သည် ATF ၏ BL2 ကို RAM ထဲသို့ သွင်းပြီး ကွပ်မျက်သည့် payload ဖြစ်သည်။ FIP တွင် BL31 နှင့် UEFI bootloader အတွက် binary နှင့် BL2 အသိအမှတ်ပြုသည့် container ပါရှိသည်။
FIP ကိုတည်ဆောက်ရန်၊ ဤညွှန်ကြားချက်များကိုလိုက်နာပါ။
- ARCH = ARM64 ကို တင်ပို့သည်။
- CROSS_COMPILE= aarch64-linux-gnu- တင်ပို့ခြင်း
- cd
အောက်ပါ command ကို အသုံးပြု၍ FIP ကိုတည်ဆောက်ပါ။
- fip BL33= ပြုလုပ်ပါ။ /Build/Stratix10SoCPKG/\DEBUG_GCC48/FV/INTELSTRATIX10_EFI.fd fip PLAT=stratix10
Intel Stratix 10 Hardware တွင် UEFI ကို လုပ်ဆောင်နေသည်။
ATF နှင့် UEFI Bootloader ဖြင့် Physical Board ပေါ်တွင် လုပ်ဆောင်နေသည်။
ဤအပိုင်းတွင် Secure Monitor ကို Physical board တစ်ခုပေါ်တွင် မည်သို့လုပ်ဆောင်ရမည်ကို ဖော်ပြထားပါသည်။
.sof ကို ဖန်တီးပါ။ file ATF နှင့်
- .sof ကိုရယူပါ။ file $SOCEDS_DEST_ROOT တပ်ဆင်မှုလမ်းညွှန်မှ
- binary ပြောင်းပါ။ file ATF တည်ဆောက်ခြင်းတွင် bl2.bin ကိုထုတ်ပေးသည်။
- aarch64-linux-gnu-objcopy -I binary -O ihex – \-change-addresses 0xffe00000 bl2.bin bl2.hex
- .sof တွင် bootloader ကို ထည့်သွင်းပါ။ file ဖော်ပြပါအတိုင်း:
- quartus_pfg -c -o hps_path=bl2.hex \ghrd_1sx280lu2f50e2vg.sof ghrd_1sx280lu2f50e2vg_hps.sof

ဆက်စပ်အချက်အလက်
- ATF ကိုတည်ဆောက်ခြင်း။
SD ကတ်ပုံ ဖန်တီးခြင်း။
- UEFI Bootloader ကိုတည်ဆောက်ခြင်းနှင့် FIP ကိုထုတ်လုပ်ခြင်းတွင်ကဲ့သို့ UEFI Bootloader နှင့် FIP ကိုဖန်တီးပါ။
- Linux နှင့် root ကိုတည်ဆောက်ပါ။ file Rocketboard ရှိ ညွှန်ကြားချက်များကို အခြေခံသည့် စနစ်။
- SD ကတ်ပုံကို တည်ဆောက်ပါ-
- make_image python script ကိုရယူပြီး executable လုပ်ပါ။
- 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,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 partition ပါသော SD ပုံတစ်ပုံရှိနှင့်ပြီးပါက၊ သင်သည် FIP ကို အစားထိုးနိုင်ပါသည်။ file အောက်ပါ command ဖြင့်
- sudo dd if =arm-trusted-firmware/build/stratix10/release/fip.bin of=/dev/sdx3
- Linaro Tool Chain ဖြင့် UEFI အရင်းအမြစ်ကုဒ်ကို ပြုစုခြင်း။
- UEFI Boot Loader ကိုတည်ဆောက်ခြင်း။
Secure Monitor ကို လုပ်ဆောင်ခြင်း။
- SD ကတ်ကို ထည့်သွင်းပြီးနောက် ဘုတ်အား ပါဝါဖွင့်ပါ။
- Quartus ပရိုဂရမ်မာကိုဖွင့်ပြီး .sof ဖြင့် ဘုတ်ကို ပရိုဂရမ်လုပ်ပါ။ file Generating a .sof တွင် ထုတ်ပေးသည်။ File ATF နှင့်။

- ဘုတ်သည် ATF မှ boot တက်ပြီး UEFI shell ကိုဖွင့်ရန် UEFI bootloader ကို အလိုအလျောက် load လုပ်ပါသည်။
ဆက်စပ်အချက်အလက်
- .sof ကို ဖန်တီးပါ။ file ATF နှင့်။
DS ဖြင့် အမှားရှာခြင်း
ဤအပိုင်းတွင် ATF နှင့် UEFI bootloader ကို DS မှတဆင့် Physical board သို့ မည်သို့တင်ရမည်ကို ဖော်ပြထားပါသည်။
- DS တပ်ဆင်ထားကြောင်း သေချာပါစေ။ အောက်ပါ command ကို အသုံးပြု၍ နေကြတ်ခြင်းကို စတင်ပါ။
- armds_ide &
- အမှားရှာပြင်ချိတ်ဆက်မှုအသစ်ကို စနစ်ထည့်သွင်းပါ။
- ပုံဥပမာ

- ပုံဥပမာ
- ဖွဲ့စည်းမှုပြီးပါက၊ ပစ်မှတ်သို့ ချိတ်ဆက်ပါ။
- မှတ်ချက် - ပစ်မှတ်သို့မချိတ်ဆက်မီ သင်သည် ဘုတ်အဖွဲ့အား ghrd_1sx280lu2f50e2vg_hps_debug.sof ဖြင့် ပရိုဂရမ်လုပ်ရပါမည်။
- DS command console တွင် ATF နှင့် UEFI bootloader ကို physical board တွင်ဒေါင်းလုဒ်လုပ်ရန် အောက်ပါအကြောင်းအရာများပါရှိသော အမှားအယွင်း script ကို သင်တင်နိုင်ပါသည်။

Linux ကိုဖွင့်ခြင်း။
UEFI သည် UEFI ခွံထဲသို့ ဝင်ရောက်ပြီးနောက် Linux ကို မည်သို့စတင်ရမည်ကို ဤကဏ္ဍတွင် ပြသထားသည်။
UEFI Shell မှ စတင်ခြင်း
- Secure Monitor ကိုလုပ်ဆောင်ခြင်းတွင်ဖော်ပြထားသည့်အတိုင်း UEFI အခွံအထိဘုတ်ကိုဖွင့်ပါ။
- UEFI shell ကိုဖွင့်ပြီးသည်နှင့်၊ Linux ကိုစတင်ရန်အောက်ပါ command ကိုရိုက်ထည့်ပါ။
- ပုံ dtb=socfpga_stratix10_socdk.dtb console=ttyS0,115200 root=/dev/mmcb
မှတ်ချက် - Linux ပုံနှင့် dtb ကို SD ကတ်တွင် သိမ်းဆည်းထားကြောင်း သေချာပါစေ။

Intel Stratix 10 SoC UEFI Boot Loader အသုံးပြုသူလမ်းညွှန်အတွက် စာရွက်စာတမ်း ပြန်လည်ပြင်ဆင်မှုမှတ်တမ်း
| စာရွက်စာတမ်းဗားရှင်း | အပြောင်းအလဲများ |
| 2020.06.19 | အောက်ပါကဏ္ဍများကို အပ်ဒိတ်လုပ်ခဲ့သည်-
|
| 2019.03.28 |
|
| 2017.06.19 | ကနဦး ထုတ်ဝေမှု။ |
Intel ကော်ပိုရေးရှင်း။ မူပိုင်ခွင့်ကိုလက်ဝယ်ထားသည်။ Intel၊ Intel လိုဂိုနှင့် အခြားသော Intel အမှတ်အသားများသည် Intel ကော်ပိုရေးရှင်း သို့မဟုတ် ၎င်း၏လုပ်ငန်းခွဲများ၏ အမှတ်တံဆိပ်များဖြစ်သည်။ Intel သည် Intel ၏ စံအာမခံချက်နှင့်အညီ ၎င်း၏ FPGA နှင့် တစ်ပိုင်းလျှပ်ကူးပစ္စည်းထုတ်ကုန်များ၏ စွမ်းဆောင်ရည်ကို အာမခံသော်လည်း အသိပေးခြင်းမရှိဘဲ မည်သည့်ထုတ်ကုန်နှင့်ဝန်ဆောင်မှုများကိုမဆို အချိန်မရွေး အပြောင်းအလဲပြုလုပ်ပိုင်ခွင့်ရှိသည်။ Intel မှ စာဖြင့် အတိအလင်း သဘောတူထားသည့်အတိုင်း ဤနေရာတွင် ဖော်ပြထားသော အချက်အလက်၊ ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုကို အသုံးပြုခြင်း သို့မဟုတ် အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော တာဝန် သို့မဟုတ် တာဝန်ခံမှု မရှိဟု ယူဆပါသည်။ Intel သုံးစွဲသူများသည် ထုတ်ဝေထားသော အချက်အလက်များနှင့် ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုများအတွက် အမှာစာမတင်မီ နောက်ဆုံးဗားရှင်းကို ရယူရန် အကြံပြုအပ်ပါသည်။ *အခြားအမည်များနှင့် အမှတ်တံဆိပ်များကို အခြားသူများ၏ပိုင်ဆိုင်မှုအဖြစ် တောင်းဆိုနိုင်ပါသည်။
ID- 683134
ဗားရှင်း- 2020.06.19
စာရွက်စာတမ်းများ / အရင်းအမြစ်များ
![]() |
intel UG-20080 Stratix 10 SoC UEFI Boot Loader [pdf] အသုံးပြုသူလမ်းညွှန် UG-20080 Stratix 10 SoC UEFI Boot Loader၊ UG-20080၊ Stratix 10 SoC UEFI Boot Loader၊ 10 SoC UEFI Boot Loader၊ UEFI Boot Loader |






