Difference between revisions of "Förberedelse programmering STM32"

From Chalmers Robotförening
Line 43: Line 43:
*UART (möjligt över bluetooth?)
*UART (möjligt över bluetooth?)


=Debugga=
det är sällan man skriver en kod som fungerar på direkten. då är det oftast bättre att använda ett debugging-verktyg än att slumpmässigt börja ändra i sin kod.
=IDE är trevligt=
=IDE är trevligt=
Man kan tröttna snabbt på att knacka ihop kod i en ordbehandlar, skriva make i terminalen för att sedan använda st-link eller boot-loader för att skicka över programmet. då kan man kolla på en Integrated Developement Environment, IDE.
Man kan tröttna snabbt på att knacka ihop kod i en ordbehandlar, skriva make i terminalen för att sedan använda st-link eller boot-loader för att skicka över programmet. då kan man kolla på en Integrated Developement Environment, IDE.
Eclipse är en sådan IDE, den hjälper dig väldigt mycket när du skriver kod, och den kan även integrera kompilatorn, så att du trycker på en knapp i GUIn för att kompilera istället för att skriva make i en terminal.
Eclipse är en sådan IDE, den hjälper dig väldigt mycket när du skriver kod, och den kan även integrera kompilatorn, så att du trycker på en knapp i GUIn för att kompilera istället för att skriva make i en terminal.

Revision as of 01:04, 26 November 2013

Förord
Jag som gjort denna guide vill inte påstå mig ha en överlägset bra koll på allt det jag skriver om, utan snarare är jag en nybörjare själv som nyligen fått igång det jag skriver om. Men min förhoppning är att jag, till skillnad från mer erfarna medlemmar i föreningen, har just på grund av detta möjlighet att skriva en guide som riktar sig till den totala nybörjaren och jag kommer inte utgå från att du har erfarenhet av linux, mikrokontrollers eller C programmering. Guiden är tänkt att läsas från början till slut, och hoppa över de delar som inte berör dig.

Det är lätt att drunkna i information, samtidigt som man inte hittar svar på de allra mest basala frågor, när man vill lära sig något nytt. min erfarenhet är att man fastnar på ett litet problem, som t.ex. ett felmeddelande under en installation, och i letan om vad meddelandet säger så hittar man en uppsjö bra guider och forum som berör ämnet, men det slutar allt som oftast med att man länkas vidare i många steg, så att i slutet av kvällen har man 100 flikar öppna med halvlästa guider i webbläsaren. för att spara Din tid så kommer jag försöka att lägga in "allt" material du behöver på denna sida (exkl. saker du behöver ladda hem), så att minimalt antal avstickningar från denna guide behövs under hela förloppet. när länkar till annat material presenteras så är det dels en källhänvisning (cred till den person som skrev orginalguiden) eller en möjlighet att läsa mer om ämnet.

Har du frågor, fastnar du, får du problem, eller vill du bara tacka för hjälpen; hör av dig till en styrelse-medlem!

Innan du börjar

Detta behöver du:

  • Tid
  • Passion och nyfikenhet
  • Förmåga att läsa engelska
  • En dator med ~10GB ledigt på hårddisken
  • Ett usb-minne (enklast för installation av Ubuntu) ( fungerar även med t.ex. CD/DVD skiva)

Operativsystem

Vi rekommenderar att du programmerar i Ubuntu då det finns en bra så kallad tool-chain i Ubuntu som är gratis och inte har några unbyggda begränsningar.

Om du har Ubuntu installerat

då är allt som det ska och du kan hoppa ner till Kompilera kod till .bin fil

Om du har Mac OS X

Kort version (tills det kommer en riktig variant). Du kan köra nästan samma guide som för Ubuntu till OSX. Du behöver ha XCode installerat för att få lite kompilatorer. Det som inte riktigt fungerar ännu är STM32Flash för att progammera med USB-uartbryggan. I annat fall kan man använda en ST-link (som också finns på STs utvecklingkort). Dessa kostar runt 100-200kr.
Du kan även utan problem köra Ubuntu i Virtual Box. Annars är det bara att googla på Setting up STM32 for OS X Eclipse eller nåt och följa instruktioner. TODO: Fixa en genomtänkt guide.

Om du har Windows

Det finns 3 sätt att fixa Ubuntu på din dator:

Kompilera kod till .bin fil

  • behöver gcc
  • make i terminal, makefil

flytta .bin fil från dator till STM32

detta kan göras på olika sätt. antingen använder man ett Discovery-kort. Det spelar ingen roll vilket (F0,F1, ... ,F4), det finns även i Lokalen att låna. på Discovery-kortet sitter det dels en så kallad "programmerare" och dels en stm32. vi ska använda programmeraren för att programmera om vår stm32'a. ta bort de två jumpers som är markerade "ST-LINK DISCOVERY" för att programmera genom SWD porten. annars kommer stm32'an på discovery-kortet att programmeras.

St-Link V2

Boot-loader

  • CAN
  • UART (möjligt över bluetooth?)

Debugga

det är sällan man skriver en kod som fungerar på direkten. då är det oftast bättre att använda ett debugging-verktyg än att slumpmässigt börja ändra i sin kod.

IDE är trevligt

Man kan tröttna snabbt på att knacka ihop kod i en ordbehandlar, skriva make i terminalen för att sedan använda st-link eller boot-loader för att skicka över programmet. då kan man kolla på en Integrated Developement Environment, IDE. Eclipse är en sådan IDE, den hjälper dig väldigt mycket när du skriver kod, och den kan även integrera kompilatorn, så att du trycker på en knapp i GUIn för att kompilera istället för att skriva make i en terminal.