Att gå från AVR till STM32F4 ARM
Re: Att gå från AVR till STM32F4 ARM
Vad skulle ni säga om skillnaden mellan ARM och ARM-Cortex?
-
- Inlägg: 81
- Blev medlem: 13 april 2010, 14:40:04
- Ort: Stockholm
Re: Att gå från AVR till STM32F4 ARM
Cortex är väl vad jag förstår ett försök att få till någon form av standard.
En del av kretsarna är pinkompatibla, det är dock inte pereferi delarna så lägsta lagret behöver nog skrivas om ifall man byter.
Det hade varit kul om fler körde Texas Stellaris ARM Cortex M4, det var ett stort intresse innan den kom pga priset $ 4,98
Nu verkar det som de som beställde använder dem som hyllvärmare, eller har jag fel?
En del av kretsarna är pinkompatibla, det är dock inte pereferi delarna så lägsta lagret behöver nog skrivas om ifall man byter.
Det hade varit kul om fler körde Texas Stellaris ARM Cortex M4, det var ett stort intresse innan den kom pga priset $ 4,98
Nu verkar det som de som beställde använder dem som hyllvärmare, eller har jag fel?
Re: Att gå från AVR till STM32F4 ARM
Så länge som man skriver i C borde ett arkitekturbyte inte vara någon speciellt stort hopp.sodjan skrev:Min poäng var att Tomas erfarenheter från PIC18/PIC32 kanske inte är helt
rellevanta jämfört med ditt fall. Med tanke på att du skrev "Lät uppmuntrande."
Men ok, har man hållt på att traggla i assembler, och liten kunskap i C så kan nog hoppet vara stort.
Gissar att samma gäller om man skall börja med C++, och inte använt det förut.
Annars är det väl bara annorlunda funktionsanrop och konfigurering av periferienheterna, samt att interrupten naturligtvis hanteras olika.
Re: Att gå från AVR till STM32F4 ARM
Har själv gått från PCI16/PIC18 till STM32F1/STM32F4. Jag rekommendera att använda coocox för att slippa krångla med länkfiler, startupfiler osv med GCC vilket jag tyckte vara största problemet med övergången.
ST har bra exempelkoder som man kan utgå från för DMA, ADC, RTC, UART, USB osv...
När man väl fått igång så finns det mycket trevliga funktioner. Jag gjorde tex en "gitarrfrekvensanalysator" med följande upplägg:
* Kopplade elgitarr till förstärkarsteg med OP-förstärkare
* Kopplad förstärkare till 12 bit ADC på stm32
* Kopplade ADC till DMA och till timer
* Värden samplades med 10 kHz (har jag för mig)
* Satte upp så man fick ett interrupt vid varje 1024 värden, dvs processorn kunde köra fritt när dessa 1024 samplades då samplingen sköttes i bakgrunden av DMA och timer
* Vid varje 1024 värdes intterupt så kopplades DMA om till en annan buffer medan processorn gjorde FFT på de precis samplade 1024 värden
* FFT svar skickades sedan till PC via USB/UART
Tyckte själv att denna konstruktion blev ganska häftig och det behövdes bara en OP förstärkarkrets, allt annat sköttes intern i STM32. Att göra denna konstruktion i PIC16/18 hade varit en utmaning.
ST har bra exempelkoder som man kan utgå från för DMA, ADC, RTC, UART, USB osv...
När man väl fått igång så finns det mycket trevliga funktioner. Jag gjorde tex en "gitarrfrekvensanalysator" med följande upplägg:
* Kopplade elgitarr till förstärkarsteg med OP-förstärkare
* Kopplad förstärkare till 12 bit ADC på stm32
* Kopplade ADC till DMA och till timer
* Värden samplades med 10 kHz (har jag för mig)
* Satte upp så man fick ett interrupt vid varje 1024 värden, dvs processorn kunde köra fritt när dessa 1024 samplades då samplingen sköttes i bakgrunden av DMA och timer
* Vid varje 1024 värdes intterupt så kopplades DMA om till en annan buffer medan processorn gjorde FFT på de precis samplade 1024 värden
* FFT svar skickades sedan till PC via USB/UART
Tyckte själv att denna konstruktion blev ganska häftig och det behövdes bara en OP förstärkarkrets, allt annat sköttes intern i STM32. Att göra denna konstruktion i PIC16/18 hade varit en utmaning.
Re: Att gå från AVR till STM32F4 ARM
Pic32 och MPLAB har inget krångel med länkningsskript osv.
Re: Att gå från AVR till STM32F4 ARM
Det har inte Coocox heller, skulle du däremot sätta ihop en egen toolchain till PIC32 med Eclipse/GCC/OpenOCD är jag övertygad om att du skulle behöva hacka lite länkscript och makefiler. Nu behöver man ju inte det om man inte vill eftersom det finns gratisalternativ utan begränsningar. Vill minnas att C32 kostar en del om man vill kunna köra fullt ut med optimering och allt. Ska man ändå betala finns det en uppsjö av olika IDE:er som fungerar till STM32-serien. Keil, Atollic och IAR brukar rekommenderas av ST själva, men det finns ett gäng till, nackdelen med dessa jämfört med coocox är att de är begränsade till 32k stora applikationer.
Vad gäller programmeringen är det mycket riktigt inte någon större tröskel, det är arkitekturen med alla dess periferienheter som tar ett tag att komma underfund med hur de funkar. Jag som använt både 8/16/32 bitars PIC:ar och Cortex-M3/4 skulle jämföra övergången mellan PIC:arna som trehjuling/cykel/moped medan Cortex-M3/4 är som en Hayabusa i sammanhanget. Jävligt läskigt i början, direkt olämplig i vissa situationer men det känns lite tråkigt att hoppa upp på cykeln igen när man väl prövat den.
En talande jämförelse är om man kollar på referensmanualen för PIC32-familjen jämfört med STM32F3. 5/25 Mb, 250/1000 sidor.
Som vanligt går det inte säga att den ena är bättre än den andra, de har sina tillämpningar helt enkelt.
Vad gäller programmeringen är det mycket riktigt inte någon större tröskel, det är arkitekturen med alla dess periferienheter som tar ett tag att komma underfund med hur de funkar. Jag som använt både 8/16/32 bitars PIC:ar och Cortex-M3/4 skulle jämföra övergången mellan PIC:arna som trehjuling/cykel/moped medan Cortex-M3/4 är som en Hayabusa i sammanhanget. Jävligt läskigt i början, direkt olämplig i vissa situationer men det känns lite tråkigt att hoppa upp på cykeln igen när man väl prövat den.
En talande jämförelse är om man kollar på referensmanualen för PIC32-familjen jämfört med STM32F3. 5/25 Mb, 250/1000 sidor.
Som vanligt går det inte säga att den ena är bättre än den andra, de har sina tillämpningar helt enkelt.
Re: Att gå från AVR till STM32F4 ARM
Nja det stämmer inte riktigt, Det du refererar till är enbart databladet för hårdvaran, dvs i princip enbart de elektrisk specifikationerna och pin-outen.En talande jämförelse är om man kollar på referensmanualen för PIC32-familjen jämfört med STM32F3. 5/25 Mb, 250/1000 sidor.
Referens för hårdvaran är ca 1200 sidor, sedan tillkommer referensen för CPU'n ca 3000 sidor eller så.
Sedan utöver det tillkommer naturligtvis referensen för implementationen av kompilatorn samt APIerna, totalt ytterligare ett par tusen sidor, typ
Så att göra den jämförelsen du gjorde är direkt felaktig