Komma igång med ARM Cortex M3-utveckling
Re: Komma igång med ARM Cortex M3-utveckling
Som ni säkert har upptäckt så är det ena "bara" en definition av en data typ,
det är ingen färdig variabel, struct eller vad det nu är.
Det är i princip analogt med att man måste skriva :
int abc;
abc = 2;
Man kan inte skriva :
int = 2;
det är ingen färdig variabel, struct eller vad det nu är.
Det är i princip analogt med att man måste skriva :
int abc;
abc = 2;
Man kan inte skriva :
int = 2;
- Klas-Kenny
- Inlägg: 11831
- Blev medlem: 17 maj 2010, 19:06:14
- Ort: Växjö/Alvesta
Re: Komma igång med ARM Cortex M3-utveckling
Ja, det var precis det vi kom fram till. 
Känner att jag behöver läsa på lite C för att det här ska gå vägen, syntaxen är inga större problem i och med vana från PHP, där emot är det värre med datatyper och liknande.
Får bli en runda om skolbiblioteket på Måndag.

Känner att jag behöver läsa på lite C för att det här ska gå vägen, syntaxen är inga större problem i och med vana från PHP, där emot är det värre med datatyper och liknande.
Får bli en runda om skolbiblioteket på Måndag.

- Klas-Kenny
- Inlägg: 11831
- Blev medlem: 17 maj 2010, 19:06:14
- Ort: Växjö/Alvesta
Re: Komma igång med ARM Cortex M3-utveckling
En enkel fråga, när man använder printf() så skriver den ju ut data på *standard* USART, men nu vill jag skriva ut datan på USART2 istället.
Detta borde gå genom att antingen byta vilken som är standard, eller att använda fprintf() istället där man kan välja var den ska skicka datan.
Dock vet jag inte, och hittar ingenstans, korrekt syntax för att använda fprintf() och jag hittar heller inte hur man ändrar standard.
Så, hur gör man något utav dessa? Helst lär jag mig klart båda.
Provade, något naivt kanske, med fprintf("Hello World!", USART2); Vilket kompilerar utan problem men skickar ingen data.
Detta borde gå genom att antingen byta vilken som är standard, eller att använda fprintf() istället där man kan välja var den ska skicka datan.
Dock vet jag inte, och hittar ingenstans, korrekt syntax för att använda fprintf() och jag hittar heller inte hur man ändrar standard.
Så, hur gör man något utav dessa? Helst lär jag mig klart båda.
Provade, något naivt kanske, med fprintf("Hello World!", USART2); Vilket kompilerar utan problem men skickar ingen data.
Re: Komma igång med ARM Cortex M3-utveckling
> fprintf("Hello World!", USART2);
Varför inte fprintf(USART2, "Hello World!"); ?
Jag vet inte om det fungerar, men det är i alla fall
mer i linje med hur fprintf normalt används...
http://www.gnu.org/software/libc/manual ... tions.html
Varför inte fprintf(USART2, "Hello World!"); ?
Jag vet inte om det fungerar, men det är i alla fall
mer i linje med hur fprintf normalt används...
http://www.gnu.org/software/libc/manual ... tions.html
- Klas-Kenny
- Inlägg: 11831
- Blev medlem: 17 maj 2010, 19:06:14
- Ort: Växjö/Alvesta
Re: Komma igång med ARM Cortex M3-utveckling
Aha!
Men jag provade det också, kompilerades utan problem men kommer ingen data. Jag antar att det är något annat än just USART2 som ska skrivas, men jag hittar ingenstans vad.
Men jag provade det också, kompilerades utan problem men kommer ingen data. Jag antar att det är något annat än just USART2 som ska skrivas, men jag hittar ingenstans vad.

Re: Komma igång med ARM Cortex M3-utveckling
Jag använder hellre sprintf
unsigned char dispStr_Logg[10];
sprintf(dispStr_Logg ,"%X" , ReadADC1(A6_IN));
SendUartData(dispStr_Logg);
ReadADC1(A6_IN) läser av ADC , X gör om den till hexadecimalt
unsigned char dispStr_Logg[10];
sprintf(dispStr_Logg ,"%X" , ReadADC1(A6_IN));
SendUartData(dispStr_Logg);
ReadADC1(A6_IN) läser av ADC , X gör om den till hexadecimalt
- Klas-Kenny
- Inlägg: 11831
- Blev medlem: 17 maj 2010, 19:06:14
- Ort: Växjö/Alvesta
Re: Komma igång med ARM Cortex M3-utveckling
Var på skolbiblioteket idag och lånade med mig "Programmeringsspråket C" Av Brian W. Kerninghan och Dennis M. Ritchie, helt perfekt bok för mig må jag säga!
Då jag har vana från PHP så jag kan operatorer, If, Else, While etc-satser och liknande så är det ju onödigt att traggla igenom det åter igen, det gör man då inte i den här boken utan det börjar på en litet högre nivå men fortfarande grundläggande för just C.
Redan 20 sidor in i boken hade jag fått svar på alla de frågor jag haft hittills.
Kan varmt rekommendera den boken till alla som tänkt börja programmera i C och har en del tidigare programmeringsvana!
Synd bara att jag inte kan ha den så länge, fick bara låna den till den 21e för att studenten snart kommer.
Edit: Den svenska versionen tycks omöjlig att få tag på idag men den engelska har ISBN: 9780131103627 om någon är intresserad.
Då jag har vana från PHP så jag kan operatorer, If, Else, While etc-satser och liknande så är det ju onödigt att traggla igenom det åter igen, det gör man då inte i den här boken utan det börjar på en litet högre nivå men fortfarande grundläggande för just C.
Redan 20 sidor in i boken hade jag fått svar på alla de frågor jag haft hittills.

Kan varmt rekommendera den boken till alla som tänkt börja programmera i C och har en del tidigare programmeringsvana!
Synd bara att jag inte kan ha den så länge, fick bara låna den till den 21e för att studenten snart kommer.

Edit: Den svenska versionen tycks omöjlig att få tag på idag men den engelska har ISBN: 9780131103627 om någon är intresserad.
Re: Komma igång med ARM Cortex M3-utveckling
Ytterligare en IDE som ARM hänvisar till är Keil MDK-ARM (tidigare RealView).
Utan licens kan man kompilera program upp till 32 kB. För de som använder Linux ska IDE:n även fungera i Ubuntu med Wine 1.2, dock utan hårdvarufelsökning.
Vad använder ni andra som utvecklat till Cortex?
Utan licens kan man kompilera program upp till 32 kB. För de som använder Linux ska IDE:n även fungera i Ubuntu med Wine 1.2, dock utan hårdvarufelsökning.
Vad använder ni andra som utvecklat till Cortex?
Re: Komma igång med ARM Cortex M3-utveckling
Har inte utvecklat något ännu bara testat lite men jag använder Code Red för NXP LPC Xpresso.
Re: Komma igång med ARM Cortex M3-utveckling
IMHO när det kommer till att utveckla på valfri ARM så rekommenderar jag Ubuntu och på de sedan köra CodeSourcery arm-none-eabi, OpenOCD och sedan valfri kod-editor som Eclipse, gedit, vim, osv. Sedan debuggar och flashar man via terminalen i GDB.
Det fungerar hur bra som helst för mig så kan inget annat än rekommendera det! Då är man inte låst av hur många kB kod man får ha osv och man har full kontroll över allt som händer.
Just att komma igång med STM32Fxxx så tycker jag fortfarande att deras STD-libs är konstiga. Men många gillar dom så jag försöker lära mig dom.
Dock som i min bootloader så sätter jag alla register osv manuellt för att spara flash-utrymme.
Det fungerar hur bra som helst för mig så kan inget annat än rekommendera det! Då är man inte låst av hur många kB kod man får ha osv och man har full kontroll över allt som händer.
Just att komma igång med STM32Fxxx så tycker jag fortfarande att deras STD-libs är konstiga. Men många gillar dom så jag försöker lära mig dom.
Dock som i min bootloader så sätter jag alla register osv manuellt för att spara flash-utrymme.
Re: Komma igång med ARM Cortex M3-utveckling
Jag kör också den där CodeSourcery-gcc-kompilatorn, fast på Windows för att programmera STM32.
Hur bra fungerar debugging med OpenOCD? Jag har provat köra med Atollic's gdb-server via ST-Link, men att stega genom programmet går plågsamt långsamt med den varianten. Det kan ta upp till fem sekunder eller mer ibland att göra ett steg. I Keil-IDE:ns debugger går det snabbt däremot att stega, så det verkar ju inte vara hårdvaran som är problemet.
ST:s hårdvarubibliotek är väl lite både och tycker jag. En del saker är trevliga, men utan vettig dokumentation är det svårt att använda. Periferienheternas dokumentation är ju skriven utifrån vad man skall göra med de olika registren och i vilken ordning och inte vilka funktioner i HW-biblioteket som skall användas.
Hur bra fungerar debugging med OpenOCD? Jag har provat köra med Atollic's gdb-server via ST-Link, men att stega genom programmet går plågsamt långsamt med den varianten. Det kan ta upp till fem sekunder eller mer ibland att göra ett steg. I Keil-IDE:ns debugger går det snabbt däremot att stega, så det verkar ju inte vara hårdvaran som är problemet.
ST:s hårdvarubibliotek är väl lite både och tycker jag. En del saker är trevliga, men utan vettig dokumentation är det svårt att använda. Periferienheternas dokumentation är ju skriven utifrån vad man skall göra med de olika registren och i vilken ordning och inte vilka funktioner i HW-biblioteket som skall användas.
- Greve Hamilton
- EF Sponsor
- Inlägg: 544
- Blev medlem: 4 september 2004, 15:03:35
- Ort: GBG
Re: Komma igång med ARM Cortex M3-utveckling
Jag kör Yagarto, OpenOCD och Eclipse på mac:en. Funkar bra! Lite seg debugging dock. Kan ta någon sekund eller två att steppa i värsta fall, ibland lite snabbare. Men det överlever man. 
CMSIS tycker jag är helt ok. Periferibiblioteket från ST är dock ingen jättehöjdare. På vissa ställen är det lite märkligt kodat. Vill man ha lite koll får man ändå läsa igenom deras kod och då kan man nästan lika gärna göra jobbet själv.

CMSIS tycker jag är helt ok. Periferibiblioteket från ST är dock ingen jättehöjdare. På vissa ställen är det lite märkligt kodat. Vill man ha lite koll får man ändå läsa igenom deras kod och då kan man nästan lika gärna göra jobbet själv.
Re: Komma igång med ARM Cortex M3-utveckling
En fråga till er som kör STM32 och tycker deras bibliotek, varför kör ni just ST när nu biblioteken är så konstiga? Jag har mest kört TI och Stellaris och har aldrig haft några problem med biblioteken eller dokumentationen.
Kör för övrigt Eclipse/Codesourcery Lite/OpenOCD och GNU ARM eclipse plugin. funkar mkt bra.
Kör för övrigt Eclipse/Codesourcery Lite/OpenOCD och GNU ARM eclipse plugin. funkar mkt bra.
Re: Komma igång med ARM Cortex M3-utveckling
Jag kör ST så jag inte hittat någon bra ersättare för STM32F4 serien.
Så, så länge blir det ST.
Så, så länge blir det ST.