arm tanfolyam n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
ARM tanfolyam PowerPoint Presentation
Download Presentation
ARM tanfolyam

Loading in 2 Seconds...

play fullscreen
1 / 30

ARM tanfolyam - PowerPoint PPT Presentation


  • 95 Views
  • Uploaded on

ARM tanfolyam. 2. előadás. Fejlesztő környezet. - Codesourcery G++ lite: Letölthető a mentorgraphics honlapjáról (ARM-EABI változat) Eclipse CDT GNU-ARM Eclipse plugin. ARM-hoz tartozó fájlok. A gyártó honlapjáról letölthető,

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'ARM tanfolyam' - hilda


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
arm tanfolyam

ARM tanfolyam

2. előadás

fejleszt k rnyezet
Fejlesztő környezet

- Codesourcery G++ lite:

Letölthető a mentorgraphics honlapjáról

(ARM-EABI változat)

  • Eclipse CDT
  • GNU-ARM Eclipse plugin
arm hoz tartoz f jlok
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
telep t si sorrend
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 )
j project
Ú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 legyenpipa
  • Majd Finish
project konfigol sa
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
be ll t sok
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
slide9
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
sz ks ges f jlok sszegy jt se
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
mintaprojectek
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
stm32f0xx conf h
stm32f0xx_conf.h
  • Csak azokat a fájlokat kapcsoljuk be amit használunk, mert a beincluedolt fájlokat befordítja
  • Save!
  • Majd build!
hib k
Hibák
  • Assert_param-> be kell incluedolni a stm32f0xx_conf.h fájlt a periféria drivereknél a .c-be
  • Javítás:
hib k folytat s
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
hibajav t s ut n
Hibajavítás után…
  • Hibátlan fordítás
  • Nekiállhatunk értelmeset kódolni…
led villogtat
LED villogtató
  • Csináljunk egyszerű hello world progit
  • Kell hozzá:
    • Késleltetés
    • LED villogtatás
szoftveres k sleltet s
Szoftveres késleltetés
  • Fontos a volatile kifejezés
  • Ezt írjuk a main() elé
gpio init
GPIO init
  • A panelon a PC8-as lábon lévő LED-et akarjuk villogtatni
  • Órajelet adni a perifériának->ADATLAP
let lt s
Letöltés
  • STM32 ST-LINK Utility
  • File open-> \Project\release\.... .hex
  • OK->Program->
  • Majd a boardon reset gomb
  • Örül!
k vetkez project pwm
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
main kieg sz t se
main() kiegészítése
  • Build majd Press play on tape
it kezel s
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!
it handler
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
a main kieg sz t se
A main() kiegészítése
  • Globális változók (volatile!)
hardfault handler
Hardfault handler
  • Mint a kékhalál a PC-nél.
  • Célszerű belerakni egy LED bekapcsolását
a mai alkalom ut n tudunk
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 :)