Warning
This page is located in archive.

Vytvoření projektu

V této sekci naleznete postup vytvoření projektu pro procesory řady ST v programu STM32CubeIDE, kompilaci a nahrání programu blikáme s LED

STM32CubeIDE

Při každém spuštění bude vyžadováno zvolení pracovního adresáře (workspace), kde se bude Vaše projekty nacházet. Můžete využít výchozí cestu do domovského adresáře nebo jakoukoliv jinou cestu. Na následujícím obrázku je znázornění vytvoření pracovního adresáře ve výchozím umístění.

Založení projektu

Nový projekt založíme přes menu File → New → STM32 project, kde následně vybereme procesor se kterým chceme pracovat. Případně je možnost si zvolit vlastnosti procesoru na základě našich požadavků na periferie, výkon apod. V rámci cvičení budeme používat jeden ze dvou vývojových kitů Nucleo s procesory STM32F401RE nebo STM32F446RE a tomu odpovídají vývojové desky NUCLEO-F401RE nebo NUCLEO-F446RE, které naleznete v záložce Board Selector.

Pro výukové účely a pochopení funkcí, periferií apod. doporučujeme vybrat pouze mikrokontrolér nikoliv desku, viz. obrázek níže.

Následuje pojmenování projektu a volby programovacího jazyka. Nám bude stačit jazyk C, ale kdo bude chtít může zvolit i C++, obojí bude fungovat dobře.

V posledním okně, pokud zde nevybereme Finish, si můžete vybrat z některých FW balíčků. Pokud existuje novější knihovna k dané řadě procesoru nebo na počítači ještě není stažená, bude následně stažen balík cca 700 MB s knihovnami a příklady.

První program

Nalevo se nachází stromová struktura souborů, kde hlavičkové soubory jsou ve složce Inc a zdrojové soubory ve složce Src. Již po vytvoření projektu je zde několik souborů, které popisují daný procesor, nastavují periferie, řeší obsluhu přerušení apod. Pro první program bude nejdůležitejší soubor main.c, který obsahuje funkce a metody jak pro inicializaci procesoru, tak samotnou nekonečnou smyčku while(1).

Při použití STM32CubeIDE se zde nachází několik řádků s komentáři, které je dobré zde ponechat (BEGIN a END OF USER CODE), protože když by se projekt přenastavoval, tak vše, co je uvnitř USER CODE bude zachováno a ostatní bude přepsáno novou konfigurací.

Základní program, který bude blikat s LEDkou může vypadat následovně při zachování výchozího nastavení

// vlozit makra na zacatek main.c
#define BITSET(reg, bit)    ((reg) |= (1U << (bit)))
#define BITCLEAR(reg, bit)  ((reg) &= (~(1U << (bit))))
#define BITTOGGLE(reg, bit) ((reg) ^= (1U << (bit)))
 
// inicializace LED LD2 na pinu PA5
void initLD2(void){
  BITSET(RCC->AHB1ENR, 0);	// povoleni hodin pro GPIOA
  BITSET(GPIOA->MODER, 10);
  BITCLEAR(GPIOA->MODER, 11);
}
 
int main(void){
  initLD2();
  while (1){
    // prepnuti stavu
    BITTOGGLE(GPIOA->ODR, 5);
 
    // smycka, co jen inkrementuje promennou, tj. ceka
    for(int i = 0; i < 500000; i++);
  }
}

Kompilace a spuštění projektu

Pokud nikde v projektu “nesvítí” chyba (červený kolečko), můžeme zkusit přeložit projekt buď přes menu Project → Build all (případně Build Project) nebo klávesovou zkratkou CTRL + B.

Pokud kompilace proběhla úspěšně, můžeme zkompilovaný projekt nahrát do mikrokontroléru a odzkoušet, jestli vše chodí podle našich představ přes menu Run → Debug nebo klávesu F5. Pokud chceme jen nahrání a spuštění projektu, tak zvolíme Run → Run.

Následně se vše nahraje do mikroprocesoru a po spuštění (při režimu Debug) by se měla rozblikat LEDka.

courses/b2m37mam/tutorials/stm32ide/first_project.txt · Last modified: 2023/06/05 16:02 by nentvond