Mikrodaļēji LGOO

Mikroshēma UG0881 PolarFire SoC FPGA sāknēšana un konfigurēšana

Mikroshēma-UG0881-PolarFire-SoC-FPGA-Booting-and-Configuration-product

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ībaMikroshēma-UG0881-PolarFire-SoC-FPGA-sāknēšana-un-konfigurācija-1.att.

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 Mikroshēma-UG0881-PolarFire-SoC-FPGA-sāknēšana-un-konfigurācija-2.att.

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ūsmaMikroshēma-UG0881-PolarFire-SoC-FPGA-sāknēšana-un-konfigurācija-3.att.

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ūsmaMikroshēma-UG0881-PolarFire-SoC-FPGA-sāknēšana-un-konfigurācija-4.att.

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ūsmaMikroshēma-UG0881-PolarFire-SoC-FPGA-sāknēšana-un-konfigurācija-5.att.

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ūsmaMikroshēma-UG0881-PolarFire-SoC-FPGA-sāknēšana-un-konfigurācija-6.att. Mikroshēma-UG0881-PolarFire-SoC-FPGA-sāknēšana-un-konfigurācija-7.att.

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 Mikroshēma-UG0881-PolarFire-SoC-FPGA-sāknēšana-un-konfigurācija-8.att.

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ūsmaMikroshēma-UG0881-PolarFire-SoC-FPGA-sāknēšana-un-konfigurācija-9.att.

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

Atsauces

Atstājiet komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti *