Mikroshēma UG0881 PolarFire SoC FPGA sāknēšana un konfigurēšana
Garantija
Microsemi nesniedz nekādu garantiju, pārstāvību vai garantiju attiecībā uz šeit ietverto informāciju vai savu produktu un pakalpojumu piemērotību kādam konkrētam mērķim, kā arī Microsemi neuzņemas nekādu atbildību, kas izriet no jebkura produkta vai ķēdes pielietošanas vai izmantošanas. Šeit pārdotie produkti un visi citi Microsemi pārdotie produkti ir pakļauti ierobežotai pārbaudei, un tos nedrīkst izmantot kopā ar misijai kritisku aprīkojumu vai lietojumprogrammām. Tiek uzskatīts, ka jebkuras veiktspējas specifikācijas ir uzticamas, taču tās netiek pārbaudītas, un Pircējam ir jāveic un jāpabeidz visas produktu veiktspējas un citas pārbaudes gan atsevišķi, gan kopā ar jebkuriem galaproduktiem vai tajos uzstādītiem. Pircējs nedrīkst paļauties uz Microsemi sniegtajiem datiem un veiktspējas specifikācijām vai parametriem. Pircēja pienākums ir patstāvīgi noteikt jebkuras preces piemērotību un to pārbaudīt un pārbaudīt. Tālāk Microsemi sniegtā informācija tiek sniegta “tāda, kāda tā ir, kur ir” un ar visām kļūdām, un viss risks, kas saistīts ar šādu informāciju, pilnībā gulstas uz Pircēju. Uzņēmums Microsemi ne tieši, ne netieši nepiešķir nevienai pusei nekādas patenta tiesības, licences vai citas intelektuālā īpašuma tiesības neatkarīgi no tā, vai tas attiecas uz pašu informāciju vai jebko, kas aprakstīts šajā informācijā. Šajā dokumentā sniegtā informācija pieder uzņēmumam Microsemi, un Microsemi patur tiesības jebkurā laikā bez brīdinājuma veikt jebkādas izmaiņas šajā dokumentā ietvertajā informācijā vai produktos un pakalpojumos.
Par Microsemi
Microsemi, Microchip Technology Inc. (Nasdaq: MCHP) pilnībā piederošs meitasuzņēmums, piedāvā visaptverošu pusvadītāju un sistēmu risinājumu portfeli aviācijas un aizsardzības, sakaru, datu centru un rūpniecības tirgiem. Produkti ietver augstas veiktspējas un pret radiāciju izturīgas analogās jaukto signālu integrālās shēmas, FPGA, SoC un ASIC; jaudas pārvaldības produkti; laika noteikšanas un sinhronizācijas ierīces un precīzi laika risinājumi, nosakot pasaules laika standartu; balss apstrādes ierīces; RF risinājumi; diskrēti komponenti; uzņēmumu uzglabāšanas un sakaru risinājumi, drošības tehnoloģijas un mērogojams anti-tamper produkti; Ethernet risinājumi; Power-over-Ethernet IC un midspans; kā arī pielāgotas dizaina iespējas un pakalpojumi. Uzziniet vairāk vietnē www.microsemi.com.
Sāknēšana un konfigurēšana
PolarFire SoC FPGA izmanto uzlabotas barošanas shēmas, lai nodrošinātu uzticamu barošanu ieslēgšanas un atiestatīšanas laikā. Ieslēdzot un atiestatot, PolarFire SoC FPGA sāknēšanas secība seko ieslēgšanas atiestatīšanai (POR), ierīces sāknēšanai, dizaina inicializācijai, mikrokontrollera apakšsistēmas (MSS) pirmssāknēšanai un MSS lietotāja sāknēšanai. Šajā dokumentā ir aprakstīta MSS pirmssāknēšana un MSS lietotāja sāknēšana. Lai iegūtu informāciju par POR, ierīces sāknēšanas un dizaina inicializēšanu, skatiet UG0890: PolarFire SoC FPGA ieslēgšanas un atiestatīšanas lietotāja rokasgrāmata.
Papildinformāciju par MSS funkcijām skatiet sadaļā UG0880: PolarFire SoC MSS lietotāja rokasgrāmata.
Sāknēšanas secība
Sāknēšanas secība sākas, kad PolarFire SoC FPGA tiek ieslēgta vai atiestatīta. Tas beidzas, kad procesors ir gatavs izpildīt lietojumprogrammu. Šī sāknēšanas secība iet cauri vairākiem stages pirms tas sāk programmu izpildi.
Sāknēšanas procesa laikā tiek veikta darbību kopa, kas ietver aparatūras ieslēgšanas atiestatīšanu, perifērijas inicializāciju, atmiņas inicializāciju un lietotāja definētās lietojumprogrammas ielādi no nepastāvīgās atmiņas uz gaistošu atmiņu izpildei.
Nākamajā attēlā parādītas dažādas sāknēšanas secības fāzes.
1. attēls Sāknēšanas secība
MSS pirmssāknēšana
Pēc veiksmīgas dizaina inicializācijas pabeigšanas MSS Pre-boot sāk tās izpildi. MSS tiek atbrīvots no atiestatīšanas pēc visu parasto palaišanas procedūru pabeigšanas. Sistēmas kontrolleris pārvalda ierīču programmēšanu, inicializāciju un konfigurēšanu. MSS pirmssāknēšana nenotiek, ja ieprogrammētā ierīce ir konfigurēta sistēmas kontrollera apturēšanas režīmam.
MSS pirmssāknēšanas inicializācijas fāzi koordinē sistēmas kontrollera programmaparatūra, lai gan tā var izmantot MSS Core Complex E51, lai veiktu noteiktas pirmssāknēšanas secības daļas.
MSS pirmssāknēšanas laikā notiek šādi notikumitage:
- MSS iegultās nemainīgās atmiņas (eNVM) ieslēgšana
- Atlaišanas remonta inicializācija, kas saistīta ar MSS Core Complex L2 kešatmiņu
- Lietotāja sāknēšanas koda autentifikācija (ja ir iespējota lietotāja drošās sāknēšanas opcija)
- Operatīvās MSS nodošana lietotāja sāknēšanas kodam
MSS Core Complex var palaist vienā no četriem režīmiem. Šajā tabulā ir norādītas MSS pirmssāknēšanas opcijas, kuras var konfigurēt un ieprogrammēt sNVM. Sāknēšanas režīmu nosaka lietotāja parametrs U_MSS_BOOTMODE[1:0]. Papildu sāknēšanas konfigurācijas dati ir atkarīgi no režīma, un tos definē lietotāja parametrs U_MSS_BOOTCFG (skatiet 3. tabulu 4. lapa un 5. tabulu 6. lapa).
1. tabula • MSS Core kompleksie sāknēšanas režīmi
U_MSS_BOOTMODE[1:0] | Režīms | Apraksts |
0 | Tukšgaita boot | MSS Core Complex sāknēšana no sāknēšanas ROM, ja MSS nav konfigurēta |
1 | Nedroša sāknēšana | MSS Core Complex sāknēšana notiek tieši no adreses, kas noteikta U_MSS_BOOTADDR |
2 | Lietotāja droša sāknēšana | MSS Core Complex zābaki no sNVM |
3 | Rūpnīcas droša boot | MSS Core Complex sāknēšana, izmantojot rūpnīcas drošās sāknēšanas protokolu |
Sāknēšanas opcija ir atlasīta kā daļa no Libero dizaina plūsmas. Režīma maiņu var panākt, tikai izveidojot jaunu FPGA programmu file.
2. attēls • MSS pirmssāknēšanas plūsma
Tukšgaitas sāknēšana
Ja MSS nav konfigurēta (piemēram,ample, tukša ierīce), tad MSS Core Complex izpilda sāknēšanas ROM programmu, kas satur visus procesorus bezgalīgā cilpā, līdz atkļūdotājs izveido savienojumu ar mērķi. Sāknēšanas vektoru reģistri saglabā savu vērtību, līdz ierīce tiek atiestatīta vai tiek ieprogrammēta jauna sāknēšanas režīma konfigurācija. Konfigurētām ierīcēm šo režīmu var ieviest, izmantojot
U_MSS_BOOTMODE=0 sāknēšanas opcija Libero konfiguratorā.
Piezīme: Šajā režīmā U_MSS_BOOTCFG netiek izmantots.
Nākamajā attēlā parādīta tukšgaitas sāknēšanas plūsma.
3. attēls • Tukšgaitas sāknēšanas plūsma
Nedroša sāknēšana
Šajā režīmā MSS Core Complex izpilda no noteiktas eNVM adreses bez autentifikācijas. Tas nodrošina ātrāko sāknēšanas iespēju, taču nav koda attēla autentifikācijas. Adresi var norādīt, Libero Configurator iestatot U_MSS_BOOTADDR. Šo režīmu var izmantot arī palaišanai no jebkura FPGA Fabric atmiņas resursa, izmantojot FIC. Šis režīms tiek ieviests, izmantojot
U_MSS_BOOTMODE=1 sāknēšanas opcija.
MSS Core Complex tiek atbrīvots no atiestatīšanas ar sāknēšanas vektoriem, ko nosaka U_MSS_BOOTCFG (kā norādīts nākamajā tabulā).
2. tabula • U_MSS_BOOTCFG lietošana nedrošā sāknēšanas režīmā 1
Nobīde (baiti) |
Izmērs (baiti) |
Vārds |
Apraksts |
0 | 4 | BOOTVEC0 | Sāknēšanas vektors E51 |
4 | 4 | BOOTVEC1 | Sāknēšanas vektors U540 |
8 | 4 | BOOTVEC2 | Sāknēšanas vektors U541 |
16 | 4 | BOOTVEC3 | Sāknēšanas vektors U542 |
20 | 4 | BOOTVEC4 | Sāknēšanas vektors U543 |
Nākamajā attēlā parādīta nedrošā sāknēšanas plūsma.
4. attēls • Nedroša sāknēšanas plūsma
Lietotāja droša sāknēšana
Šis režīms ļauj lietotājam ieviest savu pielāgoto drošo sāknēšanu, un lietotāja drošās sāknēšanas kods tiek ievietots sNVM. sNVM ir 56 KB nemainīga atmiņa, ko var aizsargāt ar iebūvēto fiziski unklonējamo funkciju (PUF). Šī sāknēšanas metode tiek uzskatīta par drošu, jo sNVM lapas, kas atzīmētas kā ROM, ir nemainīgas. Ieslēdzot, sistēmas kontrolleris kopē lietotāja drošās sāknēšanas kodu no sNVM uz E51 monitora kodola datu cieši integrēto atmiņu (DTIM). E51 sāk izpildīt lietotāja drošās sāknēšanas kodu.
Ja lietotāja drošā sāknēšanas koda izmērs ir lielāks par DTIM lielumu, tad lietotājam ir jāsadala sāknēšanas kods divās sekundēs.tages. sNVM var saturēt nākamo stage no lietotāja sāknēšanas secības, kas var veikt nākamās sāknēšanas autentifikācijutage izmantojot lietotāja autentifikācijas/atšifrēšanas algoritmu.
Ja tiek izmantotas autentificētas vai šifrētas lapas, tad tā pati USK atslēga (tas ir,
U_MSS_BOOT_SNVM_USK) ir jāizmanto visām autentificētajām/šifrētajām lapām.
Ja autentifikācija neizdodas, MSS Core Complex var tikt atiestatīts un BOOT_FAIL tampvar pacelt karogu. Šis režīms tiek ieviests, izmantojot sāknēšanas opciju U_MSS_BOOTMODE=2.
3. tabula • U_MSS_BOOTCFG lietojums lietotāja drošajā sāknēšanas režīmā
Nobīde (baiti) | Izmērs (baiti) | Vārds | Apraksts |
0 | 1 | U_MSS_BOOT_SNVM_PAGE | Sākumlapa SNVM |
1 | 3 | REZERVĒTS | Izlīdzināšanai |
4 | 12 | U_MSS_BOOT_SNVM_USK | Autentificētām/šifrētām lapām |
Nākamajā attēlā parādīta lietotāja drošās sāknēšanas plūsma.
5. attēls • Lietotāja drošā sāknēšanas plūsma
Rūpnīcas droša sāknēšana
Šajā režīmā sistēmas kontrolleris nolasa drošās sāknēšanas attēla sertifikātu (SBIC) no eNVM un apstiprina SBIC. Veiksmīgas validācijas gadījumā sistēmas kontrolleris kopē rūpnīcas drošo sāknēšanas kodu no savas privātās, drošās atmiņas apgabala un ielādē to E51 monitora kodola DTIM. Noklusējuma drošā sāknēšana veic eNVM attēla paraksta pārbaudi, izmantojot SBIC, kas tiek saglabāts eNVM. Ja netiek ziņots par kļūdām, MSS Core Complex tiek atiestatīts. Ja tiek ziņots par kļūdām, MSS Core Complex tiek atiestatīts un BOOT_FAIL tamptiek pacelts karogs. Pēc tam sistēmas kontrolleris aktivizējas plkstamper karodziņš, kas nodrošina signālu FPGA audumam lietotāja darbībai. Šis režīms tiek ieviests, izmantojot sāknēšanas opciju U_MSS_BOOTMODE=3.
SBIC ir ietverta aizsargātā binārā lāse adrese, izmērs, hash un eliptiskās līknes digitālā paraksta algoritma (ECDSA) paraksts. ECDSA piedāvā digitālā paraksta algoritma variantu, kas izmanto eliptiskās līknes kriptogrāfiju. Tajā ir arī katras aparatūras atiestatīšanas vektors
vītne/kodols/procesora kodols (Hart) sistēmā.
4. tabula • Drošas sāknēšanas attēla sertifikāts (SBIC)
Ofseta | Izmērs (baiti) | Vērtība | Apraksts |
0 | 4 | IMAGEADDR | UBL adrese MSS atmiņas kartē |
4 | 4 | IMAGELEN | UBL lielums baitos |
8 | 4 | BOOTVEC0 | Sāknēšanas vektors UBL E51 |
12 | 4 | BOOTVEC1 | Sāknēšanas vektors UBL U540 |
16 | 4 | BOOTVEC2 | Sāknēšanas vektors UBL U541 |
20 | 4 | BOOTVEC3 | Sāknēšanas vektors UBL U542 |
24 | 4 | BOOTVEC4 | Sāknēšanas vektors UBL U543 |
28 | 1 | IESPĒJAS[7:0] | SBIC iespējas |
28 | 3 | REZERVĒTS | |
32 | 8 | VERSIJA | SBIC/Attēla versija |
40 | 16 | DSN | Izvēles DSN saistīšana |
56 | 48 | H | UBL attēla SHA-384 hash |
104 | 104 | KODS | DER kodēts ECDSA paraksts |
Kopā | 208 | Baiti |
DSN
Ja DSN lauks nav nulle, tas tiek salīdzināts ar pašas ierīces sērijas numuru. Ja salīdzināšana neizdodas, tad boot_fail tamper karodziņš ir iestatīts un autentifikācija tiek pārtraukta.
VERSIJA
Ja SBIC atsaukšana ir iespējota ar U_MSS_REVOCATION_ENABLE, SBIC tiek noraidīts, ja vien VERSION vērtība nav lielāka vai vienāda ar atsaukšanas slieksni.
SBIC ATCELŠANAS IESPĒJA
Ja SBIC atsaukšana ir iespējota ar U_MSS_REVOCATION_ENABLE un OPTIONS[0] ir “1”, visas SBIC versijas, kas ir jaunākas par VERSION, tiek atsauktas pēc pilnīgas SBIC autentifikācijas. Atsaukšanas slieksnis paliek jaunajā vērtībā, līdz tas atkal palielinās par turpmāko SBIC ar OPTIONS[0] = '1' un augstāku lauku VERSIJA. Atcelšanas slieksni var palielināt, tikai izmantojot šo mehānismu, un to var atiestatīt tikai ar bitu straumi.
Kad atsaukšanas slieksnis tiek dinamiski atjaunināts, slieksnis tiek saglabāts, izmantojot piekļuves kodiem izmantoto lieko krātuves shēmu, lai strāvas padeves pārtraukums ierīces sāknēšanas laikā neizraisītu turpmākās ierīces sāknēšanas kļūmi. Ja atsaukšanas sliekšņa atjaunināšana neizdodas, tiek garantēts, ka sliekšņa vērtība ir vai nu jaunā, vai iepriekšējā.
5. tabula • U_MSS_BOOTCFG lietojums rūpnīcas sāknēšanas ielādes režīmā
Nobīde (baiti) |
Izmērs (baiti) |
Vārds |
Apraksts |
0 | 4 | U_MSS_SBIC_ADDR | SBIC adrese MSS adrešu telpā |
4 | 4 | U_MSS_REVOCATION_ENABLE | Iespējot SBIC atsaukšanu, ja tā nav nulle |
Nākamajā attēlā parādīta rūpnīcas drošā sāknēšanas plūsma.
6. attēls • Rūpnīcas droša sāknēšanas plūsma
MSS lietotāja sāknēšana
MSS lietotāja sāknēšana notiek, kad vadība tiek nodota no System Controller uz MSS Core Complex. Pēc veiksmīgas MSS pirmssāknēšanas sistēmas kontrolleris atbrīvo MSS Core Complex atiestatīšanu. MSS var palaist vienā no šiem veidiem:
- Bezmetāla pielietojums
- Linux lietojumprogramma
- AMP Pieteikums
Bezmetāla pielietojums
PolarFire SoC tukša metāla lietojumprogrammas var izstrādāt, izmantojot SoftConsole rīku. Šis rīks nodrošina izvadi files formā .hex, ko var izmantot Libero plūsmā, lai iekļautu programmēšanas bitu plūsmā file. To pašu rīku var izmantot, lai atkļūdotu Bare Metal lietojumprogrammas, izmantojot JTAG
saskarne.
Nākamajā attēlā parādīta SoftConsole Bare Metal lietojumprogramma, kurai ir pieci serdeņi, ieskaitot E51 monitora kodolu.
7. attēls • SoftConsole projekts
Linux lietojumprogramma
Šajā sadaļā ir aprakstīta Linux sāknēšanas secība, kas darbojas visos U54 kodolos.
Tipisks sāknēšanas process sastāv no trim stages. Pirmās stagSāknēšanas ielādētājs (FSBL) tiek izpildīts no mikroshēmas sāknēšanas zibatmiņas (eNVM). FSBL ielādē otro stage boot loader (SSBL) no sāknēšanas ierīces uz ārējo RAM vai kešatmiņu. Sāknēšanas ierīce var būt eNVM vai iegultās atmiņas mikrokontrolleris (eMMC) vai ārējais SPI Flash. SSBL ielādē Linux operētājsistēmu no sāknēšanas ierīces uz ārējo RAM. Trešajā stage, Linux tiek izpildīts no ārējās RAM.
Nākamajā attēlā parādīta Linux sāknēšanas procesa plūsma.
8. attēls • Tipiska Linux sāknēšanas procesa plūsma
Sīkāka informācija par FSBL, ierīču koku, Linux un YOCTO būvniecību, kā izveidot un konfigurēt Linux tiks sniegta šī dokumenta nākamajā izlaidumā.
AMP Pieteikums
Detalizēts Libero MSS Configurator apraksts un vairāku procesoru lietojumprogrammu atkļūdošana, izmantojot SoftConsole, tiks sniegts nākamajā šī dokumenta izlaidumā.
Dažādi sāknēšanas avoti
Tiks atjaunināts šī dokumenta nākamajās versijās.
Sāknēšanas konfigurācija
Tiks atjaunināts šī dokumenta nākamajās versijās.
Akronīmi
Šajā dokumentā tiek izmantoti šādi akronīmi.
1. tabula • Akronīmu saraksts
Akronīms paplašināts
- AMP Asimetriska daudzkārtēja apstrāde
- DTIM Datu cieši integrēta atmiņa (saukta arī par SRAM)
- ECDSA Eliptiskās līknes digitālā paraksta algoritms
- eNVM iegultā pastāvīgā atmiņa
- FSBL Pirmais Stage Boot Loader
- Hārts Aparatūras pavediens/kodols/procesora kodols
- MSS Mikroprocesoru apakšsistēma
- POR Ieslēdziet Atiestatīt
- PUF Fiziski neklonējama funkcija
- ROM Tikai lasāmā atmiņa
- SCB Sistēmas kontroliera tilts
- sNVM Droša nepastāvīga atmiņa
Pārskatīšanas vēsture
Pārskatīšanas vēsturē ir aprakstītas izmaiņas, kas tika ieviestas dokumentā. Izmaiņas ir uzskaitītas pēc pārskatīšanas, sākot ar pašreizējo publikāciju.
Pārskatīšana 2.0
Tālāk ir sniegts šajā pārskatīšanā veikto izmaiņu kopsavilkums.
- Informācija par Factory Secure Boot tika atjaunināta.
- Informācija par Bare Metal Application tika atjaunināta.
Pārskatīšana 1.0
Šī dokumenta pirmā publikācija.
Microsemi galvenā mītne
One Enterprise, Aliso Viejo,
CA 92656 ASV
ASV iekšienē: +1 800-713-4113
Ārpus ASV: +1 949-380-6100
Pārdošana: +1 949-380-6136
Fakss: +1 949-215-4996
E-pasts: sales.support@microsemi.com
www.microsemi.com
©2020 Microsemi, Microchip Technology Inc. pilnībā piederošs meitasuzņēmums. Visas tiesības paturētas. Microsemi un Microsemi logotips ir Microsemi Corporation reģistrētas preču zīmes. Visas pārējās preču zīmes un pakalpojumu zīmes ir to attiecīgo īpašnieku īpašums.
Dokumenti / Resursi
![]() |
Mikroshēma UG0881 PolarFire SoC FPGA sāknēšana un konfigurēšana [pdfLietotāja rokasgrāmata UG0881 PolarFire SoC FPGA sāknēšana un konfigurēšana, UG0881, PolarFire SoC FPGA sāknēšana un konfigurēšana, sāknēšana un konfigurēšana |