Štvorjadrový mikroprocesor MICROCHIP PIC64GX 64-bitový RISC-V

Informácie o produkte
špecifikácie:
- Názov produktu: Mikročip PIC64GX
- Proces zavádzania: SMP a AMP podporované pracovné zaťaženia
- Špeciálne vlastnosti: Podpora strážneho psa, režim uzamknutia
Návod na použitie produktu
- Proces zavádzania
- Softvérové komponenty zapojené do zavádzania
Proces spustenia systému zahŕňa nasledujúce softvérové komponenty:- Hart Software Services (HSS): Nula-stagzavádzač, monitor systému a poskytovateľ runtime služieb pre aplikácie.
- Boot Flow
Postupnosť zavádzania systému je nasledovná:- Inicializácia softvérových služieb Hart (HSS)
- Spustenie zavádzača
- Spustenie aplikácie
- Softvérové komponenty zapojené do zavádzania
- Strážnych psov
- PIC64GX Watchdog
PIC64GX je vybavený funkciou watchdog na monitorovanie prevádzky systému a spúšťanie akcií v prípade zlyhania systému.
- PIC64GX Watchdog
- Režim uzamknutia
Režim uzamknutia je určený pre zákazníkov, ktorí po zavedení systému vyžadujú úplnú kontrolu nad činnosťami systému. Obmedzuje funkcie monitora systému E51.
FAQ
- Otázka: Aký je účel služieb Hart Software Services (HSS)?
Odpoveď: HSS slúži ako nulatage zavádzač, monitor systému a poskytovateľ runtime služieb pre aplikácie počas procesu zavádzania. - Otázka: Ako funguje funkcia watchdog PIC64GX?
A: Watchdog PIC64GX monitoruje prevádzku systému a môže vykonať preddefinované akcie v prípade zlyhania systému, aby sa zabezpečila spoľahlivosť systému.
Úvod
Táto biela kniha vysvetľuje, ako Microchip PIC64GX spúšťa pracovné zaťaženie aplikácií a popisuje proces zavádzania systému, ktorý funguje rovnako pre SMP a AMP záťaže. Okrem toho popisuje, ako funguje reštart pre SMP a AMP pracovné zaťaženie, watchdog na PIC64GX a špeciálny režim uzamknutia pre systémy, kde zákazníci požadujú úplnú kontrolu, aby obmedzili činnosť monitora systému E51 po zavedení systému.
Proces zavádzania
Pozrime sa na rôzne softvérové komponenty zapojené do spúšťania systému, po ktorých nasleduje podrobnejší pohľad na postupnosť samotného spúšťania systému.
Softvérové komponenty zapojené do zavádzania
Nasledujúce komponenty sa podieľajú na procese zavádzania systému:
Obrázok 1.1. Spúšťacie komponenty

- Hart Software Services (HSS)
Softvérové služby Hart (HSS) sú nulovétagbootloader, systémový monitor a poskytovateľ runtime služieb pre aplikácie. HSS podporuje skoré nastavenie systému, školenie DDR a inicializáciu/konfiguráciu hardvéru. Väčšinou beží na E51, pričom na každom U54 beží malé množstvo funkcií na úrovni strojového režimu. Zavádza jeden alebo viac kontextov načítaním „úžitkového zaťaženia“ aplikácie zo zavádzacieho média a poskytuje služby Platform Runtime Services/Supervisor Execution Environment (SEE) pre jadrá operačného systému. Podporuje bezpečné spustenie a je dôležitou súčasťou pri zabezpečovaní rozdelenia/oddelenia hardvéru AMP kontextoch. - Das U-Boot (U-Boot)
Das U-Boot (U-Boot) je open-source univerzálny skriptovateľný zavádzač. Podporuje jednoduché CLI, ktoré dokáže načítať boot image z rôznych zdrojov (vrátane SD karty a siete). U-Boot načíta Linux. V prípade potreby môže poskytnúť prostredie UEFI. Po zavedení Linuxu je vo všeobecnosti dokončený a mimo cesty – inými slovami, nezostáva po zavedení systému. - Linuxové jadro
Linuxové jadro je celosvetovo najpopulárnejšie jadro operačného systému. V kombinácii s užívateľskou krajinou aplikácií tvorí to, čo sa bežne označuje ako operačný systém Linux. Operačný systém Linux poskytuje bohaté POSIX API a vývojárske prostredie, naprample, jazyky a nástroje ako Python, Perl, Tcl, Rust, C/C++ a Tcl; knižnice ako OpenSSL, OpenCV, OpenMP, OPC/UA a OpenAMP (RPmsg a RemoteProc).
Yocto a Buildroot sú tvorcovia systémov Linux, to znamená, že ich možno použiť na generovanie prispôsobených Linuxových systémov na mieru. Yocto vydáva linuxovú distribúciu s bohatým
sada aplikácií, nástrojov a knižníc a voliteľná správa balíkov. Buildroot vygeneruje minimálnejší root filesystém a môže zacieliť na systémy, ktoré nevyžadujú trvalé úložisko, ale bežia výhradne z pamäte RAM (pomocou podpory iniciálok Linuxu, napr.ample). - Zephyr
Zephyr je malý operačný systém s otvoreným zdrojom v reálnom čase (RTOS). Poskytuje rámec v reálnom čase Low-Overhead Framework s komunikačnými kanálmi RPMsg-lite pre Linux. Zahŕňa jadro, knižnice, ovládače zariadení, zásobníky protokolov, filesystémov, mechanizmov na aktualizáciu firmvéru atď. a je skvelý pre zákazníkov, ktorí chcú na PIC64GX zážitok z holého kovu.
Boot Flow
PIC64GX obsahuje RISC-V coreplex so 64-bitovým monitorom systému E51 a 4 64-bitovými aplikačnými portami U54. V terminológii RISC-V je hart kontext vykonávania RISC-V, ktorý obsahuje celú sadu registrov a ktorý vykonáva svoj kód nezávisle. Môžete si to predstaviť ako hardvérové vlákno alebo jeden procesor. Skupina jeleňov v rámci jedného jadra sa často nazýva komplex. Táto téma popisuje kroky na inicializáciu coreplexu PIC64GX vrátane systémových monitorov srdca E51 a aplikácií U54.
- Zapnite coreplex PIC64GX.
Pri zapnutí sú všetky harty v RISC-V coreplex uvoľnené z resetovania bezpečnostným ovládačom. - Spustite HSS kód z eNVM flash pamäte na čipe.
Na začiatku každé srdce spustí kód HSS z flash pamäte eNVM na čipe. Tento kód spôsobí, že všetky aplikácie U54 sa roztočia, čakajú na pokyny a umožní monitoru E51 spustiť kód na inicializáciu a spustenie systému. - Dekomprimujte HSS kód z eNVM do pamäte L2-Scratch.
V závislosti od svojej konfigurácie času zostavenia je HSS zvyčajne väčšia ako kapacita samotnej flash pamäte eNVM, a preto prvá vec, ktorú kód HSS spustený na E51 robí, je dekomprimovať sa z eNVM do pamäte L2-Scratch, ako je znázornené na obrázku 1.2 a obrázku 1.3.
Obrázok 1.2. HSS Dekomprimuje z eNVM na L2 Scratch
Obrázok 1.3. HSS Memory Map počas dekompresie
- Preskočte z eNVM na L2-Scratch do spustiteľného súboru, ako je znázornené na nasledujúcom obrázku.
Obrázok 1.4. HSS skočí z eNVM do Code Now v L2Scratch po dekompresii
Spustiteľný súbor pozostáva z troch komponentov:- Hardvérová abstraktná vrstva (HAL), nízkoúrovňový kód a holé kovové ovládače
- Lokálna vidlica HSS RISC-V OpenSBI (mierne upravená z upstream na PIC64GX pre AMP účely)
- Runtime služby HSS (stavové stroje bežia v super slučke)
- Inicializujte hardvérové a dátové štruktúry používané OpenSBI.
Za túto inicializáciu je zodpovedná služba HSS „Startup“. - Načítajte obrázok pracovného zaťaženia aplikácie (payload.bin) z externého úložiska. To je znázornené na obrázku 1.5 a obrázku 1.6
Dôležité: V prípade súpravy Curiosity PIC64GX to bude z karty SD.
Obrázok 1.5. Načítava sa obraz pracovného zaťaženia payload.bin z externého úložiska
Obrázok 1.6. HSS Memory Map po načítaní payload.bin
- Skopírujte rôzne sekcie z payload.bin do ich cieľových časov vykonania. Payload.bin je formátovaný obrázok, ktorý zlučuje rôzne obrázky aplikácií pre SMP resp AMP záťaže. Zahŕňa tabuľky kódu, údajov a deskriptorov, ktoré umožňujú HSS vhodne umiestniť sekcie kódu a údajov tam, kde sú potrebné na spustenie rôznych pracovných zaťažení aplikácií.
Obrázok 1.7. payload.bin sa skopíruje do cieľových adries
- Dajte príslušným U54 pokyn, aby preskočili na adresy začiatku vykonávania. Tieto informácie o počiatočnej adrese sú obsiahnuté v súbore payload.bin.
- Spustite aplikáciu U54 a všetky sekundytage zavádzače. Naprample, U-Boot prináša Linux.
Reštartujte
S konceptom bootovania systému súvisí nutnosť reštartu. Pri premýšľaní o pracovnom zaťažení aplikácie PIC64GX je potrebné pri reštarte zvážiť symetrické multiprocesovanie (SMP) aj asymetrické multiprocesovanie (AMP) scenáre:
- V prípade systému SMP môže reštart bezpečne reštartovať celý systém, pretože v inom kontexte nie je potrebné zvážiť žiadne ďalšie pracovné zaťaženie.
- V prípade an AMP systému, pracovnému zaťaženiu môže byť povolené reštartovať sa iba samo (a nezasahovať do žiadneho iného kontextu), alebo môže mať privilégium na vykonanie úplného reštartu systému.
Reštartujte a AMP
Ak chcete povoliť SMP a AMP scenáre reštartu, HSS podporuje koncepciu privilégií teplého a studeného reštartu, ktoré je možné priradiť ku kontextu. Kontext s privilégiom teplého reštartu sa môže reštartovať iba sám a kontext s privilégiom studeného reštartu môže vykonať úplný reštart systému. Napríkladample, zvážte nasledujúci súbor reprezentatívnych scenárov.
- Jedno kontextové pracovné zaťaženie SMP, ktoré môže požiadať o úplný reštart systému
- V tomto scenári je kontextu povolené privilégium na studený reštart.
- Dvojitý kontext AMP pracovné zaťaženie, kde kontext A môže požiadať o úplné reštartovanie systému (ovplyvňuje všetky kontexty) a kontext B sa môže reštartovať iba sám
- V tomto scenári má kontext A povolené privilégium studeného reštartu a kontext B privilégium teplého reštartu.
- Dvojitý kontext AMP pracovné zaťaženie, kde sa kontexty A a B môžu reštartovať iba samé (a neovplyvnia iný kontext)
- V tomto scenári majú oba kontexty povolené iba privilégiá na teplý reštart.
- Dvojitý kontext AMP pracovné zaťaženie, kde kontexty A aj B môžu požadovať úplné reštarty systému
- V tomto scenári majú oba kontexty povolené privilégiá na studený reštart.
- Okrem toho je možné, že HSS v čase zostavenia vždy povolí privilégium studeného reštartu a nikdy nepovolí privilégium studeného reštartu.
Príslušné možnosti HSS Kconfig
Kconfig je konfiguračný systém zostavenia softvéru. Bežne sa používa na výber možností času zostavenia a na zapnutie alebo vypnutie funkcií. Pochádza z linuxového jadra, ale teraz našiel využitie v iných projektoch mimo linuxového jadra, vrátane U-Boot, Zephyr a PIC64GX HSS.
HSS obsahuje dve možnosti Kconfig, ktoré riadia funkčnosť reštartu z pohľadu HSS:
- CONFIG_ALLOW_COLD REBOOT
Ak je táto možnosť povolená, globálne to umožňuje kontextu vydať výzvu na studený reštart. Ak je zakázaná, budú povolené iba teplé reštarty. Okrem povolenia tejto možnosti je potrebné kontextu udeliť povolenie na studený reštart prostredníctvom generátora užitočného zaťaženia YAML file alebo nasledujúca možnosť Kconfig. - CONFIG_ALLOW_COLD REBOOT_ALWAYS
- Ak je povolená, táto funkcia globálne umožňuje všetkým kontextom vydať ECAA pre studený reštart bez ohľadu na oprávnenia príznaku payload.bin.
- Okrem toho môže samotný payload.bin obsahovať príznak pre každý kontext, ktorý označuje, že konkrétny kontext je oprávnený spustiť studené reštarty:
- Aby sme povolili kontextový teplý reštart v inom kontexte, môžeme pridať možnosť allow-reboot: warm v popise YAML file slúži na vytvorenie užitočného zaťaženia.bin
- Aby sme umožnili kontextový studený reštart celého systému, môžeme pridať možnosť allow-reboot: cold. V predvolenom nastavení, bez zadania allow-reboot, je kontext povolený iba samotný teplý reštart Bez ohľadu na nastavenie tohto príznaku, ak CONFIG_ALLOW_COLDREBOOT nie je povolený v HSS, HSS prepracuje všetky požiadavky na studený reštart na teplé reštarty (v rámci kontextu). .
Reštartujte podrobne
Táto časť podrobne popisuje, ako reštartovanie funguje – počnúc vrstvou OpenSBI (najnižšia vrstva režimu M) a potom sa diskutuje o tom, ako sa táto funkcia vrstvy OpenSBI spúšťa z aplikácie RTOS alebo bohatého operačného systému, ako je Linux.
OpenSBI Reštartujte hovor
- Špecifikácia RISC-V Supervisor Binary Interface (SBI) popisuje štandardizovanú vrstvu hardvérovej abstrakcie pre inicializáciu platformy a služby za behu firmvéru. Hlavným účelom SBI je umožniť prenosnosť a kompatibilitu medzi rôznymi implementáciami RISC-V.
- OpenSBI (Open Source Supervisor Binary Interface) je open-source projekt, ktorý poskytuje referenčnú implementáciu špecifikácie SBI. OpenSBI tiež poskytuje runtime služby, vrátane obsluhy prerušenia, správy časovača a I/O konzoly, ktoré môžu využívať softvérové vrstvy vyššej úrovne.
- OpenSBI je súčasťou HSS a beží na úrovni strojového režimu. Keď operačný systém alebo aplikácia spôsobí pascu, postúpi sa do OpenSBI, aby to spracoval. OpenSBI odhaľuje určitú funkčnosť typu systémového volania horným vrstvám softvéru prostredníctvom konkrétneho mechanizmu pasce nazývaného ecall.
- Obnovenie systému (EID 0x53525354) poskytuje komplexnú funkciu systémového volania, ktorá umožňuje softvéru vyššej vrstvy požiadať o reštart alebo vypnutie na úrovni systému. Akonáhle je toto volanie vyvolané U54, je zachytené softvérom HSS spusteným v Machine Mode na tomto U54 a na E51 sa odošle zodpovedajúca požiadavka na reštart, aby sa reštartoval buď kontext, alebo celý systém, v závislosti od oprávnení zariadenia. kontext.
Viac informácií nájdete na Špecifikácia binárneho rozhrania RISC-V Supervisor najmä Rozšírenie na obnovenie systému (EID #0x53525354 „SRST“).
Reštartovanie Linuxu
Ako konkrétny exampV Linuxe sa príkaz shutdown používa na zastavenie alebo reštartovanie systému. Príkaz má zvyčajne veľa aliasov, konkrétne zastaviť, vypnúť a reštartovať. Tieto aliasy určujú, či sa má stroj zastaviť pri vypnutí, vypnúť pri vypnutí alebo reštartovať pri vypnutí.
- Tieto príkazy v užívateľskom priestore vydávajú systémové volanie reštartu do Linuxu, ktoré je zachytené jadrom a prepojené na ecall SBI.
- Existujú rôzne úrovne reštartu – REBOOT_WARM, REBOOT_COLD, REBOOT_HARD – tieto môžu byť odovzdané jadru ako argumenty príkazového riadku (napr.ample, reboot=w[arm] pre REBOOT_WARM). Ďalšie informácie o zdrojovom kóde jadra Linuxu nájdete na Documentation/admin-guide/kernel-paramters.txt.
- Alternatívne, ak je povolené /sys/kernel/reboot, obslužné programy pod ním možno prečítať, aby ste získali aktuálnu konfiguráciu reštartu systému, a zapísať, aby ste ju zmenili. Ďalšie informácie o zdrojovom kóde jadra Linuxu nájdete na Dokumentácia/ABI/testing/sysfs-kernel-reboot.
Strážnych psov
- Ďalším konceptom súvisiacim so zavádzaním systému a reštartovaním systému je obnova systému po spustení strážneho časovača. Časovače Watchdog sú široko používané vo vstavaných systémoch na automatickú obnovu z prechodných hardvérových porúch a na zabránenie chybnému alebo zlomyseľnému softvéru narušiť fungovanie systému.
- PIC64GX obsahuje podporu hardvérového strážneho psa na monitorovanie jednotlivých zariadení, keď je systém spustený. Strážcovia zaisťujú, že harts možno reštartovať, ak nereagujú kvôli neodstrániteľným softvérovým chybám.
- PIC64GX obsahuje päť inštancií hardvérových blokov časovača watchdog používaných na detekciu zablokovania systému – jednu pre každý z hartov. Na uľahčenie zmiešaného asymetrického viacnásobného spracovania (AMP) pracovné zaťaženie, HSS podporuje monitorovanie a reakciu na streľbu strážnych psov.
PIC64GX Watchdog
- HSS je zodpovedný za spustenie aplikácií harts pri zapnutí a za ich opätovné spustenie (individuálne alebo kolektívne) kedykoľvektage, ak by to bolo potrebné alebo žiaduce. V dôsledku toho je reakcia na udalosti typu watchdog na PIC64GX riadená HSS.
- Monitor „virtuálneho strážneho psa“ je implementovaný ako služba štátneho stroja HSS a jeho zodpovednosťou je monitorovať stav každého z individuálnych hardvérových monitorov strážneho psa U54. Keď sa jeden z týchto strážnych psov U54 vypne, HSS to zistí a podľa potreby reštartuje U54. Ak je U54 súčasťou kontextu SMP, celý kontext sa považuje za reštart, keďže kontext má privilégium teplého reštartu. Celý systém sa reštartuje, ak má kontext oprávnenie na studený reštart.
Príslušné možnosti Kconfig
- Podpora Watchdog je štandardne zahrnutá vo vydaných zostavách HSS. Ak si želáte vytvoriť vlastný HSS, táto časť popíše mechanizmus konfigurácie, aby ste sa uistili, že je povolená podpora Watchdog.
- HSS sa konfiguruje pomocou konfiguračného systému Kconfig. Súbor .config najvyššej úrovne file je potrebný na výber služieb, ktoré sa kompilujú v zostave HSS alebo z nej.
- Po prvé, musí byť povolená možnosť najvyššej úrovne CONFIG_SERVICE_WDOG („Podpora virtuálneho strážneho psa“ cez make config).
To potom odkryje nasledujúce čiastkové možnosti, ktoré závisia od podpory Watchdog:
- CONFIG_SERVICE_WD OG_DEBUG
Umožňuje podporu pre informačné/ladiace správy zo služby virtuálneho strážneho psa. - CONFIG_SERVICE_WD OG_DEBUG_TIMEOUT_SECS
Určuje periodicitu (v sekundách), s ktorými budú HSS výstupom ladiace správy Watchdog. - CONFIG_SERVICE_WD OG_ENABLE_E51
Umožňuje stráženie srdca pre E51 monitory srdca ako doplnok k U54, čím chráni činnosť samotného HSS.
Keď je povolený watchdog E51, HSS bude pravidelne zapisovať do Watchdogu, aby ho obnovil a zabránil jeho spusteniu. Ak sa z nejakého dôvodu srdce E51 zablokuje alebo zrúti a je povolený strážny pes E51, vždy sa resetuje celý systém.
Prevádzka strážneho psa
Hardvér strážneho psa implementuje počítadlá poklesu. Okno so zakázanou obnovou je možné vytvoriť konfiguráciou maximálnej hodnoty strážnej jednotky, do ktorej je povolená obnova (MVRP).
- Keď je aktuálna hodnota časovača watchdog väčšia ako hodnota MVRP, obnovovanie watchdogu je zakázané. Pokus o obnovenie časovača strážneho psa v zakázanom okne vyvolá prerušenie časového limitu.
- Obnovenie watchdogu medzi hodnotou MVRP a Trigger Value (TRIG) úspešne obnoví počítadlo a zabráni spusteniu watchdogu.
- Akonáhle hodnota časovača watchdog klesne pod hodnotu TRIG, spustí sa watchdog.
Watchdog State Machine
- Stavový automat watchdog je veľmi jednoduchý – spúšťa sa konfiguráciou strážneho psa pre E51, ak je povolený, a potom prechádza cez nečinný stav do monitorovania. Zakaždým okolo superslučky je vyvolaný tento stav monitorovania, ktorý kontroluje stav každého strážneho psa U54.
- Stavový stroj watchdog interaguje so stavovým strojom zavádzania, aby reštartoval hart (a všetky ostatné harty, ktoré sú v jeho bootovacej sade), ak zistí, že hart nestihol obnoviť svoj watchdog včas.
Režim uzamknutia
Normálne (najmä s AMP aplikácií), očakáva sa, že HSS zostane rezidentný v M-režime na U54, aby bolo možné reštartovať podľa kontextu (tj reštartovať iba jeden kontext bez reštartu celého čipu) a umožniť HSS monitorovať stav ( ECC, bity stavu uzamknutia, chyby zbernice, chyby SBI, porušenia PMP atď.).

- S cieľom poskytnúť možnosti reštartu naAMP kontextovom základe (bez potreby reštartovania celého systému), má E51 normálne privilegovaný prístup k pamäti k celému pamäťovému priestoru systému. Môžu však nastať situácie, kedy to nie je žiaduce a zákazník môže radšej obmedziť činnosť firmvéru E51 HSS po úspešnom zavedení systému. V tomto prípade je možné po zavedení U54 Application Harts uviesť HSS do režimu uzamknutia.
- Toto je možné povoliť pomocou možnosti HSS Kconfig CONFIG_SERVICE_LOCKDOWN.
- Služba uzamknutia má umožniť obmedzenie aktivít HSS po spustení aplikácie U54 Harts.
Obrázok 4.2. Režim uzamknutia HSS

Po spustení režimu uzamknutia zastaví chod všetkých ostatných strojov v servisnom stave HSS. Volá dve slabo viazané funkcie:
- e51_pmp_lockdown() a
- e51_lockdown()
Tieto funkcie sú určené na prepísanie špecifickým kódom dosky. Prvou je konfigurovateľná spúšťacia funkcia, ktorá umožňuje BSP prispôsobiť uzamykanie E51 z aplikačného obsahu v tomto bode. Slabo viazaná predvolená implementácia tejto funkcie je prázdna. Druhým je funkčnosť, ktorá sa spúšťa od tohto bodu ďalej. Slabo viazaná predvolená implementácia obsluhuje strážneho psa v tomto bode E51 a reštartuje sa, ak sa spustí strážny pes U54. Ďalšie informácie nájdete v zdrojovom kóde HSS na stránke services/lockdown/lockdown_service.c file.
Dodatok
Formát užitočného zaťaženia HSS
- Táto časť popisuje súbor payload.bin file formát a obrázok používaný HSS na zavedenie PIC64GX SMP a AMP aplikácie.
- Payload.bin je naformátovaný binárny súbor (obrázok A.10) pozostávajúci z hlavičky, rôznych tabuliek deskriptorov a rôznych častí, ktoré obsahujú časti kódu a údajov každej časti pracovného zaťaženia aplikácie. Kus možno považovať za súvislý blok pamäte ľubovoľnej veľkosti.
Obrázok A.10. formát payload.bin

Hlavička (zobrazená na obrázku A.11) obsahuje magickú hodnotu používanú na identifikáciu payload.bin a niektorých informácií o údržbe spolu s podrobnosťami o obrázku, ktorý sa má spustiť na každom z
Aplikačné kódy U54. Popisuje, ako zaviesť každý jednotlivý U54 hart a celkovo sadu bootovateľných obrazov. Vo svojich informáciách o údržbe má ukazovatele na rôzne tabuľky deskriptorov, ktoré umožňujú zväčšenie veľkosti hlavičky.
Obrázok A.11. hlavička payload.bin

- Kód a inicializované konštantné údaje sa považujú len na čítanie a sú uložené v sekcii len na čítanie, na ktorú poukazujú deskriptory hlavičky.
- Nenulové inicializované dátové premenné sú dáta na čítanie a zápis, ale ich inicializačné hodnoty sa pri spustení skopírujú z bloku určeného len na čítanie. Tie sú tiež uložené v sekcii len na čítanie.
- Sekcia dát len na čítanie je opísaná tabuľkou deskriptorov kódu a dátových blokov. Každý deskriptor časti v tejto tabuľke obsahuje „vlastníka obrázka“ (hlavný obrázok v kontexte, na ktorý je zacielený
at), offset záťaže (offset v rámci payload.bin) a vykonávacia adresa (cieľová adresa v pamäti PIC64GX) spolu s veľkosťou a kontrolným súčtom. Toto je znázornené na obrázku A.12.
Obrázok A.12. Deskriptor bloku len na čítanie a údaje bloku užitočného zaťaženia

Okrem vyššie uvedených častí existujú aj časti pamäte zodpovedajúce dátovým premenným, ktoré sú inicializované na nulu. Tie nie sú uložené ako dáta v payload.bin, ale namiesto toho sú špeciálnou sadou nulou inicializovaných chunk deskriptorov, ktoré špecifikujú adresu a dĺžku RAM, ktorá sa má nastaviť na nulu počas spúšťania. To je znázornené na obrázku A.13.
Obrázok A.13. ZI Chunks

hss-payload-generator
Nástroj HSS Payload Generator vytvorí naformátovaný obraz užitočného zaťaženia pre softvérovú službu Hart zero-stage bootloader na PIC64GX s konfiguráciou file a súbor ELF files a/alebo binárne súbory. Konfigurácia file sa používa na mapovanie binárnych súborov ELF alebo binárnych škvŕn na jednotlivé aplikácie (U54).
Obrázok B.14. hss-payload-generator Flow

Nástroj vykonáva základné kontroly zdravého rozumu v štruktúre konfigurácie file a na obrázkoch ELF. Obrázky ELF musia byť spustiteľné súbory RISC-V.
Example Run
- Ak chcete spustiť nástroj hss-payload-generator pomocou sampkonfigurácia súboru file a ELF files:
$ ./hss-payload-generator -c test/config.yaml output.bin - Ak chcete vytlačiť diagnostiku o už existujúcom obrázku, použite:
$ ./hss-payload-generator -d output.bin - Ak chcete povoliť autentifikáciu bezpečného zavádzania (prostredníctvom podpisovania obrázkov), použite -p na určenie umiestnenia súkromného kľúča X.509 pre Elliptic Curve P-384 (SECP384r1):
$ ./hss-payload-generator -c test/config.yaml payload.bin -p /path/to/private.pem
Ďalšie informácie nájdete v dokumentácii Secure Boot Authentication.
Konfig File Example
- Najprv môžeme voliteľne nastaviť názov pre náš obrázok, inak sa vytvorí dynamicky:
set-name: 'PIC64-HSS::TestImage' - Ďalej zadefinujeme adresy vstupných bodov pre každé srdce takto:
hart-entry-points: {u54_1: ‘0x80200000’, u54_2: ‘0x80200000’, u54_3: ‘0xB0000000′, u54_4:’0x80200000’}
Zdrojové obrázky ELF môžu špecifikovať vstupný bod, ale v prípade potreby chceme byť schopní podporovať sekundárne vstupné body pre jeleňov, napr.ample, ak je viacero hartov určených na spustenie rovnakého obrazu, môžu mať jednotlivé vstupné body. Aby sme to podporili, v konfigurácii špecifikujeme skutočné adresy vstupných bodov file sám.
Teraz môžeme definovať niektoré užitočné zaťaženia (zdroj ELF files alebo binárne bloby), ktoré budú umiestnené v určitých oblastiach v pamäti. Sekcia užitočného zaťaženia je definovaná kľúčovým slovom užitočné zaťaženie a potom množstvom jednotlivých deskriptorov užitočného zaťaženia. Každý náklad má názov (cesta k nemu file), majiteľ-hart a voliteľne 1 až 3 sekundárne jelene.
Okrem toho má užitočné zaťaženie režim privilégií, v ktorom sa spustí. Platné režimy privilégií sú PRV_M, PRV_S a PRV_U, kde sú definované ako:
- PRV_M Strojový režim
- Režim supervízora PRV_S
- PRV_U Užívateľský režim
V nasledujúcom example:
- test/zephyr.elf sa považuje za aplikáciu Zephyr, ktorá beží v U54_3 a očakáva sa, že sa spustí v režime privilégií PRV_M.
- test/u-boot-dtb.bin je zavádzacia aplikácia Das U-Boot a beží na U54_1, U54_2 a U54_4. Očakáva sa, že sa spustí v režime privilégií PRV_S.
Dôležité:
Výstup U-Boot vytvára ELF file, ale zvyčajne nepredpisuje príponu .elf. V tomto prípade sa použije binárny súbor vytvorený pomocou CONFIG_OF_SEPARATE, ktorý k binárnemu súboru U-Boot pripojí blob stromu zariadení.
Tu je example Konfigurácia užitočného zaťaženia file:
- test/zephyr.elf:
{exec-addr: '0xB0000000', vlastník-hart: u54_3, priv-mode: prv_m, skip-opensbi: true} - test/u-boot-dtb.bin:
{exec-addr: '0x80200000', vlastník-hart: u54_1, sekundárny-hart: u54_2, sekundárny-hart: u54_4,priv-mode: prv_s}
Dôležité:
Prípad je dôležitý len pre file názvy ciest, nie kľúčové slová. Napríklad u54_1 sa považuje za rovnaký ako U54_1 a exec-addr sa považuje za rovnaký ako EXEC-ADDR. Ak je prítomná prípona .elf alebo .bin, je potrebné ju zahrnúť do konfigurácie file.
- Pre aplikáciu z holého kovu, ktorá sa nechce zaoberať OpenSBI, možnosť skip-open, ak je pravdivá, spôsobí, že užitočné zaťaženie tohto srdca sa vyvolá skôr pomocou jednoduchého mret
ako volanie OpenSBI sbi_init(). To znamená, že srdce začne spúšťať holý kovový kód bez ohľadu na akékoľvek úvahy OpenSBI HSM. Všimnite si, že to tiež znamená, že srdce nemôže používať
volanie na spustenie funkcie OpenSBI. Možnosť skip-opens je voliteľná a predvolená je hodnota false. - Ak chcete povoliť kontextový teplý reštart iného kontextu, môžeme pridať možnosť povoliť reštart: teplý. Aby sme umožnili kontextový studený reštart celého systému, môžeme pridať možnosť allow-reboot: cold. V predvolenom nastavení, bez zadania allow-reboot, je kontextu povolené iba samotné teplé reštartovanie.
- Ku každému užitočnému zaťaženiu je tiež možné priradiť doplnkové údaje, naprample, DeviceTree Blob (DTB) file, uvedením pomocných údajov filenázov takto:
test/u-boot.bin: { exec-addr: '0x80200000', vlastník-hart: u54_1, sekundárny-hart: u54_2, sekundárny-hart: u54_3, sekundárny-hart: u54_4, priv-mode: prv_s, pomocné-údaje : test/pic64gx.dtb } - Tieto pomocné údaje budú zahrnuté do užitočného zaťaženia (umiestnené hneď za hlavným file v spustiteľnom súbore
priestor) a jeho adresa bude odovzdaná OpenSBI v poli next_arg1 (odovzdaná v registri $a1 do obrazu pri zavádzaní). - Ak chcete zabrániť tomu, aby HSS automaticky spustil kontext (napríklad, ak chceme namiesto toho delegovať kontrolu nad kontextom pomocou remoteProc), použite príznak skip-autoboot:
test/zephyr.elf: {exec-addr: '0xB0000000', vlastník-hart: u54_3, priv-mode: prv_m, skip-opensbi: true, skip-autoboot: true} - Nakoniec môžeme voliteľne prepísať názvy jednotlivých užitočných zaťažení pomocou možnosti názov-názov užitočného zaťaženia. Naprample:
test/u-boot.bin: { exec-addr: '0x80200000', vlastník-hart: u54_1, sekundárny-hart: u54_2, sekundárny-hart: u54_3, sekundárny-hart: u54_4, priv-mode: prv_s, pomocné-údaje : test/pic64gx.dtb, názov užitočného zaťaženia: 'u-boot' }
Všimnite si, že tvorcovia Yocto a Buildroot Linux zostavia, nakonfigurujú a spustia súbor hss-payload-
generátor podľa potreby na generovanie obrázkov aplikácie. Okrem toho súprava pic64gx-curiosity-kit-amp strojový cieľ v Yocto vygeneruje obrázok aplikácie pomocou nástroja hss-payload-generator, ktorý demonštruje AMP, pričom Linux beží na 3 hart a Zephyr beží na 1 harte.
História revízií
História revízií popisuje zmeny, ktoré boli implementované v dokumente. Zmeny sú uvedené podľa revízií, počnúc najaktuálnejšou publikáciou.
|
Revízia |
Dátum |
Popis |
| A | 07/2024 | Počiatočná revízia |
Informácie o mikročipe
Mikročip Webstránky
Microchip poskytuje online podporu prostredníctvom nášho webmiesto na www.microchip.com/. Toto webstránka sa používa na výrobu filea informácie ľahko dostupné zákazníkom. Časť dostupného obsahu zahŕňa:
- Podpora produktu – Technické listy a errata, aplikačné poznámky a sampprogramy, dizajnové zdroje, užívateľské príručky a dokumenty hardvérovej podpory, najnovšie verzie softvéru a archivovaný softvér
- Všeobecná technická podpora – Často kladené otázky (FAQ), požiadavky na technickú podporu, online diskusné skupiny, zoznam členov partnerského programu Microchip
- Obchod mikročipu – Sprievodcovia výberom produktov a objednávaním, najnovšie tlačové správy Microchip, zoznam seminárov a podujatí, zoznamy predajných kancelárií Microchip, distribútorov a zástupcov tovární
Služba oznamovania zmeny produktu
- Služba oznamovania zmien produktov spoločnosti Microchip pomáha zákazníkom udržiavať aktuálne informácie o produktoch spoločnosti Microchip. Predplatitelia dostanú e-mailové upozornenie vždy, keď sa vyskytnú zmeny, aktualizácie, revízie alebo chyby týkajúce sa konkrétnej skupiny produktov alebo vývojového nástroja, ktorý ich zaujíma.
- Ak sa chcete zaregistrovať, prejdite na www.microchip.com/pcn a postupujte podľa pokynov na registráciu.
Zákaznícka podpora
Používatelia produktov Microchip môžu získať pomoc prostredníctvom niekoľkých kanálov:
- Distribútor alebo zástupca
- Miestne obchodné zastúpenie
- Embedded Solutions Engineer (ESE)
- Technická podpora
Zákazníci by mali kontaktovať svojho distribútora, zástupcu alebo ESE so žiadosťou o podporu. Zákazníkom sú k dispozícii aj miestne obchodné zastúpenia. Zoznam predajných kancelárií a miest je súčasťou tohto dokumentu.
Technická podpora je dostupná prostredníctvom webmiesto na adrese: www.microchip.com/support.
Funkcia ochrany kódom zariadení Microchip
Všimnite si nasledujúce podrobnosti o funkcii ochrany kódu na produktoch Microchip:
- Produkty Microchip spĺňajú špecifikácie uvedené v ich konkrétnom údajovom liste Microchip.
- Spoločnosť Microchip verí, že jej rodina produktov je bezpečná, ak sa používa určeným spôsobom, v rámci prevádzkových špecifikácií a za normálnych podmienok.
- Microchip si cení a agresívne chráni svoje práva duševného vlastníctva. Pokusy o porušenie funkcií ochrany kódu produktov Microchip sú prísne zakázané a môžu porušovať zákon Digital Millennium Copyright Act.
- Ani Microchip, ani žiadny iný výrobca polovodičov nemôže zaručiť bezpečnosť svojho kódu. Ochrana kódom neznamená, že garantujeme, že výrobok je „nerozbitný“. Ochrana kódov sa neustále vyvíja. Microchip sa zaviazal neustále zlepšovať funkcie ochrany kódu našich produktov.
Právne upozornenie
Táto publikácia a informácie v nej uvedené môžu byť použité iba s produktmi Microchip, vrátane navrhovania, testovania a integrácie produktov Microchip s vašou aplikáciou. Použitie týchto informácií akýmkoľvek iným spôsobom porušuje tieto podmienky. Informácie týkajúce sa aplikácií zariadenia sú poskytované len pre vaše pohodlie a môžu byť nahradené aktualizáciami. Je vašou zodpovednosťou zabezpečiť, aby vaša aplikácia spĺňala vaše špecifikácie. Obráťte sa na miestne obchodné zastúpenie Microchip pre ďalšiu podporu alebo získajte ďalšiu podporu na www.microchip.com/en-us/support/design-help/client-support-services.
TIETO INFORMÁCIE POSKYTUJE SPOLOČNOSŤ MICROCHIP „TAK, AKO SÚ“. MICROCHIP NEPOSKYTUJE ŽIADNE PREHLÁSENIA ALEBO ZÁRUKY AKÉHOKOĽVEK DRUHU, ČI UŽ VÝSLOVNÉ ALEBO IMPLICITNÉ, PÍSOMNÉ ALEBO ÚSTNE, ZÁKONNÉ ALEBO INÉ, TÝKAJÚCE SA INFORMÁCIÍ VRÁTANEJ, ALE NIE VÝHRADNE, AKÝCHKOĽVEK IMPLIKOVANÝCH ZÁRUK, NEPORUŠOVANIA TN KONKRÉTNY ÚČEL ALEBO ZÁRUKY SÚVISIACE S JEHO STAVOM, KVALITOU ALEBO VÝKONOM.
V ŽIADNOM PRÍPADE NEBUDE MICROCHIP ZODPOVEDNÝ ZA AKÉKOĽVEK NEPRIAME, ŠPECIÁLNE, TRESTNÉ, NÁHODNÉ ALEBO NÁSLEDNÉ STRATY, ŠKODY, NÁKLADY ALEBO NÁKLADY AKÉHOKOĽVEK DRUHU SÚVISIACE S INFORMÁCIAMI ALEBO JEJ POUŽITÍM, BEZ OHĽADOM NA TOHTO SPÔSOBENIA, MOŽNOSŤ ALEBO ŠKODY SÚ PREDVÍDAJÚCE. CELKOVÁ ZODPOVEDNOSŤ SPOLOČNOSTI MICROCHIP ZA VŠETKY NÁROKY SÚVISIACE S INFORMÁCIAMI ALEBO JEJ POUŽÍVANÍM NEPREKÁŽE V PLNOM ROZSAHU POVOLENOM ZÁKONOM POČET POPLATKOV, KTORÉ STE ZA INFORMÁCIE ZAPLATILI PRIAMO SPOLOČNOSTI MICROCHIP.
Používanie zariadení Microchip v aplikáciách na podporu života a/alebo bezpečnostných aplikáciách je výlučne na riziko kupujúceho a kupujúci súhlasí s tým, že bude chrániť, odškodniť a chrániť spoločnosť Microchip pred všetkými škodami, nárokmi, žalobami alebo výdavkami vyplývajúcimi z takéhoto používania. Žiadne licencie sa neprenášajú, implicitne ani inak, na základe akýchkoľvek práv duševného vlastníctva Microchip, pokiaľ nie je uvedené inak.
Ochranné známky
Názov a logo mikročipu, logo Microchip, Adaptec, AVR, logo AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maxXTouch MediaLB, megaAVR, Microsemi, logo Microsemi, MOST, logo MOST, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, logo PIC32, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, Logo SST, SuperFlash, Symmetricom , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron a XMEGA sú registrované ochranné známky spoločnosti Microchip Technology Incorporated v USA a ďalších krajinách.
AgileSwitch, ClockWorks, The Embedded Control Solutions Company, EtherSync, Flashtec, Hyper Speed Control, HyperLight Load, Libero, motorová lavica, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, logo ProASIC Plus, Quiet-Wire, SmartFusion, SyncWorld , TimeCesium, TimeHub, TimePictra, TimeProvider a ZL sú registrované ochranné známky spoločnosti Microchip Technology Incorporated v USA
Potlačenie susedného kľúča, AKS, Analog-for-the-Digital Age, Akýkoľvek kondenzátor, AnyIn, AnyOut, Rozšírené prepínanie, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoCDEM Average, MatdsPI , DAM, ECAN, Espresso T1S, EtherGREEN, EyeOpen, GridTime, IdealBridge,
IGaT, In-Circuit Serial Programming, ICSP, INICnet, Intelligent Paralleling, IntelliMOS, Inter-Chip Connectivity, JitterBlocker, Knob-on-Display, MarginLink, maxCrypto, max.View, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, mSiC, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, Power MOS IV, Power MOS 7, PowerSilicon, PowerSilicon, , QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAM-ICE, Serial Quad I/O, jednoduchá mapa, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, Trusted Time, TSHARC, Turing, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect a ZENA sú ochranné známky spoločnosti Microchip Technology Incorporated v USA a ďalších krajinách.
- SQTP je servisná značka spoločnosti Microchip Technology Incorporated v USA
- Logo Adaptec, Frequency on Demand, Silicon Storage Technology a Symmcom sú registrované ochranné známky spoločnosti Microchip Technology Inc. v iných krajinách.
- GestIC je registrovaná ochranná známka spoločnosti Microchip Technology Germany II GmbH & Co. KG, dcérskej spoločnosti Microchip Technology Inc., v iných krajinách.
Všetky ostatné ochranné známky uvedené v tomto dokumente sú majetkom príslušných spoločností. © 2024, Microchip Technology Incorporated a jej dcérske spoločnosti. Všetky práva vyhradené.
- ISBN: 978-1-6683-4890-1
Systém manažérstva kvality
Informácie o systémoch riadenia kvality spoločnosti Microchip nájdete na stránke www.microchip.com/quality.
Celosvetový predaj a servis
|
AMERICAS |
ÁZIA/PACIFIK | ÁZIA/PACIFIK |
EURÓPA |
| korporátne Kancelária
2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Fax: 480-792-7277 Technická podpora: www.microchip.com/support Web Adresa: www.microchip.com Atlanta Duluth, GA Tel: 678-957-9614 Fax: 678-957-1455 Austin, TX Tel: 512-257-3370 Boston Westborough, MA Tel: 774-760-0087 Fax: 774-760-0088 Chicago Itasca, IL Tel: 630-285-0071 Fax: 630-285-0075 Dallas Addison, TX Tel: 972-818-7423 Fax: 972-818-2924 Detroit Novi, MI Tel: 248-848-4000 Houston, TX Tel: 281-894-5983 Indianapolis Noblesville, IN Tel: 317-773-8323 Fax: 317-773-5453 Tel: 317-536-2380 Los Angeles Mission Viejo, CA Tel: 949-462-9523 Fax: 949-462-9608 Tel: 951-273-7800 Raleigh, NC Tel: 919-844-7510 New York, NY Tel: 631-435-6000 San jose, CA Tel: 408-735-9110 Tel: 408-436-4270 Kanada – Toronto Tel: 905-695-1980 Fax: 905-695-2078 |
Austrália – Sydney
Tel: 61-2-9868-6733 Čína – Peking Tel: 86-10-8569-7000 Čína – Chengdu Tel: 86-28-8665-5511 Čína – Chongqing Tel: 86-23-8980-9588 Čína – Dongguan Tel: 86-769-8702-9880 Čína – Guangzhou Tel: 86-20-8755-8029 Čína – Hangzhou Tel: 86-571-8792-8115 Čína – Hong Kong SAR Tel: 852-2943-5100 Čína – Nanjing Tel: 86-25-8473-2460 Čína – Qingdao Tel: 86-532-8502-7355 Čína – Šanghaj Tel: 86-21-3326-8000 Čína – Shenyang Tel: 86-24-2334-2829 Čína – Shenzhen Tel: 86-755-8864-2200 Čína – Suzhou Tel: 86-186-6233-1526 Čína – Wuhan Tel: 86-27-5980-5300 Čína – Xian Tel: 86-29-8833-7252 Čína – Xiamen Tel: 86-592-2388138 Čína – Ču-chaj Tel: 86-756-3210040 |
India – Bangalore
Tel: 91-80-3090-4444 India – Naí Dillí Tel: 91-11-4160-8631 India – Pune Tel: 91-20-4121-0141 Japonsko – Osaka Tel: 81-6-6152-7160 Japonsko – Tokio Tel: 81-3-6880- 3770 Kórea – Daegu Tel: 82-53-744-4301 Kórea – Soul Tel: 82-2-554-7200 Malajzia – Kuala Lumpur Tel: 60-3-7651-7906 Malajzia – Penang Tel: 60-4-227-8870 Filipíny – Manila Tel: 63-2-634-9065 Singapur Tel: 65-6334-8870 Taiwan – Hsin Chu Tel: 886-3-577-8366 Taiwan – Kaohsiung Tel: 886-7-213-7830 Taiwan - Taipei Tel: 886-2-2508-8600 Thajsko – Bangkok Tel: 66-2-694-1351 Vietnam – Ho Či Min Tel: 84-28-5448-2100 |
Rakúsko – Wels
Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 Dánsko – Kodaň Tel: 45-4485-5910 Fax: 45-4485-2829 Fínsko – Espoo Tel: 358-9-4520-820 Francúzsko – Paríž Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Nemecko – garching Tel: 49-8931-9700 Nemecko – Haan Tel: 49-2129-3766400 Nemecko – Heilbronn Tel: 49-7131-72400 Nemecko – Karlsruhe Tel: 49-721-625370 Nemecko – Mníchov Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Nemecko – Rosenheim Tel: 49-8031-354-560 Izrael – Hod Hasharon Tel: 972-9-775-5100 Taliansko – Miláno Tel: 39-0331-742611 Fax: 39-0331-466781 Taliansko – Padova Tel: 39-049-7625286 Holandsko – Drunen Tel: 31-416-690399 Fax: 31-416-690340 Nórsko – Trondheim Tel: 47-72884388 Poľsko – Varšava Tel: 48-22-3325737 Rumunsko – Bukurešť Tel: 40-21-407-87-50 Španielsko – Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 Švédsko – Göteborg Tel: 46-31-704-60-40 Švédsko – Štokholm Tel: 46-8-5090-4654 Spojené kráľovstvo – Wokingham Tel: 44-118-921-5800 Fax: 44-118-921-5820 |
© 2024 Microchip Technology Inc. a jej dcérske spoločnosti.
Dokumenty / zdroje
![]() |
Štvorjadrový mikroprocesor MICROCHIP PIC64GX 64-bitový RISC-V [pdf] Používateľská príručka PIC64GX, PIC64GX 64-bitový štvorjadrový mikroprocesor RISC-V, 64-bitový štvorjadrový mikroprocesor RISC-V, štvorjadrový mikroprocesor RISC-V, štvorjadrový mikroprocesor, mikroprocesor |





