Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
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
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!
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.