Verze modulu runtime aplikace, sysroots a beta rozhraní API
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.
Verze sady Azure Sphere SDK může obsahovat jak produkční rozhraní API, tak rozhraní API beta verze. Produkční rozhraní API se považují za dlouhodobá stabilní (LTS), zatímco rozhraní API beta verze jsou stále ve vývoji a můžou se změnit nebo je z pozdější verze odebrat. Ve většině případů jsou nová rozhraní API označená jako beta v první verzi a v následné verzi se přesunou do produkčního prostředí. Beta rozhraní API poskytují přednostní přístup k novým funkcím a umožňují vytváření prototypů a zpětné vazby před dokončením. Aplikace, které používají rozhraní API beta verze, budou obecně vyžadovat úpravy po budoucích verzích operačního systému Azure a sady SDK, aby fungovaly správně.
Funkce beta verze jsou v dokumentaci označené funkcí BETA. Každá aplikace vysoké úrovně Azure Sphere určuje, jestli cílí pouze na produkční rozhraní API, nebo na produkční i beta rozhraní API.
Sady cílových rozhraní API, ARV a sysroots
Cílová sada rozhraní API označuje, která rozhraní API aplikace používá: buď pouze produkční rozhraní API, nebo pouze produkční a beta rozhraní API. Hodnota sady cílových rozhraní API je celé číslo, které představuje verzi modulu runtime aplikace (ARV) nebo ARV a řetězec, který identifikuje verzi beta rozhraní API. Samotná číselná hodnota určuje pouze produkční rozhraní API v ARV, zatímco hodnota +BetaNumber určuje produkční a beta rozhraní API v konkrétní verzi. Například ARV 8 označuje verzi 21.01 a "8+Beta2101" určuje produkční a beta rozhraní API ve verzi 20.01. Budoucí verze budou přidávat další arvs.
Sada Azure Sphere SDK implementuje více sad rozhraní API pomocí sysroots. Sysroot určuje knihovny, soubory hlaviček a nástroje, které slouží ke kompilaci a propojení aplikace, která cílí na konkrétní sadu rozhraní API. Sysroots jsou nainstalovány v adresáři sady Microsoft Azure Sphere SDK v podsložce sysroots.
Nastavení nebo aktualizace sady cílových rozhraní API pro aplikaci vysoké úrovně
Pokud aplikaci založíte na ukázce Azure Sphere, nastaví se ve výchozím nastavení cílové rozhraní API jako sada rozhraní API, kterou ukázka používá. Pokud ukázka používá pouze produkční rozhraní API, cílová sada rozhraní API se nastaví na aktuální hodnotu ARV. Pokud ukázka používá pro aktuální verzi produkční i beta rozhraní API, cílová sada rozhraní API bude "value+BetaNumber", aby zahrnovala rozhraní API beta verze.
Pokud aplikaci nezaložíte na ukázce, budete muset v pokynech k sestavení pro aplikaci nastavit cílové rozhraní API.
Pokud jste už vytvořili aplikaci, možná budete muset změnit cílovou sadu rozhraní API, pokud znovu sestavíte aplikaci pro novou verzi operačního systému. Pokud aplikace používá rozhraní API beta verze, měli byste ji aktualizovat, když se změní možnosti sady cílových rozhraní API, které se obvykle vyskytují v každé verzi funkce. Rozhraní API beta verze se můžou přesunout přímo ze stavu Beta do produkčního prostředí, což vede k nové ARV nebo se můžou změnit a zůstat v beta verzi. Pokud aktualizujete aplikaci, která používá beta rozhraní API k cílení na novější cílovou sadu rozhraní API, může dojít k chybám nebo upozorněním na odebraná nebo vyřazená rozhraní API.
Pokaždé, když změníte cílovou sadu rozhraní API, musíte před sestavením aplikace odstranit soubor CMakeCache.txt. Tento soubor je uložený v adresáři out\ARM-Debug nebo out\ARM-Release pro váš projekt.
Určení sady cílových rozhraní API
Nastavte cílové rozhraní API v CMakePresets.json:
Ke konfiguraci cílové sady rozhraní API použijte AZURE_SPHERE_TARGET_API_SET. Příklad:
"AZURE_SPHERE_TARGET_API_SET": "5"
nebo"AZURE_SPHERE_TARGET_API_SET": "5+Beta2004"
Pokud vaše aplikace cílí na nejnovější sadu rozhraní API, můžete tuto proměnnou nastavit na "latest-lts", pokud ještě není. Pokud vaše aplikace cílí na nejnovější sadu beta rozhraní API, můžete tuto proměnnou nastavit na "latest-beta", pokud ještě není. Pokud ale vaše aplikace cílí na starší sadu rozhraní API, musíte tuto proměnnou nastavit tak, aby odpovídala konkrétní hodnotě, kterou používá.
Pokud chcete zadat externí AZURE_SPHERE_TARGET_API_SET proměnnou v projektu sady Visual Studio, nastavte v souboru CMakeSettings.json následující nastavení v konfiguraci ARM-Debug i ARM-Release:
"variables": [ { "name": "AZURE_SPHERE_TARGET_API_SET", "value": "latest-beta" } ]
Pokud chcete zadat externí AZURE_SPHERE_TARGET_API_SET proměnnou v projektu editoru Visual Studio Code, nastavte v souboru .vscode/settings.json následující:
"cmake.configureSettings": { "AZURE_SPHERE_TARGET_API_SET": "latest-lts" },
Pokud chcete zadat externí AZURE_SPHERE_TARGET_API_SET proměnnou na příkazovém řádku, při vyvolání CMake zahrňte parametr:
-DAZURE_SPHERE_TARGET_API_SET="latest-lts"
Nahraďte "latest-lts" za "latest-beta" nebo konkrétní starší hodnotu, například "4" nebo "5+Beta2004", jak je vysvětleno výše.
Cílové sady rozhraní API a kompatibilita operačního systému
Kompatibilita aplikace s operačním systémem Azure Sphere závisí na cílové sadě rozhraní API, se kterou byla aplikace vytvořena, a na nejnovější verzi ARV, kterou podporuje verze operačního systému. Aplikace nižší úrovně nebo operační systém používá starší ARV (který má nižší číslo) a aplikace vyšší úrovně nebo operační systém používá novější ARV (což má vyšší číslo). Následující části popisují, co očekávat v každém možném scénáři.
Aplikace nižší úrovně s operačním systémem vyšší úrovně
Existující image nižší úrovně, které používají pouze produkční rozhraní API, se podporují ve verzích operačního systému Azure Sphere na vyšší úrovni. Například aplikace vytvořená pomocí cílové sady API Set 1 se úspěšně spustí v operačním systému Azure Sphere, který podporuje ARV 2. Vaše stávající nasazené aplikace proto budou i nadále fungovat správně po aktualizacích cloudového operačního systému. Do operačního systému vyšší úrovně můžete nasadit zkušební nebo cloudové nasazení imagí pouze pro produkční prostředí bez chyby.
Image nižší úrovně, které používají rozhraní API beta verze, nejsou podporovány a nemusí fungovat podle návrhu ve verzích operačního systému Azure Sphere na vyšší úrovni. Například aplikace vytvořená s cílovou sadou rozhraní API 1+Beta1902 se nemusí podařit spustit v operačním systému Azure Sphere, který má ARV 2. Pokusy o zkušební načtení takové image vrátí chybu, pokud nepoužijete --force
příznak v příkazu azsphere device sideload deploy . Podobně příkaz azsphere image add vyžaduje --force
k nahrání takového obrázku příznak. Žádné aktuální kontroly následně nezabrání nasazení dříve nahrané image nižší úrovně, která používá rozhraní API beta verze společně s operačním systémem vyšší úrovně, který už tato beta rozhraní API nepodporuje.
Aplikace na vyšší úrovni s operačním systémem nižší úrovně
Aplikace na vyšší úrovni nelze nasadit na nižší verze operačního systému Azure Sphere bez ohledu na to, jestli používají rozhraní API beta verze. Pokusy o zkušební načtení takové image selžou s chybou. Pokusy o nasazení přes vzduch nejsou v současné době možné, protože sada SDK na vyšší úrovni a operační systém se uvolní současně.