STM32 Inställningar hjälp?
STM32 Inställningar hjälp?
Hej!
Ny här på forumet. Håller på med ett litet projekt här hemma som jag behöver ro hamn.
Hittade MCU'n STM32, vilket kändes som helt rätt gällande prestanda och pris. Så jag valde att använda denna i designen. Men det var lite som att gå in i ett mörkt hål. Dokumenteringen känns knapphändig, som gällande det mesta som är krångligt och svårt (svårt = ingen har orken att dokumentera). Det är en helt annan värld att använda sig av 8bitars prylar, där allt är väl dokumenterat och enkelt. Tragiskt att de ska behöva göra allt så mycket mer bökigt bara för bredare bussar i processorn. Det har väll med arv att göra. 32bitars processorer är ju ofta vart kopplade till komplexa datorsystem med operativsystem, vilket är ett arv som 8-bitars processorer saknar.
Men nu har jag i vart fall gett mig in i detta och ta steget in i 32bit världen. Detta samtidigt som det är mitt första projekt på en MCU som jag tänkt skriva i C. Har väll kodat lite C förut, men aldrig på en mikrokontroller.
Först börja jag med ett köpa en Primer2. Vilket verka lovande. Men forumet verka helt dött. En massa folk som köpt deras kit, men ingen som använder det, verkar det som. Sen verkar de totalt snöat in på något som kallas circle os. Men det får betecknas som obrukbart då det belastar processorn till den grad att hela vitsen med att köra 32bit är mer eller mindre förbrukad. Sen så var ljudutgången så dåligt konstruerad, att det hade out of band noise som var ca hälften så stark som maxsignalen från DAC'en. Så jag lämna bygget illa kvickt då det kändes som en återvändsgränd. Då är det bättre att bygga ett eget kretskort med JTAG och komplettera med en programmerare.
Sen köpte jag en st-link för ett par hundringar. En kompetent JTAG programmerare, men atollic miljön TriueSTUDIO som man ska använda till den vekar inte helt färdig och stödjer dessutom inte ens windows7 som jag använder. Så det kan jag inte rekommendera för stunden. Vänta in tills dess det löst så man kompilera koden ifrån IDE'n med ett klick. Vilket inte löst ännu.
Så jag köpte en RLink. En JTAG programmerare som använder RIDE7, samma IDE som till Primer lådorna. Men utan kopplingen till Circle OS. Programmeraren gick på ca 500kr. Så det var överkomligt. Så det är väll där jag står och stampar nu. Fått lysdioderna att blinka på mitt kretskort, men inte så mycket mer än så.
Ni som använt STM32, hur har ni gått till väga för att lära er? Och hur mycket tid fick ni lägga ner? Vilka miljöer har ni testat och vad är skillnaderna och vad har era kostnader vart? Vilken dokumentation har ni vart tvungna att läsa för att lära er hur ni ska gå till väga?
Sen har jag en liten förfrågan om det kanske finns någon på forumet som skulle kunna hjälpa till för en mindre kostnad för att sätta upp ett projekt med inställningar för den STM32 som jag använder, kopplat till en I2S DAC?
Vore kul och lärorikt att höra ifrån er angående era erfarenheter. Det finns ju inte så mycket dokumentation där ute om att använda STM32 som förklarar allt på en rimlig nivå, i vilket fall känns det som en lång väg att gå själv om man ska lära sig utan hjälp utifrån. Så många skulle nog kunna dra nytta av kunskapen till sina egna små projekt, så man inte leds in i fel återvändsgränder.
// Daniel
Ny här på forumet. Håller på med ett litet projekt här hemma som jag behöver ro hamn.
Hittade MCU'n STM32, vilket kändes som helt rätt gällande prestanda och pris. Så jag valde att använda denna i designen. Men det var lite som att gå in i ett mörkt hål. Dokumenteringen känns knapphändig, som gällande det mesta som är krångligt och svårt (svårt = ingen har orken att dokumentera). Det är en helt annan värld att använda sig av 8bitars prylar, där allt är väl dokumenterat och enkelt. Tragiskt att de ska behöva göra allt så mycket mer bökigt bara för bredare bussar i processorn. Det har väll med arv att göra. 32bitars processorer är ju ofta vart kopplade till komplexa datorsystem med operativsystem, vilket är ett arv som 8-bitars processorer saknar.
Men nu har jag i vart fall gett mig in i detta och ta steget in i 32bit världen. Detta samtidigt som det är mitt första projekt på en MCU som jag tänkt skriva i C. Har väll kodat lite C förut, men aldrig på en mikrokontroller.
Först börja jag med ett köpa en Primer2. Vilket verka lovande. Men forumet verka helt dött. En massa folk som köpt deras kit, men ingen som använder det, verkar det som. Sen verkar de totalt snöat in på något som kallas circle os. Men det får betecknas som obrukbart då det belastar processorn till den grad att hela vitsen med att köra 32bit är mer eller mindre förbrukad. Sen så var ljudutgången så dåligt konstruerad, att det hade out of band noise som var ca hälften så stark som maxsignalen från DAC'en. Så jag lämna bygget illa kvickt då det kändes som en återvändsgränd. Då är det bättre att bygga ett eget kretskort med JTAG och komplettera med en programmerare.
Sen köpte jag en st-link för ett par hundringar. En kompetent JTAG programmerare, men atollic miljön TriueSTUDIO som man ska använda till den vekar inte helt färdig och stödjer dessutom inte ens windows7 som jag använder. Så det kan jag inte rekommendera för stunden. Vänta in tills dess det löst så man kompilera koden ifrån IDE'n med ett klick. Vilket inte löst ännu.
Så jag köpte en RLink. En JTAG programmerare som använder RIDE7, samma IDE som till Primer lådorna. Men utan kopplingen till Circle OS. Programmeraren gick på ca 500kr. Så det var överkomligt. Så det är väll där jag står och stampar nu. Fått lysdioderna att blinka på mitt kretskort, men inte så mycket mer än så.
Ni som använt STM32, hur har ni gått till väga för att lära er? Och hur mycket tid fick ni lägga ner? Vilka miljöer har ni testat och vad är skillnaderna och vad har era kostnader vart? Vilken dokumentation har ni vart tvungna att läsa för att lära er hur ni ska gå till väga?
Sen har jag en liten förfrågan om det kanske finns någon på forumet som skulle kunna hjälpa till för en mindre kostnad för att sätta upp ett projekt med inställningar för den STM32 som jag använder, kopplat till en I2S DAC?
Vore kul och lärorikt att höra ifrån er angående era erfarenheter. Det finns ju inte så mycket dokumentation där ute om att använda STM32 som förklarar allt på en rimlig nivå, i vilket fall känns det som en lång väg att gå själv om man ska lära sig utan hjälp utifrån. Så många skulle nog kunna dra nytta av kunskapen till sina egna små projekt, så man inte leds in i fel återvändsgränder.
// Daniel
Re: STM32 Inställningar hjälp?
Du bör börja ladda hem http://www.st.com/mcu/devicedocs-STM32F103C8-110.html eller motsvarande stm32 du använder
Datasheet på processorn
Reference Manual (RM0008)
http://www.st.com/stonline/products/sup ... ph_lib.zip
Där i har du exempelkod i "Project/STM32F10x_StdPeriph_Examples"
Det som jag tyckte var svårt från början jfm med 8bit var alla klockor man kan slå av och på.
Datasheet på processorn
Reference Manual (RM0008)
http://www.st.com/stonline/products/sup ... ph_lib.zip
Där i har du exempelkod i "Project/STM32F10x_StdPeriph_Examples"
Det som jag tyckte var svårt från början jfm med 8bit var alla klockor man kan slå av och på.
Re: STM32 Inställningar hjälp?
Tackar för dina handfasta tips Micke_s !
Borde ju börjat läsa referens manualen för länge sedan. Det kanske är de 1000 sidorna i den som avskräckt mig.
Får väll gå igenom StdPeriph exemplen också och se om jag snappar upp något.
Såg att det fans färdiga projekt filer att ladda in för snvändning av StdPeriph. I mitt fall är det för tillfället ride7.
Vad har du använt för miljö för kodningen? och har du bara använt dig av development board? Kan se fördelar med detta, det känns som en omväg att köpa ett sånt kort för 2000kr. Men det kanske är ett nödvändigt ont i och med att alla exempel är anpassade för att köra på dem
Men jag kanske kan slippa.
Hur stor nytta har man egentligen av "rätt" Dev-kit?
Borde ju börjat läsa referens manualen för länge sedan. Det kanske är de 1000 sidorna i den som avskräckt mig.
Får väll gå igenom StdPeriph exemplen också och se om jag snappar upp något.
Såg att det fans färdiga projekt filer att ladda in för snvändning av StdPeriph. I mitt fall är det för tillfället ride7.
Vad har du använt för miljö för kodningen? och har du bara använt dig av development board? Kan se fördelar med detta, det känns som en omväg att köpa ett sånt kort för 2000kr. Men det kanske är ett nödvändigt ont i och med att alla exempel är anpassade för att köra på dem

Hur stor nytta har man egentligen av "rätt" Dev-kit?
Re: STM32 Inställningar hjälp?
> Det kanske är de 1000 sidorna i den som avskräckt mig.
Då har du valt fel processor. Ta en enklare med tunnare datablad.
Då har du valt fel processor. Ta en enklare med tunnare datablad.
Re: STM32 Inställningar hjälp?
Känner du till någon MCU med samma pris-prestanda, som är enkare 
En faktor som man inte får glömma är ju att man ska kunna köpa kretsarna också. Tillgängligheten är ju inte den bästa så fort det blir lite udda. Annars hade jag nog kollat in en ubicom MCU. Men sen är det ju en stor fördel att kunna programmera i C kod. Men allt är en övervägning. Får räkna in alla gungor och karuseller och se vad som verkar bäst.

En faktor som man inte får glömma är ju att man ska kunna köpa kretsarna också. Tillgängligheten är ju inte den bästa så fort det blir lite udda. Annars hade jag nog kollat in en ubicom MCU. Men sen är det ju en stor fördel att kunna programmera i C kod. Men allt är en övervägning. Får räkna in alla gungor och karuseller och se vad som verkar bäst.
Re: STM32 Inställningar hjälp?
Jag lägger mig inte i vilken processor du väljer, men att klaga på tjockleken
på databladet kommer hur som helst inte att hjälpa dig att "komma i mål",
helt oavsett vilken processor du väljer.
Problemet verkar av din beskrivning vara att STM32 :
> ...kändes som helt rätt gällande prestanda och pris...
men att det så vitt jag förstår helt överskuggas av att :
> Dokumenteringen känns knapphändig...
> forumet verka helt dött...
> atollic miljön TriueSTUDIO som man ska använda till den vekar inte helt färdig...
> stödjer dessutom inte ens windows7...
> Det finns ju inte så mycket dokumentation där ute om att använda STM32 som förklarar allt på en rimlig nivå...
Vad betyder då pris/prestanda ?
> Känner du till någon MCU med samma pris-prestanda, som är enkare...
Ingen aning igentligen. Men AVR23, PIC32 eller alla olika ARM varianter verkar oftare
vara uppe *här* till diskussion i alla fall. Jag vet inte om det är signifikant dock...
> Får räkna in alla gungor och karuseller och se vad som verkar bäst.
Exakt. Precis vad jag menar.
Notera att jag inte vet ett smack om STM32 som sådan...
> Håller på med ett litet projekt här hemma...
Jag tror nog att flera är lite nyfikna på vad det är för hemma-projekt som
behöver denna typ av prestanda.
på databladet kommer hur som helst inte att hjälpa dig att "komma i mål",
helt oavsett vilken processor du väljer.
Problemet verkar av din beskrivning vara att STM32 :
> ...kändes som helt rätt gällande prestanda och pris...
men att det så vitt jag förstår helt överskuggas av att :
> Dokumenteringen känns knapphändig...
> forumet verka helt dött...
> atollic miljön TriueSTUDIO som man ska använda till den vekar inte helt färdig...
> stödjer dessutom inte ens windows7...
> Det finns ju inte så mycket dokumentation där ute om att använda STM32 som förklarar allt på en rimlig nivå...
Vad betyder då pris/prestanda ?
> Känner du till någon MCU med samma pris-prestanda, som är enkare...
Ingen aning igentligen. Men AVR23, PIC32 eller alla olika ARM varianter verkar oftare
vara uppe *här* till diskussion i alla fall. Jag vet inte om det är signifikant dock...
> Får räkna in alla gungor och karuseller och se vad som verkar bäst.
Exakt. Precis vad jag menar.

Notera att jag inte vet ett smack om STM32 som sådan...

> Håller på med ett litet projekt här hemma...
Jag tror nog att flera är lite nyfikna på vad det är för hemma-projekt som
behöver denna typ av prestanda.
Re: STM32 Inställningar hjälp?
Prestandan behövs för beräkningskraft. Jo jag behöver fetmycket av det
Anledningen till det är att slippa sitta och optimera assembler kod i flera månader och vara fast i en uråldrig 8-bitskonstruktion, när jag kan skriva C kod och slutföra det på ett par veckor utan prestandaproblem.
Däremot vill jag jag ju att det ska vara enkel hårdvara och rätt pris. STM32 lever upp till alla krav. Det enda den har emot sig är att det är 32 bit med allt vad det medför. Men det är ju bara fråga om kunskap och tid. Vill man vara med i den nya skolan så är ju detta vägen man får gå.
Men det är bara att bita i äpplet. Tänkte att det kunde vara bra med några råd på vägen från någon som vandrat den. Så jag vet vad som ligger framför mig. Utan att mata trollen längs vägen förhoppningsvis

Däremot vill jag jag ju att det ska vara enkel hårdvara och rätt pris. STM32 lever upp till alla krav. Det enda den har emot sig är att det är 32 bit med allt vad det medför. Men det är ju bara fråga om kunskap och tid. Vill man vara med i den nya skolan så är ju detta vägen man får gå.
Men det är bara att bita i äpplet. Tänkte att det kunde vara bra med några råd på vägen från någon som vandrat den. Så jag vet vad som ligger framför mig. Utan att mata trollen längs vägen förhoppningsvis

Re: STM32 Inställningar hjälp?
Vill inte påstå att jag programmerat mycket med min STM32 men det jag gjort är väl skicka och ta emot på UART, ta emot information över I2C från Wii-nunchuck och Wii motion plus, dimmat nån lysdiod med PWM osv. Allt med gratis-toolchainen som finns att ladda ner men du har ju Ride så orkar inte leta fram namnet. 
Har till 80% lärt mig utifrån exemplen till biblioteket som Micke länkade till och kollat upp noggrannare i referensmanualen om det är nåt jag inte förstått.
Jag kör med inbyggda UART-bootloader och http://www.futurlec.com/ET-STM32_Stamp.shtml det kortet. Väldigt prisvärt!

Har till 80% lärt mig utifrån exemplen till biblioteket som Micke länkade till och kollat upp noggrannare i referensmanualen om det är nåt jag inte förstått.
Jag kör med inbyggda UART-bootloader och http://www.futurlec.com/ET-STM32_Stamp.shtml det kortet. Väldigt prisvärt!
Re: STM32 Inställningar hjälp?
Tackar för tipsen E85!
Ditt tillvägagångssätt sparar ju en hel del läsande i referensmanualen kan jag tänka, ska ta det till mig.
Jo jag har sätt det där STM32 stamp (som de kallar den) tidigare. Verkar ju kompetent om man vill experimentera och inte vill CAD'a egna kretskort, som jag nu råkat göra
Ok men vad använder du? detta? http://developers.stf12.net/eclipse-demo
Ditt tillvägagångssätt sparar ju en hel del läsande i referensmanualen kan jag tänka, ska ta det till mig.
Jo jag har sätt det där STM32 stamp (som de kallar den) tidigare. Verkar ju kompetent om man vill experimentera och inte vill CAD'a egna kretskort, som jag nu råkat göra

Ok men vad använder du? detta? http://developers.stf12.net/eclipse-demo
Re: STM32 Inställningar hjälp?
STM32 är väl någon ARM liknande?, isåfall borde ARM miljön och verktyg (gcc?) gå att använda?
Re: STM32 Inställningar hjälp?
Sourcery G++ Lite heter den kom jag på nu. Kunde inte kolla på datorn för jag är borta över påskhelgen. Det är alltså bara program som körs i kommandoraden så det där med debugging i IDE (eller öht) har jag inte provat på än. Koden skriver jag i en vanlig texteditor (Editplus).
Re: STM32 Inställningar hjälp?
OK, den är snabbaren än Renesas M16C och den är 32 bit mot M16C's 16 bit.
Men en M16C behöver man ingen bootloader till då den är inbyggd, man behöver en serieport + en bygling för att programmera den, det finns MYCKET godis i hårdvaran, t.ex. ett antal timers som kan vara just timer eller PWM (8 eller 16 bit) eller räknare osv.
Det finns mycket bra att säga om Renesas, deras verktyg fungerar bra, dokumentationen är ganska bra och priset är lågt. Startkit med en ICD finns till en billig peng.
Och är det livsviktigt med 32 bit och skithög hastighet har de än tyngre processorer.
Men en M16C behöver man ingen bootloader till då den är inbyggd, man behöver en serieport + en bygling för att programmera den, det finns MYCKET godis i hårdvaran, t.ex. ett antal timers som kan vara just timer eller PWM (8 eller 16 bit) eller räknare osv.
Det finns mycket bra att säga om Renesas, deras verktyg fungerar bra, dokumentationen är ganska bra och priset är lågt. Startkit med en ICD finns till en billig peng.
Och är det livsviktigt med 32 bit och skithög hastighet har de än tyngre processorer.
Re: STM32 Inställningar hjälp?
Hehe ganska självklart att referens manualen blir tjockare desto mer avancerad processor.
jag tycker det är rekommenderat att börja med en 8bitars MCU innan om du inte har programmerat för någon microcontroller innan.
då det finns hur mycket hjälp som helst till dessa (avr,pic iaf)
Har också fastnat för STM32
kolla http://elektronikforumet.com/forum/view ... =7&t=40130
Har fått hem mina kit som jag köpte men inte hunnit testa mer än att starta ett demo.
kommer mer till sommaren,
jag tycker det är rekommenderat att börja med en 8bitars MCU innan om du inte har programmerat för någon microcontroller innan.
då det finns hur mycket hjälp som helst till dessa (avr,pic iaf)
Har också fastnat för STM32
kolla http://elektronikforumet.com/forum/view ... =7&t=40130
Har fått hem mina kit som jag köpte men inte hunnit testa mer än att starta ett demo.
kommer mer till sommaren,
Re: STM32 Inställningar hjälp?
Icecap: Det är inbyggd bootloader i STM32 också.
Från device summary för STM32F103RET6 som sitter på stampen jag länkade till ovan:
Från device summary för STM32F103RET6 som sitter på stampen jag länkade till ovan:
med mera... så det finns bra med resurser i den och rätt så enkelt att använda om man kollar exempelkod.Up to 11 timers
– Up to four 16-bit timers, each with up to 4
IC/OC/PWM or pulse counter and
quadrature (incremental) encoder input
– 2 × 16-bit motor control PWM timers with
dead-time generation and emergency stop
– 2 × watchdog timers (Independent and
Window)
– SysTick timer: a 24-bit downcounter
– 2 × 16-bit basic timers to drive the DAC
51/80/112 I/Os, all mappable on 16
external interrupt vectors and almost all
5 V-tolerant
3 × 12-bit, 1 μs A/D converters (up to 21
channels)
2 × 12-bit D/A converters
DMA: 12-channel DMA controller
– Supported peripherals: timers, ADCs, DAC,
SDIO, I2Ss, SPIs, I2Cs and USARTs
Up to 13 communication interfaces
– Up to 2 × I2C interfaces (SMBus/PMBus)
– Up to 5 USARTs (ISO 7816 interface, LIN,
IrDA capability, modem control)
– Up to 3 SPIs (18 Mbit/s), 2 with I2S
interface multiplexed
– CAN interface (2.0B Active)
– USB 2.0 full speed interface
– SDIO interface
Re: STM32 Inställningar hjälp?
Jag använder:
* Ubuntu 9.10
* Sourcery G++ Lite 2009q3
* STM32F10x_StdPeriph_Lib_V3.2.0
* Openocd.
* Primer 1.
Länkskcript och startup-kod för Ride från STM32F10x_StdPeriph_Lib med endast mindre ändringar samt en hemmasnickrad makefil.
Med reservation för att jag själv håller på att "starta upp" måste jag säga att det fungerar bra, men det krävs en hel del tålamod.
Om manualen känns tung är sannolikt http://www.st.com/mcdfiles/1221142709.pdf mer lättsmält att börja med.
* Ubuntu 9.10
* Sourcery G++ Lite 2009q3
* STM32F10x_StdPeriph_Lib_V3.2.0
* Openocd.
* Primer 1.
Länkskcript och startup-kod för Ride från STM32F10x_StdPeriph_Lib med endast mindre ändringar samt en hemmasnickrad makefil.
Med reservation för att jag själv håller på att "starta upp" måste jag säga att det fungerar bra, men det krävs en hel del tålamod.
Om manualen känns tung är sannolikt http://www.st.com/mcdfiles/1221142709.pdf mer lättsmält att börja med.