Minulla on STM32-hakukortti ja haluaisin pystyä ohjelmoimaan sen Linuxille.
Mikä on helpoin tapa tehdä tämä?
Minulla on STM32-hakukortti ja haluaisin pystyä ohjelmoimaan sen Linuxille.
Mikä on helpoin tapa tehdä tämä?
Helppo tapa ohjelmoida ja virittää STM32 Discovery -taulu (tai mikä tahansa STM32 käyttämällä ST-Link-ohjelmoijaa) on käyttää 'stlink' -projektia https://github.com/texane/stlink (vaikka OpenOCD näyttää myös suositulta)
ST Nucleo -taulut näkyvät myös USB-flash-laitteena, joten älä edes tarvitse stlink
-toimintoa - kopioi tiedosto vain niihin.
On joitain hyviä sivuja STM32-haun kehittämiseen Linuxissa, kuten http://gpio.kaltpost.de/?page_id=131 ja http: //torrentula.to.funpic.de/2012/03/22/setting-up-the-stm32f4-arm-development-toolchain/ ja http://jethomson.wordpress.com/2011/ 11/17 / aloittaminen-stm32f4discovery-in-linuxilla /
Viimeinen linkki oli kuitenkin mielestäni hyödyllisin. Se näyttää, miten ST: n STM32-projektit rakennetaan sellaisenaan - Ainoa muutos on lisätä Makefile, joka näyttää täydelliseltä ratkaisulta.
Ubuntun uusimmissa versioissa on asennettava paketti, joka sisältää ARM-kääntäjä:
sudo apt-get install gcc-arm-none-eabi
Huomaa, että kaikki prosessorit ovat hieman erilaisia. STM32F0..4 tarvitsee kaikki erilaisia kääntäjän lippuja, ja linkkikomentosarja on kullekin hieman erilainen (tosin vain muutetun RAM- ja Flash-koon takia).
Muokkaa: jos haluat aloittaa todella nopeasti voit myös katsoa http://www.espruino.com. Se on JavaScripti-tulkki, joka toimii itse STM32: lla, joten kun olet asentanut 'stlink'in, jotta voit vilkkua taululle, voit ladata kuvan tältä sivustolta, salata sen ja muodostaa yhteyden sitten päätelaitteeseen ja aloita ohjelmointi.
Jos pidät tekstieditorista ja Makefileistä mieluummin kuin käyttöliittymää, voit tehdä seuraavaa:
Hanki projekti taululle. Joko käytä
Koodaa tekstieditorissa ja käytä komentorivityökaluja. Tämä opetusohjelma tarjoaa paljon vinkkejä.
Nauti
Eclipse, GCC ja OpenOCD on yksi työkaluketju. EMCU-IT suosittelee sitä, ja täällä on lisätietoja. Nämä sivut suosittelevat myös sellaisen RTOS: n käyttöä kuin FreeRTOS.org, mutta se on sinun tehtäväsi.
Ja apua STM32-esimerkkien kokoamiseen Linuxissa siirry tänne. Tämä linkki viittaa esimerkkitiedostoon, joka voidaan kutsua
git-kloonilla git: //github.com/snowcap-electronics/stm32-examples.gitcd stm32-esimerkitwget http: // www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32_f105-07_f2xx_usb-host-device_lib.zipunzip stm32_f105-07_f2xx_usb-host-device_lib.zip koodi ovat myös dokumentoituja, mutta suurimman osan projektista pitäisi toimia seuraavien kanssa: make CROSS_COMPILE = / path / to / arm-2011.03 / bin / arm-none-eabi-
Minulla on ollut menestystä https://github.com/JorgeAparicio/bareCortexM -palvelussa (katso myös linkitetyt blogiviestit). Minulla on kerrottu, että voin yksinkertaisesti selata koodia yhden kerran tai selata laitteen muistia sen sijaan, että kirjoittaisin koodiin virheenkorjauslausekkeita tai arvaaisin, mitä sirun sisällä tapahtuu.
bareCortexM-projekti on Eclipse malli kehitettäväksi Cortex M -sarjan, erityisesti STM32: n kanssa C ++: ssa ilman käyttöjärjestelmää. Se on määritetty käyttämään openocd: tä, gcc: tä, ja sillä on komentosarjoja, jotka välähtävät ja virheenkorjaavat useita kohteita, mukaan lukien jotkut löytötaulut. Noudattamalla ohjeita ja asentamalla suositellut Eclipse-laajennukset pystyin käyttämään STM32VLDISCOVERY -laitettani Ubuntussa.
Suosituksen mukaan olen yhdistänyt eclipse-mallin saman kirjoittajan libstm32pp C ++ -mallikirjastoon STM32-laitteistolle. libstm32pp tarjoaa yllättävän täydellisen korvauksen CMSIS: lle ja usein kritisoiduille STM32-ohjaimille ohjelmointimallilla, jonka avulla voit sanoa esimerkiksi PB10 :: setMode (gpio :: cr :: GP_OPEN_DRAIN_2MHZ)
ja PINB: : setLow ()
tai PINB :: setHigh ()
kaikki koottu enimmäkseen inline C ++ -mallien ansiosta. Asennus on erittäin mukava.
Ehkä siitä olisi hyötyä jollekulle: lyhyt artikkeli (venäjäksi) ja yksinkertainen projekti. Kaikki Linuxissa ja ilman tarpeettomia asioita, kuten pimennystä.
Kirjastot otettiin ST-verkkosivustolta, makefile - yhdestä monista GPL-esimerkkeistä Internetissä.
Tässä on pieni mutta innovatiivinen malliprojekti nopeaan käyttöönottoon STM32F0 Discovery -levyn käytöstä Linuxissa tai muussa käyttöjärjestelmässä:
https://github.com/dobromyslov/stm32f0-chibios- malli
Huomaa, että projekti käyttää ChibiOSia - ilmaista ja avointa lähdekoodia olevaa reaaliaikaista käyttöjärjestelmää, joten se ei ole pelkkä luuton toteutus tyhjästä.
Käytän vimiä ja arm-none-eabi-gcc: tä yhdessä kaikkien tavallisten linux dev -työkalujen kanssa.Linux on mielestäni ylivoimainen dev-ympäristö sulautetulle työlle.Virheenkorjaukseen käytän stlink ja arm-none-eabi-gdb.
Harkitse platformio.Jos olet lainkaan tyytyväinen komentoriviin, huomaat, että platformio helpottaa kehitystyötä huomattavasti. pio init
-sovellusta voidaan käyttää projektin luomiseen. pio run
hyödyntää työkaluketjua kääntämisessä. pio run - target upload
lähettää koodin laitteelle.Platformio huolehtii työkaluketjun komponenttien, kirjastojen jne. Lataamisesta tarpeen mukaan.