Komunikace s aplikací vysoké úrovně
Důležité
Toto je dokumentace k Azure Sphere (starší verze). Azure Sphere (starší verze) se vyřazuje 27. září 2027 a uživatelé musí do této doby migrovat do Azure Sphere (integrované). K zobrazení dokumentace k Azure Sphere (integrované) použijte selektor verzí umístěný nad obsahem.
Aplikace podporující v reálném čase (RTApps) komunikují s aplikacemi vysoké úrovně prostřednictvím vyrovnávací paměti, která je namapovaná na sdílenou oblast paměti.
Ukázky IntercoreComms ukazují, jak RTApps může komunikovat s aplikacemi vysoké úrovně. Jako výchozí bod pro vývoj vlastního komunikačního kódu RTApp použijte ukázku IntercoreComms_RTApp_MT3620_BareMetal. Informace o kódu požadovaném v aplikaci vysoké úrovně najdete v tématu Komunikace s aplikací podporující v reálném čase.
Důležité
Pokud potřebujete informace o registraci adres a dalších podrobnostech specifických pro hardware, požádejte o e-mail Azure.Sphere@avnet.com"MT3620 M4 Programmer's Guide" (Příručka programátora MT3620 M4).
Operace
Z hlediska aplikace RTApp zahrnuje komunikace s aplikací vysoké úrovně následující základní operace:
- Čtení informací o nastavení z poštovní schránky, které sdílí s jádrem vysoké úrovně v MT3620
- Čtení a zápis dat do sdílené paměti
Inicializace velikostí vyrovnávací paměti a ukazatelů
Aplikace RTApp přijímá informace o vyrovnávací paměti okruhu prostřednictvím tří zpráv v poštovní schránce, které sdílí jádra na vysoké úrovni a v reálném čase. Každá zpráva obsahuje příkaz a data. První dvě zprávy poskytují základní adresy vyrovnávací paměti pro čtení a zápis, které budou aplikace používat ke komunikaci; třetí zpráva indikuje, že je dokončen přenos informací o nastavení pro vyrovnávací paměti.
Hodnota příkazu | Data |
---|---|
0xba5e0001 | Popisovač vyrovnávací paměti pro odchozí (zápis) pro RTApp |
0xba5e0002 | Popisovač vyrovnávací paměti pro příchozí (čtení) pro RTApp |
0xba5e0003 | Konec instalace |
RtApp vypočítá velikost vyrovnávacích pamětí pro čtení a zápis a nastaví ukazatele na počáteční pozici každé vyrovnávací paměti na základě dat v popisovačích vyrovnávací paměti.
Další podrobnosti o používání poštovní schránky najdete v ukázce IntercoreComms_RTApp_MT3620_BareMetal.
Čtení z vyrovnávacích pamětí a zápis do vyrovnávacích pamětí
Po inicializaci může aplikace RTApp číst a zapisovat do vyrovnávacích pamětí. Vzhledem k tomu, že komunikace je implementována s kruhovou vyrovnávací pamětí, může čtení i zápisy obtéknout kolem začátku vyrovnávací paměti.
Zprávy zapsané do vyrovnávací paměti nebo jejich čtení mají následující strukturu:
Záhlaví zprávy | Obsah zprávy | ||||||
---|---|---|---|---|---|---|---|
|
|
První pole záhlaví zprávy (16 bajtů) obsahuje ID komponenty aplikace vysoké úrovně.
Pokud RTApp iniciuje komunikaci s aplikací vysoké úrovně, ujistěte se, že řazení bajtů v každém ze 3 segmentů ID komponenty je malé-endian (nejméně významné bajty jako první). Pořadí bajtů ve zbývajících dvou segmentech musí být big-endian.
Pokud RTApp reaguje na zprávu z aplikace vysoké úrovně, stačí zkopírovat ID komponenty ve zdrojové zprávě do hlavičky zprávy odpovědi.
Druhé pole záhlaví zprávy (4 bajty) je aktuálně rezervované a musí obsahovat 0s.
Záhlaví zprávy je vždy zarovnané na hranici 16 bajtů.
Obsah zprávy v současné době může mít velikost maximálně 1 kB.
Po každé operaci čtení nebo zápisu do vyrovnávací paměti aplikace RTApp použije sdílenou poštovní schránku k upozornění aplikace vysoké úrovně, že přijala nebo přenesla zprávu.
Nastavení manifestu aplikace
Manifesty aplikace pro RTApp i aplikaci vysoké úrovně musí obsahovat ID komponent aplikací, se kterými komunikují. Pokud chcete toto nastavení nakonfigurovat, přidejte AllowedApplicationConnections
do manifestu aplikace funkci a pak do této funkce přidejte ID jednotlivých komponent. Manifest aplikace Azure Sphere obsahuje další podrobnosti. Tady je výňatek z manifestu aplikace, který konfiguruje rtApp pro komunikaci s jednou jinou aplikací.
"AllowedApplicationConnections": [ "25025d2c-66da-4448-bae1-ac26fcdd3627" ]
Partnerské aplikace
Když načtete aplikaci do zařízení Azure Sphere, nástroje pro nasazení Azure Sphere ve výchozím nastavení odstraní všechny existující aplikace. Abyste tomu zabránili při vývoji aplikací, které vzájemně komunikují, musíte aplikace označit jako partnery. Když nasadíte některou z aplikací, její partneři se neodstraní. Podrobnosti najdete v tématu Označení aplikací jako partnerů .