Microchip UG0881 PolarFire SoC FPGA Booting and Configuration
အာမခံ
Microsemi သည် ဤနေရာတွင်ပါရှိသော အချက်အလက် သို့မဟုတ် ၎င်း၏ ထုတ်ကုန်နှင့် ဝန်ဆောင်မှုများ၏ သင့်လျော်မှုနှင့်ပတ်သက်၍ အာမခံခြင်း၊ ကိုယ်စားပြုခြင်း သို့မဟုတ် အာမခံပေးခြင်းမျိုး မပြုလုပ်ပါနှင့်၊ Microsemi သည် အပလီကေးရှင်း သို့မဟုတ် ထုတ်ကုန် သို့မဟုတ် ဆားကစ်အသုံးပြုမှုမှ ဖြစ်ပေါ်လာသည့် မည်သည့်တာဝန်ယူမှုကိုမျှ မပြုလုပ်ပါ။ ဤနေရာတွင်ရောင်းချသောထုတ်ကုန်များနှင့် Microsemi မှရောင်းချသောအခြားထုတ်ကုန်များသည် အကန့်အသတ်ဖြင့်စမ်းသပ်ခြင်းခံရပြီး mission-critical equipment သို့မဟုတ် applications များနှင့်တွဲ၍အသုံးမပြုသင့်ပါ။ မည်သည့် စွမ်းဆောင်ရည် သတ်မှတ်ချက်များသည် ယုံကြည်စိတ်ချရသည်ဟု ယူဆသော်လည်း အတည်မပြုနိုင်သေးဘဲ ဝယ်ယူသူသည် ထုတ်ကုန်များ၏ စွမ်းဆောင်ရည်နှင့် အခြားစမ်းသပ်မှုအားလုံးကို တစ်ခုတည်းနှင့် အဆုံးစွန်သော ထုတ်ကုန်တစ်ခုခုတွင် တပ်ဆင်ခြင်း သို့မဟုတ် တပ်ဆင်ခြင်းတို့ကို လုပ်ဆောင်ရပါမည်။ ဝယ်ယူသူသည် Microsemi မှပေးသော မည်သည့်ဒေတာနှင့် စွမ်းဆောင်ရည်သတ်မှတ်ချက်များ သို့မဟုတ် ကန့်သတ်ချက်များအပေါ်တွင်မဆို အာရုံစိုက်စေရမည်။ မည်သည့်ထုတ်ကုန်များ၏ သင့်လျော်မှုကို လွတ်လပ်စွာဆုံးဖြတ်ရန်နှင့် အလားတူစမ်းသပ်စစ်ဆေးရန်မှာ ဝယ်သူ၏တာဝန်ဖြစ်သည်။ ဤနေရာ၌ Microsemi မှ ပံ့ပိုးပေးသော အချက်အလက်သည် "ရှိနေသည့်အတိုင်း၊ မည်သည့်နေရာတွင် ရှိနေသည်" နှင့် ချို့ယွင်းချက်အားလုံးဖြင့် ပေးဆောင်ထားပြီး ထိုအချက်အလက်များနှင့် ဆက်စပ်နေသော အန္တရာယ် တစ်ခုလုံးသည် ဝယ်သူနှင့် လုံးလုံးလျားလျား ရှိနေပါသည်။ Microsemi သည် အဆိုပါအချက်အလက်ကိုယ်တိုင် သို့မဟုတ် ယင်းအချက်အလက်များနှင့်ပတ်သက်၍ ဖော်ပြထားသည့် မည်သည့်မူပိုင်ခွင့်အခွင့်အရေးများ၊ လိုင်စင်များ သို့မဟုတ် အခြားသော IP အခွင့်အရေးများကို မည်သည့်ပါတီအားမဆို၊ အတိအလင်း သို့မဟုတ် သွယ်ဝိုက်စွာ ပေးဆောင်ခြင်းမပြုပါ။ ဤစာရွက်စာတမ်းတွင် ပံ့ပိုးပေးထားသည့် အချက်အလက်များသည် Microsemi ၏ မူပိုင်ဖြစ်ပြီး၊ Microsemi သည် ဤစာရွက်စာတမ်းရှိ အချက်အလက် သို့မဟုတ် ထုတ်ကုန်နှင့် ဝန်ဆောင်မှုများကို အချိန်မရွေး အပြောင်းအလဲပြုလုပ်ရန် အခွင့်အရေးကို လက်ဝယ်ရှိပါသည်။
Microsemi အကြောင်း
Microsemi သည် Microchip Technology Inc. (Nasdaq: MCHP) ၏ အလုံးစုံပိုင်ဆိုင်သော လုပ်ငန်းခွဲတစ်ခုဖြစ်ပြီး၊ အာကာသနှင့် ကာကွယ်ရေး၊ ဆက်သွယ်ရေး၊ ဒေတာစင်တာနှင့် စက်မှုစျေးကွက်များအတွက် ပြီးပြည့်စုံသော တစ်ပိုင်းလျှပ်ကူးပစ္စည်းနှင့် စနစ်ဖြေရှင်းချက်အစုစုကို ပေးပါသည်။ ထုတ်ကုန်များတွင် စွမ်းဆောင်ရည်မြင့်မားပြီး ဓာတ်ရောင်ခြည်-မာကျောသော analog ရောနှော-အချက်ပြပေါင်းစပ်ထားသော ဆားကစ်များ၊ FPGAs၊ SoCs နှင့် ASICs များ ပါဝင်သည်။ ပါဝါစီမံခန့်ခွဲမှုထုတ်ကုန်များ; အချိန်နှင့် ထပ်တူပြုခြင်း ကိရိယာများနှင့် တိကျသော အချိန်ဖြေရှင်းချက်များ၊ အချိန်အတွက် ကမ္ဘာ့စံနှုန်းကို သတ်မှတ်ခြင်း၊ အသံဖြင့်လုပ်ဆောင်ခြင်းကိရိယာများ; RF ဖြေရှင်းချက်များ; သီးခြားအစိတ်အပိုင်းများ; လုပ်ငန်းသိုလှောင်မှုနှင့် ဆက်သွယ်ရေးဖြေရှင်းချက်များ၊ လုံခြုံရေးနည်းပညာများနှင့် အရွယ်ရောက်နိုင်သော ဆန့်ကျင်ဘက်amper ထုတ်ကုန်များ; အီသာနက်ဖြေရှင်းချက်များ; Power-over-Ethernet IC နှင့် midspans; အပြင် စိတ်ကြိုက် ဒီဇိုင်း စွမ်းဆောင်ရည် နှင့် ဝန်ဆောင်မှုများ။ တွင်ပိုမိုလေ့လာပါ။ www.microsemi.com.
Booting နှင့် Configuration
PolarFire SoC FPGAs များသည် ပါဝါဖွင့်ပြီး ပြန်လည်သတ်မှတ်ချိန်တွင် ယုံကြည်စိတ်ချရသော ပါဝါဖွင့်ထားကြောင်း သေချာစေရန် အဆင့်မြင့် ပါဝါပတ်လမ်းကို အသုံးပြုပါသည်။ ပါဝါဖွင့်ပြီး ပြန်လည်သတ်မှတ်ချိန်တွင် PolarFire SoC FPGA boot-up sequence သည် Power-on reset (POR), Device boot, Design initialization, Microcontroller Subsystem (MSS) pre-boot, နှင့် MSS user boot တို့ဖြစ်သည်။ ဤစာတမ်းတွင် MSS အကြိုဖွင့်ခြင်းနှင့် MSS အသုံးပြုသူ Boot ကို ဖော်ပြသည်။ POR၊ Device Boot နှင့် Design အစပြုခြင်းဆိုင်ရာ အချက်အလက်အတွက်၊ UG0890: PolarFire SoC FPGA Power-Up နှင့် အသုံးပြုသူလမ်းညွှန်ကို ပြန်လည်သတ်မှတ်ခြင်းတို့ကို ကြည့်ပါ။
MSS အင်္ဂါရပ်များအကြောင်း နောက်ထပ်အချက်အလက်များအတွက် UG0880: PolarFire SoC MSS အသုံးပြုသူလမ်းညွှန်ကို ကြည့်ပါ။
Boot-up Sequence
PolarFire SoC FPGA ကို ပါဝါဖွင့်သည် သို့မဟုတ် ပြန်လည်သတ်မှတ်သည့်အခါ စတင်သည့် အတွဲလိုက်စတင်သည်။ ပရိုဆက်ဆာသည် အပလီကေးရှင်းပရိုဂရမ်တစ်ခုကို လုပ်ဆောင်ရန် အဆင်သင့်ဖြစ်သောအခါ ၎င်းသည် ပြီးဆုံးသည်။ ဤ booting sequence သည် s များစွာကိုဖြတ်သန်းသည်။tagပရိုဂရမ်များကို အကောင်အထည်ဖော်မှုမစတင်မီ
ဟာ့ဒ်ဝဲ၏ ပါဝါပြန်လည်သတ်မှတ်ခြင်း၊ အစွန်အဖျားစတင်ခြင်း၊ မှတ်ဉာဏ်အစပျိုးခြင်းနှင့် အသုံးပြုသူသတ်မှတ်ထားသော အပလီကေးရှင်းကို မတည်ငြိမ်သောမှတ်ဉာဏ်မှ မတည်ငြိမ်သောမှတ်ဉာဏ်သို့ တင်ခြင်း ပါ၀င်သည့် Boot-up လုပ်ငန်းစဉ်အတွင်း လုပ်ဆောင်မှုအစုတစ်ခုကို လုပ်ဆောင်သည်။
အောက်ဖော်ပြပါပုံသည် Boot-up sequence ၏ မတူညီသော အဆင့်များကို ပြသထားသည်။
ပုံ ၂ Boot-up Sequence
MSS Pre-Boot
Design Initialization ကို အောင်မြင်စွာ ပြီးဆုံးသောအခါ၊ MSS Pre-boot သည် ၎င်း၏ လုပ်ဆောင်မှုကို စတင်သည်။ ပုံမှန်စတင်ခြင်းဆိုင်ရာ လုပ်ငန်းစဉ်များအားလုံးကို ပြီးမြောက်ပြီးနောက် ပြန်လည်သတ်မှတ်ခြင်းမှ MSS ကို ထုတ်လွှတ်သည်။ စနစ်ထိန်းချုပ်သူသည် စက်ပစ္စည်းများ၏ ပရိုဂရမ်ရေးဆွဲခြင်း၊ အစပျိုးခြင်းနှင့် ဖွဲ့စည်းမှုပုံစံများကို စီမံခန့်ခွဲသည်။ စနစ်ထိန်းချုပ်ကိရိယာ ဆိုင်းငံ့မုဒ်အတွက် ပရိုဂရမ်ထည့်သွင်းထားသော စက်ပစ္စည်းကို MSS Pre-boot ပြုလုပ်ခြင်း မဖြစ်ပေါ်ပါ။
စတင်ခြင်း၏ MSS အကြိုစတင်ခြင်းအဆင့်ကို system controller firmware ဖြင့်ညှိနှိုင်းထားသော်လည်း၊ ၎င်းသည် pre-boot sequence ၏အချို့အစိတ်အပိုင်းများကိုလုပ်ဆောင်ရန်အတွက် MSS Core Complex ရှိ E51 ကိုအသုံးပြုနိုင်သည်။
MSS pre-boot s တွင် အောက်ပါဖြစ်ရပ်များ ဖြစ်ပေါ်ပါသည်။tage:
- MSS မြှုပ်သွင်းထားသော မတည်ငြိမ်သောမှတ်ဉာဏ် (eNVM) အား ပါဝါဖွင့်ခြင်း
- MSS Core Complex L2 ကက်ရှ်နှင့်ဆက်စပ်သော ထပ်နေသော ပြုပြင်မှုကို အစပြုခြင်း။
- User boot code ကို စစ်မှန်ကြောင်းအထောက်အထားပြခြင်း (User Secure boot option ကိုဖွင့်ထားလျှင်)
- အသုံးပြုသူ Boot ကုဒ်သို့ လုပ်ငန်းဆောင်ရွက်မှု MSS ကို လွှဲပြောင်းပါ။
MSS Core Complex ကို မုဒ်လေးခုထဲမှ တစ်ခုတွင် စတင်နိုင်သည်။ အောက်ပါဇယားသည် sNVM တွင် configure လုပ်နိုင်ပြီး ပရိုဂရမ်ထည့်သွင်းနိုင်သည့် MSS အကြိုဖွင့်ရွေးချယ်မှုများကို စာရင်းပြုစုထားသည်။ boot mode ကို user parameter U_MSS_BOOTMODE[1:0] မှသတ်မှတ်သည်။ နောက်ထပ် boot configuration data သည် မုဒ်အပေါ် မူတည်ပြီး user parameter U_MSS_BOOTCFG (ဇယား 3၊ စာမျက်နှာ 4 နှင့် ဇယား 5၊ စာမျက်နှာ 6 ကိုကြည့်ပါ)။
ဇယား 1 • MSS Core Complex Boot Modes
U_MSS_BOOTMODE[1:0] | မုဒ် | ဖော်ပြချက် |
0 | Idle boot | MSS ကို configured မရှိပါက boot ROM မှ MSS Core Complex boot တက်သည်။ |
1 | မလုံခြုံသော ဘွတ်ဖိနပ် | MSS Core Complex သည် U_MSS_BOOTADDR မှသတ်မှတ်ထားသောလိပ်စာမှ တိုက်ရိုက်စတင်သည်။ |
2 | User secure boot | sNVM မှ MSS Core Complex ဘွတ်ဖိနပ်များ |
3 | Factory လုံခြုံသော boot | MSS Core Complex သည် factory secure boot protocol ကို အသုံးပြု၍ ဘွတ်ဖိနပ်များ |
boot option ကို Libero ဒီဇိုင်းစီးဆင်းမှု၏ တစ်စိတ်တစ်ပိုင်းအဖြစ် ရွေးချယ်ထားသည်။ မုဒ်ကိုပြောင်းခြင်းသည် FPGA ပရိုဂရမ်အသစ်၏ မျိုးဆက်အားဖြင့်သာ အောင်မြင်နိုင်သည်။ file.
ပုံ 2 • MSS Pre-boot Flow
Idle Boot
MSS ကို configured မရှိပါက (ဥပမာample၊ ဗလာ၊ စက်ပစ္စည်း)၊ ထို့နောက် MSS Core Complex သည် ပစ်မှတ်သို့ debugger ချိတ်ဆက်သည်အထိ ပရိုဆက်ဆာအားလုံးကို အဆုံးမရှိ loop တစ်ခုအတွင်း ထားရှိပေးသည့် boot ROM ပရိုဂရမ်ကို လုပ်ဆောင်သည်။ boot vector သည် စက်ပစ္စည်းကို ပြန်လည်သတ်မှတ်ခြင်း သို့မဟုတ် boot မုဒ်ဖွဲ့စည်းမှုအသစ်ကို ပရိုဂရမ်မွမ်းမံထားသည့်အချိန်အထိ ၎င်းတို့၏တန်ဖိုးကို ထိန်းသိမ်းထားသည်။ ပြင်ဆင်သတ်မှတ်ထားသော စက်များအတွက်၊ ဤမုဒ်ကို အသုံးပြု၍ လုပ်ဆောင်နိုင်သည်။
U_MSS_BOOTMODE=0 Libero ပြင်ဆင်သတ်မှတ်မှုတွင် boot ရွေးချယ်မှု။
မှတ်ချက် - ဤမုဒ်တွင် U_MSS_BOOTCFG ကို အသုံးမပြုပါ။
အောက်ပါပုံသည် Idle boot flow ကိုပြသသည်။
ပုံ 3 • Idle Boot Flow
မလုံခြုံသော Boot
ဤမုဒ်တွင်၊ MSS Core Complex သည် စစ်မှန်ကြောင်းအထောက်အထားမရှိဘဲ သတ်မှတ်ထားသော eNVM လိပ်စာမှ လုပ်ဆောင်သည်။ ၎င်းသည် အမြန်ဆုံး boot option ကို ပံ့ပိုးပေးသော်လည်း ကုဒ်ပုံ၏ စစ်မှန်ကြောင်းအထောက်အထား မရှိပါ။ Libero Configurator တွင် U_MSS_BOOTADDR ကို သတ်မှတ်ခြင်းဖြင့် လိပ်စာကို သတ်မှတ်နိုင်ပါသည်။ FIC မှတဆင့် မည်သည့် FPGA Fabric မမ်မိုရီရင်းမြစ်မှလည်း ဤမုဒ်ကို စတင်အသုံးပြုနိုင်ပါသည်။ ဤမုဒ်ကို အသုံးပြု၍ အကောင်အထည်ဖော်သည်။
U_MSS_BOOTMODE=1 စတင်ရန် ရွေးချယ်မှု။
MSS Core Complex သည် U_MSS_BOOTCFG (အောက်ပါဇယားတွင်ဖော်ပြထားသည့်အတိုင်း) မှသတ်မှတ်ထားသော boot vector များဖြင့်ပြန်လည်သတ်မှတ်ခြင်းမှထုတ်လွှတ်သည်။
ဇယား 2 • U_MSS_BOOTCFG လုံခြုံမှုမရှိသော Boot မုဒ်တွင် အသုံးပြုမှု ၁
အော့ဖ်ဆက် (ဘိုက်များ) |
အရွယ်အစား (ဘိုက်များ) |
နာမည် |
ဖော်ပြချက် |
0 | 4 | BOOTVEC0 | E51 အတွက် Boot vector |
4 | 4 | BOOTVEC1 | U540 အတွက် Boot vector |
8 | 4 | BOOTVEC2 | U541 အတွက် Boot vector |
16 | 4 | BOOTVEC3 | U542 အတွက် Boot vector |
20 | 4 | BOOTVEC4 | U543 အတွက် Boot vector |
အောက်ပါပုံသည် Non-secure boot flow ကိုပြသသည်။
ပုံ 4 • မလုံခြုံသော Boot Flow
User Secure Boot
ဤမုဒ်သည် အသုံးပြုသူအား ၎င်းတို့၏ကိုယ်ပိုင် လုံခြုံသော boot စနစ်ကို အကောင်အထည်ဖော်ရန် ခွင့်ပြုထားပြီး သုံးစွဲသူ၏ လုံခြုံသော boot code ကို sNVM တွင် ထည့်သွင်းထားသည်။ sNVM သည် တပ်ဆင်ထားသော Physically Unclonable Function (PUF) ဖြင့် ကာကွယ်ထားနိုင်သည့် 56 KB မငြိမ်မသက်သော မှတ်ဉာဏ်တစ်ခုဖြစ်သည်။ ROM အဖြစ်သတ်မှတ်ထားသော sNVM စာမျက်နှာများသည် မပြောင်းလဲနိုင်သောကြောင့် ဤဖွင့်တင်နည်းလမ်းကို လုံခြုံသည်ဟု ယူဆပါသည်။ ပါဝါဖွင့်ချိန်တွင်၊ စနစ်ထိန်းချုပ်သူသည် အသုံးပြုသူ၏လုံခြုံသော boot code အား sNVM မှ E51 Monitor core ၏ Data Tightly Integrated Memory (DTIM) သို့ ကူးယူသည်။ E51 သည် user secure boot code ကို စတင်လုပ်ဆောင်ပါသည်။
အသုံးပြုသူ၏ လုံခြုံသော boot code အရွယ်အစားသည် DTIM ၏ အရွယ်အစားထက် ပိုနေပါက အသုံးပြုသူသည် boot code ကို s နှစ်ပိုင်းခွဲရန် လိုအပ်ပါသည်။tages sNVM တွင် နောက်တစ်ခုပါဝင်နိုင်သည်။tage သည် နောက် boot s ၏ စစ်မှန်ကြောင်းအထောက်အထားပြခြင်းကို လုပ်ဆောင်နိုင်သည့် user boot sequence ၏ etage အသုံးပြုသူ စစ်မှန်ကြောင်းအထောက်အထားပြခြင်း/စာဝှက်ခြင်း အယ်လဂိုရီသမ်ကို အသုံးပြုခြင်း။
စစ်မှန်ကြောင်း သို့မဟုတ် ကုဒ်ဝှက်ထားသော စာမျက်နှာများကို အသုံးပြုပါက တူညီသော USK သော့ ( ဆိုလိုသည်မှာ၊
U_MSS_BOOT_SNVM_USK) အစစ်အမှန်/ကုဒ်ဝှက်ထားသော စာမျက်နှာများအားလုံးအတွက် အသုံးပြုရပါမည်။
စစ်မှန်ကြောင်းအထောက်အထား မအောင်မြင်ပါက၊ MSS Core Complex ကို ပြန်လည်သတ်မှတ်ပြီး BOOT_FAIL t ကို ပြန်လည်သတ်မှတ်နိုင်သည်။ampအလံကို လွှင့်ထူနိုင်သည်။ ဤမုဒ်ကို U_MSS_BOOTMODE=2 boot option ကို အသုံးပြု၍ လုပ်ဆောင်ထားသည်။
ဇယား 3 • User Secure Boot တွင် U_MSS_BOOTCFG အသုံးပြုမှု
အော့ဖ်ဆက် (ဘိုက်များ) | အရွယ်အစား (ဘိုက်များ) | နာမည် | ဖော်ပြချက် |
0 | 1 | U_MSS_BOOT_SNVM_PAGE | SNVM တွင် စတင်စာမျက်နှာ |
1 | 3 | သီးသန့် | တန်းညှိဘို့ |
4 | 12 | U_MSS_BOOT_SNVM_USK | စစ်မှန်ကြောင်း/စာဝှက်ထားသော စာမျက်နှာများအတွက် |
အောက်ပါပုံသည် အသုံးပြုသူ လုံခြုံသော boot flow ကိုပြသသည်။
ပုံ 5 • User Secure Boot Flow
Factory Secure Boot
ဤမုဒ်တွင်၊ စနစ်ထိန်းချုပ်သူသည် eNVM မှ Secure Boot Image Certificate (SBIC) ကိုဖတ်ပြီး SBIC ကို တရားဝင်စေသည်။ အောင်မြင်စွာ အတည်ပြုခြင်းတွင်၊ System Controller သည် စက်ရုံတွင်း လုံခြုံသော boot code အား ၎င်း၏သီးသန့်၊ လုံခြုံသောမှတ်ဉာဏ်ဧရိယာမှ မိတ္တူကူးပြီး E51 Monitor core ၏ DTIM ထဲသို့ တင်ပေးပါသည်။ မူရင်း လုံခြုံသော boot သည် eNVM တွင် သိမ်းဆည်းထားသည့် SBIC ကို အသုံးပြု၍ eNVM ပုံတွင် လက်မှတ်စစ်ဆေးမှုကို လုပ်ဆောင်သည်။ အမှားအယွင်းများကို အစီရင်ခံခြင်းမရှိပါက၊ ပြန်လည်သတ်မှတ်ခြင်းကို MSS Core Complex သို့ ထုတ်ပေးသည်။ အမှားအယွင်းများကို သတင်းပို့ပါက၊ MSS Core Complex ကို ပြန်လည်သတ်မှတ်ပြီး BOOT_FAIL tampအလံကို လွှင့်ထူထားသည်။ ထို့နောက် system controller သည် activate လုပ်သည်။ampအသုံးပြုသူလုပ်ဆောင်ချက်အတွက် FPGA ထည်သို့ အချက်ပြမှုကို အခိုင်အမာပြုလုပ်သည့် er အလံ။ ဤမုဒ်ကို U_MSS_BOOTMODE=3 boot option ကို အသုံးပြု၍ လုပ်ဆောင်ထားသည်။
SBIC တွင် ကာကွယ်ထားသော binary blob ၏ လိပ်စာ၊ အရွယ်အစား၊ hash နှင့် Elliptic Curve Digital Signature Algorithm (ECDSA) လက်မှတ်ပါရှိသည်။ ECDSA သည် elliptic curve cryptography ကိုအသုံးပြုသည့် Digital Signature Algorithm ၏ မူကွဲတစ်ခုကို ပေးပါသည်။ Hardware တစ်ခုစီအတွက် reset vector လည်းပါရှိပါတယ်။
စနစ်အတွင်းရှိ thread/core/processor core (Hart)။
ဇယား 4 • Secure Boot Image Certificate (SBIC)
နှိမ်သည်။ | အရွယ်အစား (ဘိုက်များ) | တန်ဖိုး | ဖော်ပြချက် |
0 | 4 | IMAGEADDR | MSS မှတ်ဉာဏ်မြေပုံရှိ UBL ၏လိပ်စာ |
4 | 4 | ပုံ | bytes ဖြင့် UBL အရွယ်အစား |
8 | 4 | BOOTVEC0 | E51 အတွက် UBL တွင် Boot vector |
12 | 4 | BOOTVEC1 | U540 အတွက် UBL တွင် Boot vector |
16 | 4 | BOOTVEC2 | U541 အတွက် UBL တွင် Boot vector |
20 | 4 | BOOTVEC3 | U542 အတွက် UBL တွင် Boot vector |
24 | 4 | BOOTVEC4 | U543 အတွက် UBL တွင် Boot vector |
28 | 1 | ရွေးချယ်စရာများ[7:0] | SBIC ရွေးချယ်မှုများ |
28 | 3 | သီးသန့် | |
32 | 8 | ဗားရှင်း | SBIC/Image ဗားရှင်း |
40 | 16 | DSN | ရွေးချယ်နိုင်သော DSN ချိတ်ဆက်မှု |
56 | 48 | H | UBL ပုံ SHA-384 ဟက်ရှ် |
104 | 104 | CODESIG | DER-ကုဒ်လုပ်ထားသော ECDSA လက်မှတ် |
စုစုပေါင်း | 208 | ဘိုက် |
DSN
DSN အကွက်သည် သုညမဟုတ်ပါက၊ ၎င်းကို စက်၏ကိုယ်ပိုင်အမှတ်စဉ်နံပါတ်နှင့် နှိုင်းယှဉ်သည်။ နှိုင်းယှဉ်မှုမအောင်မြင်ပါက boot_fail tamper အလံကို သတ်မှတ်ပြီး စစ်မှန်ကြောင်းအထောက်အထားပြခြင်းကို ဖျက်သိမ်းထားသည်။
ဗားရှင်း
SBIC ရုပ်သိမ်းခြင်းအား U_MSS_REVOCATION_ENABLE မှဖွင့်ထားလျှင် VERSION ၏တန်ဖိုးသည် ပြန်လည်ရုပ်သိမ်းခြင်းအဆင့်ထက် ကြီးသည် သို့မဟုတ် ညီမျှခြင်းမရှိပါက SBIC ကို ပယ်ချမည်ဖြစ်သည်။
SBIC ရုတ်သိမ်းခြင်း ရွေးချယ်မှု
အကယ်၍ SBIC ရုပ်သိမ်းခြင်းကို U_MSS_REVOCATION_ENABLE မှဖွင့်ထားပြီး OPTIONS[0] သည် '1' ဖြစ်ပါက၊ VERSION ထက်နည်းသော SBIC ဗားရှင်းအားလုံးကို SBIC ၏ စစ်မှန်ကြောင်းအထောက်အထားအပြည့်အစုံဖြင့် ရုတ်သိမ်းလိုက်ပါမည်။ ဖယ်ရှားခြင်းအဆင့်သည် အနာဂတ် SBIC မှ OPTIONS[0] = '1' နှင့် ပိုမိုမြင့်မားသော VERSION အကွက်တစ်ခုမှ ထပ်မတိုးမချင်း ၎င်းသည် တန်ဖိုးအသစ်တွင် ရှိနေမည်ဖြစ်သည်။ ရုတ်သိမ်းခြင်းအဆင့်ကို ဤယန္တရားဖြင့်သာ တိုးမြှင့်နိုင်ပြီး ဘစ်-စီးကြောင်းဖြင့်သာ ပြန်လည်သတ်မှတ်နိုင်သည်။
ပြန်လည်ရုတ်သိမ်းခြင်းအဆင့်ကို ဒိုင်းနမစ်ဖြင့် အပ်ဒိတ်လုပ်သောအခါ၊ စက်စတင်ဖွင့်စဉ်အတွင်း ပါဝါချို့ယွင်းခြင်းသည် နောက်ဆက်တွဲစက်ပစ္စည်းစတင်ခြင်းကို မအောင်မြင်စေသည့် လျှို့ဝှက်ကုဒ်များအတွက် အသုံးပြုသည့် ထပ်နေသောသိုလှောင်မှုအစီအစဉ်ကို အသုံးပြု၍ ကန့်သတ်ချက်ကို သိမ်းဆည်းထားသည်။ ပြန်လည်ရုတ်သိမ်းခြင်း အဆင့်သတ်မှတ်ချက်၏ အပ်ဒိတ် မအောင်မြင်ပါက၊ အဆင့်သတ်မှတ်တန်ဖိုးသည် တန်ဖိုးအသစ် သို့မဟုတ် ယခင်တန်ဖိုးဖြစ်ကြောင်း အာမခံပါသည်။
ဇယား 5 • Factory Boot Loader မုဒ်တွင် U_MSS_BOOTCFG အသုံးပြုမှု
အော့ဖ်ဆက် (ဘိုက်များ) |
အရွယ်အစား (ဘိုက်များ) |
နာမည် |
ဖော်ပြချက် |
0 | 4 | U_MSS_SBIC_ADDR | MSS လိပ်စာနေရာရှိ SBIC ၏လိပ်စာ |
4 | 4 | U_MSS_REVOCATION_ENABLE | သုညမဟုတ်ပါက SBIC ရုပ်သိမ်းခြင်းကို ဖွင့်ပါ။ |
အောက်ပါပုံသည် စက်ရုံတွင် လုံခြုံသော boot flow ကိုပြသသည်။
ပုံ 6 • Factory Secure Boot Flow
MSS User Boot
ထိန်းချုပ်မှုကို System Controller မှ MSS Core Complex သို့ ထိန်းချုပ်ပေးသောအခါ MSS အသုံးပြုသူ boot သည် ဖြစ်ပေါ်လာသည်။ အောင်မြင်သော MSS အကြိုစတင်ဖွင့်သောအခါ၊ စနစ်ထိန်းချုပ်သူသည် MSS Core Complex သို့ ပြန်လည်သတ်မှတ်ခြင်းကို ထုတ်ပြန်သည်။ MSS ကို အောက်ပါနည်းလမ်းများထဲမှ တစ်ခုဖြင့် စတင်နိုင်သည်။
- Bare Metal Application
- Linux အပလီကေးရှင်း
- AMP လျှောက်လွှာ
Bare Metal Application
PolarFire SoC အတွက် သတ္တုအချည်းနှီးသော အပလီကေးရှင်းများကို SoftConsole ကိရိယာကို အသုံးပြု၍ ဖန်တီးနိုင်သည်။ ဤကိရိယာသည် output ကိုပေးသည်။ files ကို programming bitstream တွင်ထည့်သွင်းရန် Libero flow တွင်အသုံးပြုနိုင်သည့် .hex ပုံစံ file. J ကို အသုံးပြု၍ Bare Metal အပလီကေးရှင်းများကို အမှားရှာရန် အလားတူကိရိယာကို အသုံးပြုနိုင်သည်။TAG
ကြားခံ။
အောက်ဖော်ပြပါပုံသည် E51 Monitor core အပါအဝင် ဟတ်ငါးခု (Cores) ပါရှိသော SoftConsole Bare Metal အက်ပ်ကို ပြသသည်။
ပုံ 7 • SoftConsole ပရောဂျက်
Linux အပလီကေးရှင်း
ဤကဏ္ဍသည် U54 cores အားလုံးတွင် လုပ်ဆောင်နေသည့် Linux အတွက် boot sequence ကို ဖော်ပြသည်။
ပုံမှန် boot လုပ်ငန်းစဉ်တွင် s သုံးခုပါဝင်သည်။tages ပထမဆုံး stage boot loader (FSBL) သည် on-chip Boot flash (eNVM) မှ လုပ်ဆောင်သည်။ FSBL သည် ဒုတိယ s ကို load လုပ်သည်။tage boot loader (SSBL) သည် boot device မှ external RAM သို့မဟုတ် Cache သို့။ boot device သည် eNVM သို့မဟုတ် embedded memory microcontroller (eMMC) သို့မဟုတ် ပြင်ပ SPI Flash ဖြစ်နိုင်သည်။ SSBL သည် Linux လည်ပတ်မှုစနစ်ကို boot device မှ ပြင်ပ RAM သို့ တင်ပါသည်။ တတိယ ၎tage၊ Linux ကို ပြင်ပ RAM မှ လုပ်ဆောင်သည်။
အောက်ပါပုံသည် Linux Boot Process စီးဆင်းမှုကို ပြသသည်။
ပုံ 8 • ပုံမှန် Linux Boot Process Flow
FSBL၊ Device tree၊ Linux နှင့် YOCTO တည်ဆောက်ပုံအသေးစိတ်၊ Linux ကို မည်သို့တည်ဆောက်ပြီး ပြင်ဆင်သတ်မှတ်ရမည်ကို ဤစာရွက်စာတမ်း၏ အနာဂတ်တွင် ထုတ်ပြန်ပေးပါမည်။
AMP လျှောက်လွှာ
Libero MSS Configurator ၏အသေးစိတ်ဖော်ပြချက်နှင့် SoftConsole ကိုအသုံးပြုထားသော multi-processor အပလီကေးရှင်းများကို အမှားရှာနည်းကို ဤစာရွက်စာတမ်း၏အနာဂတ်ထုတ်ဝေမှုတွင် ဖော်ပြပေးပါမည်။
Booting ၏ကွဲပြားခြားနားသောအရင်းအမြစ်များ
ဤစာရွက်စာတမ်း၏ အနာဂတ်ဗားရှင်းများတွင် အပ်ဒိတ်လုပ်ရန်။
Boot Configuration
ဤစာရွက်စာတမ်း၏ အနာဂတ်ဗားရှင်းများတွင် အပ်ဒိတ်လုပ်ရန်။
အတိုကောက်
ဤစာတမ်းတွင် အောက်ပါအတိုကောက်များကို အသုံးပြုပါသည်။
ဇယား 1 • အတိုကောက်များစာရင်း
အတိုကောက် ချဲ့ထားသည်။
- AMP Asymmetric Multi- processing
- DTIM Data Tightly Integrated Memory (SRAM ဟုလည်းခေါ်သည်)
- ECDSA Elliptic Curve Digital Signature Algorithm
- eNVM ထည့်သွင်းထားသော Non-Volatile Memory
- FSBL ပထမ Stage Boot Loader
- ဟတ် Hardware thread/core/processor core
- MSS မိုက်ခရိုပရိုဆက်ဆာ စနစ်ခွဲ
- POR Reset ကို ပါဝါဖွင့်ပါ။
- PUF ရုပ်ပိုင်းဆိုင်ရာအရ ပိတ်ဆို့လို့မရသောလုပ်ဆောင်ချက်
- ရွမ် Read-only Memory
- SCB စနစ်ထိန်းချုပ်ရေးတံတား
- sNVM Non-volatile Memory ကို လုံခြုံအောင်ထားပါ။
ပြန်လည်ပြင်ဆင်မှုမှတ်တမ်း
တည်းဖြတ်မှုမှတ်တမ်းသည် စာရွက်စာတမ်းတွင် အကောင်အထည်ဖော်ခဲ့သည့် အပြောင်းအလဲများကို ဖော်ပြသည်။ အပြောင်းအလဲများကို လက်ရှိထုတ်ဝေမှုမှ စတင်၍ ပြန်လည်ပြင်ဆင်မှုဖြင့် စာရင်းပြုစုထားသည်။
ပြင်ဆင်ချက် 2.0
အောက်ပါတို့သည် ဤပြန်လည်ပြင်ဆင်မှုတွင် ပြုလုပ်ခဲ့သော အပြောင်းအလဲများ၏ အကျဉ်းချုပ်ဖြစ်သည်။
- Factory Secure Boot အကြောင်း အချက်အလက်ကို အပ်ဒိတ်လုပ်ထားသည်။
- Bare Metal အက်ပလီကေးရှင်းအကြောင်း အချက်အလက်ကို အပ်ဒိတ်လုပ်ထားသည်။
ပြင်ဆင်ချက် 1.0
ဤစာတမ်း၏ပထမဆုံးထုတ်ဝေမှု။
Microsemi ဌာနချုပ်
One Enterprise, Aliso Viejo၊
, CA 92656 ယူအက်စ်အေ
အမေရိကန်ပြည်ထောင်စုအတွင်း- +1 ၇၃၆-၇၈၄-၆၀၉၄
အမေရိကန်ပြင်ပ +1 ၇၃၆-၇၈၄-၆၀၉၄
အရောင်း- +1 ၇၃၆-၇၈၄-၆၀၉၄
ဖက်စ်- +1 ၇၃၆-၇၈၄-၆၀၉၄
အီးမေးလ်- sales.support@microsemi.com
www.microsemi.com
©2020 Microsemi၊ Microchip Technology Inc. ၏ ရာနှုန်းပြည့်ပိုင်ဆိုင်သော လုပ်ငန်းခွဲတစ်ခု။ အခွင့်အရေးများ လက်ဝယ်ရှိသည်။ Microsemi နှင့် Microsemi လိုဂိုများသည် Microsemi Corporation ၏ မှတ်ပုံတင်ထားသော ကုန်အမှတ်တံဆိပ်များဖြစ်သည်။ အခြားကုန်အမှတ်တံဆိပ်များနှင့် ဝန်ဆောင်မှုအမှတ်အသားများအားလုံးသည် သက်ဆိုင်ရာပိုင်ရှင်များ၏ ပိုင်ဆိုင်မှုဖြစ်သည်။
စာရွက်စာတမ်းများ / အရင်းအမြစ်များ
![]() |
Microchip UG0881 PolarFire SoC FPGA Booting and Configuration [pdf] အသုံးပြုသူလမ်းညွှန် UG0881 PolarFire SoC FPGA Booting and Configuration၊ UG0881၊ PolarFire SoC FPGA Booting and Configuration၊ Booting and Configuration |