Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

ARM tanfolyam 2. előadás.

Hasonló előadás


Az előadások a következő témára: "ARM tanfolyam 2. előadás."— Előadás másolata:

1 ARM tanfolyam 2. előadás

2 Fejlesztő környezet - Codesourcery G++ lite:
Letölthető a mentorgraphics honlapjáról (ARM-EABI változat) Eclipse CDT GNU-ARM Eclipse plugin

3 ARM-hoz tartozó fájlok
A gyártó honlapjáról letölthető, Általában standard peripherials library néven fut, és .zip fájlban van Továbbá az esetleges devboardhoz tartozó fájlok, driverek, programozó szoftverek

4 Telepítési sorrend Codesourcery G++ lite telepítése a C:\ARM\Codesourcery mappába Eclipse bemásolása a C:\ARM\eclipse mappába Az eclipse indítása után: Help->Install New Software->Add és a .zip fájt megadni (GNU-ARM plugin) (next-next-ok :D )

5 Új project File->New->C project->ARM Cross Target application és kiválasztani hogy Sourcery G++ lite Utána a köv. oldalon csak a Release mellett legyen pipa Majd Finish

6 Project konfigolása Ezután CMSIS mappát létrehozni és telepakolni fájlokkal DE: Most egszerűbb, mert előre kiadtam egy üres projectet

7 Beállítások A Project Explorerben a project nevén jobbklikk->Properties… A feljövő ablakban baloldalt a C/C++ build->Settings menüpontot megnyitni

8

9 Target processor->Cortex-M0
…GCC C Compiler->Directories: hozzáadni a projecten belül a CMSIS mappát …GCC C Compiler->Miscellanous->Language standard: ISO C99 with GNU extensions Majd a …GCC C linker-> stm32_flash.ld

10 Szükséges fájlok összegyűjtése
A kontrollerhez letöltött libraryból fájlokat kell összeválogatni STM32F0xx_StdPeriph_Lib_V1.0.0\Libraries\CMSIS\Device\ST\STM32F0xx\Include\ \Libraries\CMSIS\Device\ST\STM32F0xx\Source\Templates\TrueSTUDIO\ .s ASM file ->A kiterjesztést .S-re átírni (nagy .S) Libraries\CMSIS\Device\ST\STM32F0xx\Source\Templates\ ebből a system_stm32f0xx.c \Libraries\CMSIS\Include\ összes .H \Libraries\STM32F0xx_StdPeriph_Driver\ ebből az \inc és \src mappából most az alábbiakat ….rcc.c és rcc.h ->órajel modul driver ….gpio.c és gpio.h -> portlábakhoz állítgató cuccok, meg konfig cuccok ….tim.c és tim.h -> timer Linkerscript: …\Project\STM32F0xx_StdPeriph_Templates\TrueSTUDIO\Project\stm32_flash.ld És a konfigfájl, ez lehet innen: …\Project\STM32F0xx_StdPeriph_Examples\GPIO\IOToggle\stm32f0xx_conf.h

11 Mintaprojectek Tök jól használható mintakódok vannak a .zip fájlban a \Project\STM32F0xx_StdPeriph_Examples mappában. Perifériánként csoportosítva a mintakódokat. A projecteket sajnos nem lehet csak úgy megnyitni, de ugyanígy összegyűjthetőek mint visszább írtam

12 stm32f0xx_conf.h Csak azokat a fájlokat kapcsoljuk be amit használunk, mert a beincluedolt fájlokat befordítja Save! Majd build!

13 Hibák Assert_param-> be kell incluedolni a stm32f0xx_conf.h fájlt a periféria drivereknél a .c-be Javítás:

14 Hibák, folytatás… A startup.S-ben ki kell kommentelni a bl __libc_init_array sort -->nem lesz malloc :( de megvagyunk nélküle, meg elvileg kijavítható hiba

15 Hibajavítás után… Hibátlan fordítás Nekiállhatunk értelmeset kódolni…

16 LED villogtató Csináljunk egyszerű hello world progit Kell hozzá:
Késleltetés LED villogtatás

17 Szoftveres késleltetés
Fontos a volatile kifejezés Ezt írjuk a main() elé

18 GPIO init A panelon a PC8-as lábon lévő LED-et akarjuk villogtatni
Órajelet adni a perifériának->ADATLAP

19 Egészítsük ki a main-t! Save + Build

20 Letöltés STM32 ST-LINK Utility
File open-> \Project\release\.... .hex OK->Program-> Majd a boardon reset gomb Örül!

21 Következő project: PWM
PC9 LED-en ->adatlap ->TIM3_CH4 Alteratív funkcióba átkapcsolni TIM3-nak órajelet adni Időalapot beállítani OutputCompare modult beállítani Tetszőlegesen kitöltési tényezőt állítani

22 Timer Init

23 main() kiegészítése Build majd Press play on tape

24 IT kezelés Mi lenne ha, nem soft módon késleltetnénk, hanem IT-vel?
Már jár egy timerünk, 100Hz-el Írjunk egy IT rutint, ami a kék LED-et kapcsolgatja!

25 IT kezelő konfigolása

26 IT handler Létrehozni az IT kezelő fgv-t, a fgv nevét a startup.S fájlból lehet kihámozni A flaget nekünk kell törölni

27 A main() kiegészítése Globális változók (volatile!)

28 Hardfault handler Mint a kékhalál a PC-nél.
Célszerű belerakni egy LED bekapcsolását

29 A mai alkalom után tudunk…
GPIO-t kezelni Timer-t elindítani, OC modult használni IT-t bekapcsolni, használni Szabad otthon kísérletezni :)

30 Köszönöm a figyelmet!


Letölteni ppt "ARM tanfolyam 2. előadás."

Hasonló előadás


Google Hirdetések