Microchip UG0881 PolarFire SoC FPGA Загрузка і канфігурацыя
Гарантыя
Microsemi не дае ніякіх гарантый, заяў або гарантый у дачыненні да змешчанай тут інфармацыі або прыдатнасці сваіх прадуктаў і паслуг для якіх-небудзь канкрэтных мэт, а таксама не нясе ніякай адказнасці, якая вынікае з прымянення або выкарыстання любога прадукту або схемы. Прадукты, якія прадаюцца па дадзенай дамове, і любыя іншыя прадукты, якія прадаюцца Microsemi, прайшлі абмежаваныя выпрабаванні і не павінны выкарыстоўвацца ў спалучэнні з крытычна важным абсталяваннем або праграмамі. Любыя спецыфікацыі прадукцыйнасці лічацца надзейнымі, але не правяраюцца, і Пакупнік павінен правесці і завяршыць усе прадукцыйнасць і іншыя выпрабаванні прадуктаў, асобна і разам з любымі канчатковымі прадуктамі або ўсталяванымі ў іх. Пакупнік не павінен спадзявацца на якія-небудзь дадзеныя і спецыфікацыі прадукцыйнасці або параметры, прадстаўленыя Microsemi. Пакупнік нясе адказнасць за самастойнае вызначэнне прыдатнасці любой прадукцыі, а таксама за яе тэставанне і праверку. Інфармацыя, прадстаўленая Microsemi па гэтым дагаворы, прадастаўляецца "як ёсць, дзе ёсць" і з усімі недахопамі, і ўвесь рызыка, звязаны з такой інфармацыяй, цалкам ляжыць на Пакупніку. Microsemi не прадастаўляе, відавочна ці ўскосна, ні аднаму боку ніякіх патэнтных правоў, ліцэнзій або любых іншых правоў інтэлектуальнай уласнасці ў дачыненні да самой такой інфармацыі або чаго-небудзь, апісанага ў такой інфармацыі. Інфармацыя, прадстаўленая ў гэтым дакуменце, з'яўляецца ўласнасцю Microsemi, і Microsemi пакідае за сабой права ўносіць любыя змены ў інфармацыю ў гэтым дакуменце або ў любыя прадукты і паслугі ў любы час без папярэдняга паведамлення.
Пра Microsemi
Microsemi, даччыная кампанія, якая цалкам належыць Microchip Technology Inc. (Nasdaq: MCHP), прапануе шырокі спектр паўправадніковых і сістэмных рашэнняў для аэракасмічнай і абароннай прамысловасці, камунікацый, цэнтраў апрацоўкі дадзеных і прамысловых рынкаў. Прадукцыя ўключае высокапрадукцыйныя і радыяцыйна ўстойлівыя аналагавыя інтэгральныя схемы са змешаным сігналам, FPGA, SoC і ASIC; прадукты кіравання харчаваннем; прылады часу і сінхранізацыі і рашэнні для дакладнага часу, усталяванне сусветнага стандарту часу; прылады апрацоўкі голасу; радыёчастотныя рашэнні; дыскрэтныя кампаненты; карпаратыўныя рашэнні для захоўвання дадзеных і сувязі, тэхналогіі бяспекі і маштабуемая анты-тampэр прадукты; Рашэнні Ethernet; Мікрасхемы Power-over-Ethernet і сярэдзіны; а таксама індывідуальныя магчымасці дызайну і паслугі. Даведайцеся больш на www.microsemi.com.
Загрузка і канфігурацыя
PolarFire SoC FPGA выкарыстоўвае ўдасканаленую схему ўключэння харчавання для забеспячэння надзейнага ўключэння харчавання пры ўключэнні і скідзе. Пры ўключэнні і скідзе паслядоўнасць загрузкі PolarFire SoC FPGA ідзе за скідам пры ўключэнні (POR), загрузкай прылады, ініцыялізацыяй дызайну, папярэдняй загрузкай падсістэмы мікракантролера (MSS) і загрузкай карыстальніка MSS. У гэтым дакуменце апісваецца папярэдняя загрузка MSS і загрузка карыстальніка MSS. Інфармацыю пра POR, загрузку прылады і ініцыялізацыю дызайну глядзіце ў UG0890: Кіраўніцтва карыстальніка па ўключэнні і скідзе PolarFire SoC FPGA.
Для атрымання дадатковай інфармацыі аб функцыях MSS глядзіце UG0880: Кіраўніцтва карыстальніка PolarFire SoC MSS.
Паслядоўнасць загрузкі
Паслядоўнасць загрузкі пачынаецца пры ўключэнні або скідзе на PolarFire SoC FPGA. Ён завяршаецца, калі працэсар гатовы выканаць прыкладную праграму. Гэтая паслядоўнасць загрузкі праходзіць праз некалькі секундtages перад пачаткам выканання праграм.
Падчас працэсу загрузкі выконваецца набор аперацый, які ўключае скід абсталявання пры ўключэнні, ініцыялізацыю перыферыйных прылад, ініцыялізацыю памяці і загрузку вызначанага карыстальнікам прыкладання з энерганезалежнай памяці ў энерганезалежную памяць для выканання.
На наступным малюнку паказаны розныя этапы паслядоўнасці загрузкі.
Малюнак 1 Паслядоўнасць загрузкі
MSS перад загрузкай
Пасля паспяховага завяршэння ініцыялізацыі дызайну MSS Pre-boot пачынае яе выкананне. MSS вызваляецца ад скіду пасля завяршэння ўсіх звычайных працэдур запуску. Сістэмны кантролер кіруе праграмаваннем, ініцыялізацыяй і канфігурацыяй прылад. Папярэдняя загрузка MSS не адбываецца, калі запраграмаваная прылада настроена на рэжым прыпынення сістэмнага кантролера.
Фаза ініцыялізацыі MSS перад загрузкай каардынуецца ўбудаваным праграмным забеспячэннем сістэмнага кантролера, хоць ён можа выкарыстоўваць E51 у MSS Core Complex для выканання пэўных частак паслядоўнасці перад загрузкай.
Наступныя падзеі адбываюцца падчас папярэдняй загрузкі MSStage:
- Уключэнне энерганезалежнай памяці, убудаванай MSS (eNVM)
- Ініцыялізацыя рамонту празмернасці, звязанага з кэшам MSS Core Complex L2
- Аўтэнтыфікацыя кода загрузкі карыстальніка (калі ўключана опцыя бяспечнай загрузкі карыстальніка)
- Перадача аператыўнага MSS коду загрузкі карыстальніка
MSS Core Complex можа быць загружаны ў адным з чатырох рэжымаў. У наступнай табліцы пералічаны параметры папярэдняй загрузкі MSS, якія можна наладзіць і запраграмаваць у sNVM. Рэжым загрузкі вызначаецца карыстальніцкім параметрам U_MSS_BOOTMODE[1:0]. Дадатковыя даныя канфігурацыі загрузкі залежаць ад рэжыму і вызначаюцца карыстальніцкім параметрам U_MSS_BOOTCFG (гл. Табліцу 3, старонка 4 і Табліцу 5, старонка 6).
Табліца 1 • Рэжымы загрузкі MSS Core Complex
U_MSS_BOOTMODE[1:0] | Рэжым | Апісанне |
0 | Халасты загрузнік | MSS Core Complex загружаецца з загрузачнага ПЗУ, калі MSS не настроены |
1 | Небяспечная загрузка | MSS Core Complex загружаецца непасрэдна з адраса, вызначанага U_MSS_BOOTADDR |
2 | Бяспечная загрузка карыстальніка | MSS Core Complex загружаецца з sNVM |
3 | Завадская бяспечная загрузка | MSS Core Complex загружаецца з выкарыстаннем заводскага бяспечнага пратаколу загрузкі |
Параметр загрузкі абраны як частка дызайну Libero. Змена рэжыму можа быць дасягнута толькі шляхам стварэння новага праграмавання FPGA file.
Малюнак 2 • MSS перад загрузкай
Прастойны загрузнік
Калі MSS не настроены (напрыклад,ample, пустая прылада), то MSS Core Complex выконвае праграму загрузкі ROM, якая ўтрымлівае ўсе працэсары ў бясконцым цыкле, пакуль адладчык не падключыцца да мэты. Загрузачныя вектарныя рэгістры захоўваюць сваё значэнне, пакуль прылада не будзе скінута або не запраграмавана новая канфігурацыя рэжыму загрузкі. Для настроеных прылад гэты рэжым можна рэалізаваць з дапамогай
U_MSS_BOOTMODE=0 параметр загрузкі ў канфігуратары Libero.
Заўвага: У гэтым рэжыме U_MSS_BOOTCFG не выкарыстоўваецца.
На наступным малюнку паказаны працэс загрузкі ў рэжыме чакання.
Малюнак 3 • Idle Boot Flow
Небяспечная загрузка
У гэтым рэжыме MSS Core Complex выконваецца з указанага адраса eNVM без аўтэнтыфікацыі. Ён забяспечвае самы хуткі варыянт загрузкі, але няма аўтэнтыфікацыі выявы кода. Адрас можна ўказаць, усталяваўшы U_MSS_BOOTADDR у канфігуратары Libero. Гэты рэжым таксама можна выкарыстоўваць для загрузкі з любога рэсурсу памяці FPGA Fabric праз FIC. Гэты рэжым рэалізаваны з дапамогай
U_MSS_BOOTMODE=1 варыянт загрузкі.
Базавы комплекс MSS вызваляецца ад скіду з вектарамі загрузкі, вызначанымі U_MSS_BOOTCFG (як паказана ў наступнай табліцы).
Табліца 2 • U_MSS_BOOTCFG Выкарыстанне ў неабароненым рэжыме загрузкі 1
Зрушэнне (байты) |
Памер (байты) |
Імя |
Апісанне |
0 | 4 | BOOTVEC0 | Загрузны вектар для е51 |
4 | 4 | BOOTVEC1 | Загрузны вектар для u540 |
8 | 4 | BOOTVEC2 | Загрузны вектар для u541 |
16 | 4 | BOOTVEC3 | Загрузны вектар для u542 |
20 | 4 | BOOTVEC4 | Загрузны вектар для u543 |
На наступным малюнку паказаны паток неабароненай загрузкі.
Малюнак 4 • Небяспечны паток загрузкі
Карыстальніцкая бяспечная загрузка
Гэты рэжым дазваляе карыстачу рэалізаваць сваю ўласную бяспечную загрузку, і код бяспечнай загрузкі карыстальніка змяшчаецца ў sNVM. sNVM - гэта энерганезалежная памяць памерам 56 КБ, якую можна абараніць з дапамогай убудаванай функцыі Physically Unclonable (PUF). Гэты метад загрузкі лічыцца абароненым, таму што старонкі sNVM, пазначаныя як ПЗУ, нязменныя. Пры ўключэнні сістэмны кантролер капіюе код бяспечнай загрузкі карыстальніка з sNVM у інтэграваную памяць дадзеных (DTIM) ядра манітора E51. E51 пачынае выконваць код бяспечнай загрузкі карыстальніка.
Калі памер кода бяспечнай загрузкі карыстальніка большы за памер DTIM, тады карыстальнік павінен падзяліць код загрузкі на дзве часткі.tagэс. sNVM можа ўтрымліваць наступныя stage паслядоўнасці загрузкі карыстальніка, якая можа выконваць аўтэнтыфікацыю наступнай загрузкіtage з выкарыстаннем алгарытму аўтэнтыфікацыі/расшыфроўкі карыстальніка.
Калі выкарыстоўваюцца аўтэнтыфікаваныя або зашыфраваныя старонкі, то той жа ключ USK (гэта значыць,
U_MSS_BOOT_SNVM_USK) неабходна выкарыстоўваць для ўсіх правераных/зашыфраваных старонак.
Калі аўтэнтыфікацыя не атрымоўваецца, асноўны комплекс MSS можна перавесці ў рэжым скіду і BOOT_FAIL tamper сцяг можна падняць. Гэты рэжым рэалізаваны з дапамогай опцыі загрузкі U_MSS_BOOTMODE=2.
Табліца 3 • U_MSS_BOOTCFG Выкарыстанне ў бяспечнай загрузцы карыстальніка
Зрушэнне (байты) | Памер (байты) | Імя | Апісанне |
0 | 1 | U_MSS_BOOT_SNVM_PAGE | Пачатковая старонка ў SNVM |
1 | 3 | ЗАРЭЗЕРВАВАНА | Для выраўноўвання |
4 | 12 | U_MSS_BOOT_SNVM_USK | Для аўтэнтыфікаваных/зашыфраваных старонак |
На наступным малюнку паказаны паток бяспечнай загрузкі карыстальніка.
Малюнак 5 • Бяспечны паток загрузкі карыстальніка
Завадская бяспечная загрузка
У гэтым рэжыме сістэмны кантролер счытвае сертыфікат вобраза бяспечнай загрузкі (SBIC) з eNVM і правярае SBIC. Пасля паспяховай праверкі сістэмны кантролер капіюе завадскі бяспечны код загрузкі са сваёй прыватнай абароненай вобласці памяці і загружае яго ў DTIM ядра манітора E51. Бяспечная загрузка па змаўчанні выконвае праверку подпісу выявы eNVM з дапамогай SBIC, які захоўваецца ў eNVM. Калі ніякіх памылак не паведамляецца, скід запускаецца ў асноўны комплекс MSS. Калі паведамляецца пра памылкі, асноўны комплекс MSS перамяшчаецца ў рэжым скіду і BOOT_FAIL tamper сцяг падняты. Затым сістэмны кантролер актывуецца прыamper сцяг, які сцвярджае сігнал да структуры FPGA для дзеяння карыстальніка. Гэты рэжым рэалізаваны з дапамогай параметра загрузкі U_MSS_BOOTMODE=3.
SBIC змяшчае адрас, памер, хэш і подпіс алгарытму лічбавага подпісу эліптычнай крывой (ECDSA) абароненага двайковага блока. ECDSA прапануе варыянт алгарытму лічбавага подпісу, які выкарыстоўвае крыптаграфію з эліптычнай крывой. Ён таксама змяшчае вектар скіду для кожнага абсталявання
паток/ядро/ядро працэсара (Hart) у сістэме.
Табліца 4 • Сертыфікат вобраза бяспечнай загрузкі (SBIC)
Зрушэнне | Памер (байты) | Каштоўнасць | Апісанне |
0 | 4 | IMAGEADDR | Адрас UBL у карце памяці MSS |
4 | 4 | IMAGELEN | Памер UBL у байтах |
8 | 4 | BOOTVEC0 | Загрузны вектар у UBL для E51 |
12 | 4 | BOOTVEC1 | Загрузны вектар у UBL для U540 |
16 | 4 | BOOTVEC2 | Загрузны вектар у UBL для U541 |
20 | 4 | BOOTVEC3 | Загрузны вектар у UBL для U542 |
24 | 4 | BOOTVEC4 | Загрузны вектар у UBL для U543 |
28 | 1 | ВАРЫЯНТЫ[7:0] | Варыянты SBIC |
28 | 3 | ЗАРЭЗЕРВАВАНА | |
32 | 8 | ВЕРСІЯ | Версія SBIC/малюнак |
40 | 16 | DSN | Дадатковая прывязка DSN |
56 | 48 | H | Хэш выявы UBL SHA-384 |
104 | 104 | КОДЗІГ | Подпіс ECDSA з кадзіроўкай DER |
Усяго | 208 | Байты |
DSN
Калі поле DSN не роўна нулю, яно параўноўваецца з уласным серыйным нумарам прылады. Калі параўнанне не атрымоўваецца, то boot_fail tamper усталяваны сцяг і аўтэнтыфікацыя спынена.
ВЕРСІЯ
Калі адкліканне SBIC уключана U_MSS_REVOCATION_ENABLE, SBIC адхіляецца, калі толькі значэнне VERSION не перавышае парогавае значэнне адклікання або роўна яму.
ВАРЫЯНТ АДЗВАННЯ SBIC
Калі адкліканне SBIC уключана U_MSS_REVOCATION_ENABLE і OPTIONS[0] роўна '1', усе версіі SBIC ніжэй за VERSION адклікаюцца пасля поўнай аўтэнтыфікацыі SBIC. Парог адклікання застаецца на новым значэнні, пакуль ён зноў не павялічваецца на будучы SBIC з OPTIONS[0] = '1' і больш высокім полем VERSION. Парог адклікання можа быць павялічаны толькі з дапамогай гэтага механізму і можа быць скінуты толькі бітавым патокам.
Калі парог адклікання абнаўляецца дынамічна, парог захоўваецца з выкарыстаннем схемы рэзервовага захоўвання, якая выкарыстоўваецца для кодаў доступу, так што збой сілкавання падчас загрузкі прылады не прыводзіць да збою наступнай загрузкі прылады. Калі абнаўленне парогавага значэння адклікання не атрымоўваецца, гарантуецца, што парогавае значэнне будзе альбо новым, альбо папярэднім.
Табліца 5 • U_MSS_BOOTCFG Выкарыстанне ў рэжыме заводскага загрузніка
Зрушэнне (байты) |
Памер (байты) |
Імя |
Апісанне |
0 | 4 | U_MSS_SBIC_ADDR | Адрас SBIC у адраснай прасторы MSS |
4 | 4 | U_MSS_REVOCATION_ENABLE | Уключыць адкліканне SBIC, калі не роўна нулю |
На наступным малюнку паказаны завадскі паток бяспечнай загрузкі.
Малюнак 6 • Factory Secure Boot Flow
Загрузка карыстальніка MSS
Загрузка карыстальніка MSS адбываецца, калі кантроль перадаецца ад сістэмнага кантролера да асноўнага комплексу MSS. Пасля паспяховай папярэдняй загрузкі MSS сістэмны кантролер адпускае скід да асноўнага комплексу MSS. MSS можа быць загружаны адным з наступных спосабаў:
- Прыкладанне Bare Metal
- Прыкладанне Linux
- AMP Ужыванне
Прыкладанне Bare Metal
Праграмы на голым метале для SoC PolarFire можна распрацоўваць з дапамогай інструмента SoftConsole. Гэты інструмент забяспечвае выхад files у форме .hex, які можна выкарыстоўваць у патоку Libero для ўключэння ў бітавы паток праграмавання file. Гэты ж інструмент можна выкарыстоўваць для адладкі прыкладанняў Bare Metal з дапамогай JTAG
інтэрфейс.
На наступным малюнку паказана праграма SoftConsole Bare Metal, якая мае пяць ядраў (ядраў), уключаючы ядро манітора E51.
Малюнак 7 • Праект SoftConsole
Прыкладанне Linux
У гэтым раздзеле апісваецца паслядоўнасць загрузкі Linux, якая працуе на ўсіх ядрах U54.
Тыповы працэс загрузкі складаецца з трох сtages. Першы сtagЭлектронны загрузнік (FSBL) запускаецца з загрузачнай флэш-памяці на чыпе (eNVM). ФСБЛ загружае другую сtagэлектронны загрузнік (SSBL) з загрузнай прылады ў знешнюю аператыўную памяць або кэш. Загрузачнай прыладай можа быць eNVM, мікракантролер убудаванай памяці (eMMC) або знешняя флэш-памяць SPI. SSBL загружае аперацыйную сістэму Linux з загрузачнай прылады ў знешнюю аператыўную памяць. У трэцяй сtage, Linux выконваецца з вонкавай аператыўнай памяці.
На наступным малюнку паказаны працэс загрузкі Linux.
Малюнак 8 • Тыповы працэс загрузкі Linux
Падрабязная інфармацыя аб FSBL, дрэве прылад, зборцы Linux і YOCTO, аб тым, як сабраць і наладзіць Linux, будзе прадстаўлена ў наступным выпуску гэтага дакумента.
AMP Ужыванне
Падрабязнае апісанне канфігуратара Libero MSS і таго, як адладжваць шматпрацэсарныя прыкладанні з дапамогай SoftConsole, будзе прадстаўлена ў наступным выпуску гэтага дакумента.
Розныя крыніцы загрузкі
Будзе абноўлена ў наступных версіях гэтага дакумента.
Канфігурацыя загрузкі
Будзе абноўлена ў наступных версіях гэтага дакумента.
Скарачэнні
У гэтым дакуменце выкарыстоўваюцца наступныя абрэвіятуры.
Табліца 1 • Спіс абрэвіятур
Абрэвіятура пашырана
- AMP Асіметрычная мультыапрацоўка
- DTIM Памяць з шчыльнай інтэграцыяй дадзеных (таксама званая SRAM)
- ECDSA Алгарытм лічбавага подпісу эліптычнай крывой
- eNVM убудаваная энерганезалежная памяць
- ФСБЛ Першы Сtagэлектронны загрузнік
- Харт Апаратны паток/ядро/ядро працэсара
- MSS Мікрапрацэсарная падсістэма
- ПОР Скід уключэння
- ПУФ Фізічна неклонируемая функцыя
- ПЗУ Памяць толькі для чытання
- SCB Мост сістэмнага кантролера
- сНВМ Бяспечная энерганезалежная памяць
Гісторыя версій
Гісторыя версій апісвае змены, якія былі ўнесены ў дакумент. Змены пералічаны па версіях, пачынаючы з бягучай публікацыі.
Версія 2.0
Ніжэй прыводзіцца кароткі выклад змяненняў, зробленых у гэтай рэдакцыі.
- Інфармацыя аб Factory Secure Boot была абноўлена.
- Інфармацыя аб Bare Metal Application была абноўлена.
Версія 1.0
Першая публікацыя гэтага дакумента.
Штаб-кватэра Microsemi
One Enterprise, Аліса Вьехо,
CA 92656 ЗША
У ЗША: +1 800-713-4113
За межамі ЗША: +1 949-380-6100
Продажы: +1 949-380-6136
Факс: +1 949-215-4996
электронная пошта: sales.support@microsemi.com
www.microsemi.com
©2020 Microsemi, даччыная кампанія Microchip Technology Inc., якая цалкам належыць. Усе правы абаронены. Microsemi і лагатып Microsemi з'яўляюцца зарэгістраванымі гандлёвымі маркамі Microsemi Corporation. Усе іншыя гандлёвыя маркі і знакі абслугоўвання з'яўляюцца ўласнасцю іх адпаведных уладальнікаў.
Дакументы / Рэсурсы
![]() |
Microchip UG0881 PolarFire SoC FPGA Загрузка і канфігурацыя [pdfКіраўніцтва карыстальніка UG0881 PolarFire SoC FPGA Загрузка і канфігурацыя, UG0881, PolarFire SoC FPGA Загрузка і канфігурацыя, Загрузка і канфігурацыя |