Sdílet prostřednictvím


Použití definic hardwaru

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.

Toto téma popisuje, jak používat definice hardwaru v aplikaci vysoké úrovně. Podrobnější informace o definicích hardwaru najdete v tématu Definice hardwaru, včetně postupu vytvoření vlastních definičních souborů hardwaru.

Poznámka:

Adresář obsahující definice hardwaru JSON obsahuje také podadresáři inc/hw pro ekvivalentní definice souboru hlaviček.

Použití definice hardwaru ze sady SDK

Adresář HardwareDefinitions v sadě Azure Sphere SDK obsahuje definice pro běžné desky Azure Sphere a čipy, které používají. Tento adresář je %ProgramFiles(x86)%\Microsoft Azure Sphere SDK\HardwareDefinitions ve Windows a /opt/azurespheresdk/HardwareDefinitions v Linuxu.

  1. V CMakelists.txt vyhledejte funkci azsphere_target_hardware_definition a nastavte TARGET_DEFINITION parametr na soubor JSON definice hardwaru pro cílovou desku. Následující příklad ukazuje, jak nastavit TARGET_DEFINITION parametr, pokud vaše aplikace používá referenční vývojové desky MT3620 (RDB):

    azsphere_target_hardware_definition(${PROJECT_NAME} TARGET_DEFINITION "mt3620_rdb.json")

  2. V main.c zahrňte odpovídající soubor hlavičky definice hardwaru pro cílovou desku:

    #include  "hw/mt3620_rdb.h"
    
  3. Informace o identifikátoru a typu periferních zařízení používaných ve vaší aplikaci najdete v hlavičce nebo souboru JSON. Odpovídajícím způsobem vytvořte nebo upravte kód aplikace.

    Například aplikace, která cílí na referenční vývojové desky MT3620 (RDB) používá indikátor LED na desce. Konstanta použitá k identifikaci indikátoru LED je definována v souboru hlaviček mt3620_rdb.h následujícím způsobem:

    // LED 1 Red channel uses GPIO8.
    #define MT3620_RDB_LED1_RED MT3620_GPIO8
    

    Následující řádek inicializuje INDIKÁTOR LED pomocí informací uvedených v definici hardwaru.

    int fd = GPIO_OpenAsOutput(MT3620_RDB_LED1_RED, GPIO_OutputMode_PushPull, GPIO_Value_High);
    
  4. Aktualizujte manifest aplikace tak, aby umožňoval periferní zařízení, která aplikace právě používá:

    "Capabilities": {  "Gpio": [ "MT3620_RDB_LED1_RED" ]},
    
  5. Zkompilujte a zabalte aplikaci.

Použití definice hardwaru, která není nainstalovaná se sadou SDK

  1. V CMakelists.txt vyhledejte azsphere_target_hardware_definition funkci .

  2. TARGET_DIRECTORY Nastavte parametr s relativní nebo absolutní cestou nebo cestami k adresáři nebo adresářům obsahujícím soubory definic hardwaru, které chcete použít.

  3. TARGET_DEFINITION Nastavte parametr na název souboru JSON definice hardwaru. Proces sestavení vyhledá tento soubor a všechny soubory, které importuje, v cílových adresářích v uvedeném pořadí a pak v samotné sadě SDK.

    azsphere_target_hardware_definition(${PROJECT_NAME} TARGET_DIRECTORY "<path>/my_app/contoso_hardware_definitions" TARGET_DEFINITION "contoso_board.json")

    Zadejte každý cílový adresář do uvozovek a oddělte názvy adresářů mezerami. V příkladu <cesta> představuje cestu ke složce my_app.

  4. V main.c zahrnují soubor hlavičky definice hardwaru pro cílovou desku. Proces sestavení vyhledá tento soubor a soubory, které obsahuje, v podadresáři "inc" cílových adresářů v uvedeném pořadí a pak v samotné sadě SDK. Proto následující konvence najde contoso_board.h v podadresáři inc/hw cílových adresářů:

    #include   "hw/contoso_board.h"
    
  5. Informace o identifikátoru a typu periferních zařízení používaných ve vaší aplikaci najdete v hlavičce nebo souboru JSON. Odpovídajícím způsobem vytvořte nebo upravte kód aplikace.

    int fd = GPIO_OpenAsOutput(CONTOSO_BOARD_LED_RED, GPIO_OutputMode_PushPull, GPIO_Value_High);
    
  6. Aktualizujte manifest aplikace (app_manifest.json), aby bylo možné povolit periferní zařízení, která aplikace teď používá:

    "Capabilities": {  "Gpio": [ "CONTOSO_BOARD_LED_RED" ]},
    
  7. Zkompilujte a zabalte aplikaci.