Förslag på toolchain till Cortex M3 (STM32)
Re: Förslag på toolchain till Cortex M3 (STM32)
Hur gick det med ARM Cortex?
Hittade hos Farnell ARM CORTEX MCU 64K, LQFP48, 818 för 37,94 kr ex moms.
Samt hos ELFA 73-872-54 STM32F101T6U6 för 35 ex.moms.
Vid små kvantiteter är prisskilllnaden mot AVR/PIC 8-bit liten.
Finns ju GCC stöd med bl.a arm-elf-binutils, arm-rtems-binutils etc.. Kanske någon vet hur man fixar ARM kompilering under Linux/BSD?
Hittade hos Farnell ARM CORTEX MCU 64K, LQFP48, 818 för 37,94 kr ex moms.
Samt hos ELFA 73-872-54 STM32F101T6U6 för 35 ex.moms.
Vid små kvantiteter är prisskilllnaden mot AVR/PIC 8-bit liten.
Finns ju GCC stöd med bl.a arm-elf-binutils, arm-rtems-binutils etc.. Kanske någon vet hur man fixar ARM kompilering under Linux/BSD?
Re: Förslag på toolchain till Cortex M3 (STM32)
För linux finns t ex CodeSourcery - http://www.codesourcery.com/sgpp/lite/a ... plate=lite
Yagarto.
Finns också en hyffsad artikel om "bare-metal" ARM-programmering som jag kan tipsa om, http://www.embedded.com/design/opensour ... tid=208370.
Yagarto.
Finns också en hyffsad artikel om "bare-metal" ARM-programmering som jag kan tipsa om, http://www.embedded.com/design/opensour ... tid=208370.
Re: Förslag på toolchain till Cortex M3 (STM32)
jag hittade en guide på hur man får eclise att lira med open OCD och kompilera med GCC
http://www.sparkfun.com/tutorial/ARM/AR ... clipse.pdf
den är aningen gammal t.ex så finns det en C/C++ version av eclipse istället för eclipse-SDK och därefter installera ett plugin för C/C++ biten. Men i det stora hela så verkar guiden bra.
Vad skiljer sig openSource mot t.ex codeSourcery eller andra komersiella produkter? får man något extra som man i vanliga fall inte har tillgång till?
http://www.sparkfun.com/tutorial/ARM/AR ... clipse.pdf
den är aningen gammal t.ex så finns det en C/C++ version av eclipse istället för eclipse-SDK och därefter installera ett plugin för C/C++ biten. Men i det stora hela så verkar guiden bra.
Vad skiljer sig openSource mot t.ex codeSourcery eller andra komersiella produkter? får man något extra som man i vanliga fall inte har tillgång till?
Re: Förslag på toolchain till Cortex M3 (STM32)
CodeSourcery Lite (gratisversionen) är väl i princip bara en färdigkompilerad gcc-toolchain tror jag, men man slipper göra det själv och får något som är testat. I deras fullversion så får man med en IDE baserad på Eclipse och "Enhanced Hardware Debug Support", exakt vad de menar med det är jag lite osäker på.
Re: Förslag på toolchain till Cortex M3 (STM32)
Jag har stora problem att få CodeSourcerys att fungera i Linux. Samma projekt fungerar att kompilera och länka i windows men i Linux får jag problem vid länkningen. Versionen på windowsburken är iofs lite äldre så det kan också vara problemet. Har inte hunnit prova uppgradera det till nyaste ännu.
Nu är jag tyvärr inte hemma men felmeddelandet på linuxburken ser ut ungefär såhär:
undefined reference to `__init_array_start'
undefined reference to `__init_array_end'
Jag tror att det beror på länkningsscriptet men jag använder samma på båda maskinerna och det har funkat förr. Det är det som följer med ett ledblink-exempel jag hittade på nätet.
Så är det nån som har fungerande länkningscript till nyaste versionen av CodeSourcery G++ Lite för Linux eller vet vad jag har gjort för galet? Kanske bara fattas nåt bibliotek på linuxburken?
edit: Nu har jag provat kompilera på windowsburken och lagt in programmet med bootloader-scriptet som finns till linux så jag vet att det fungerar iallafall.
Har lagt till nån slags init-grej jag hittade på nätet till länkscriptet och då länkar den men nu blir .bin-filen 400MB av nån anledning så det är nåt som inte stämmer. Får greja på lite mer...
edit2: Äntligen! Bifogar filen om nån får samma bekymmer.
Det jag gjorde var att helt enkelt lägga till det som den klagade på... fet text är nytt.
Nu är jag tyvärr inte hemma men felmeddelandet på linuxburken ser ut ungefär såhär:
undefined reference to `__init_array_start'
undefined reference to `__init_array_end'
Jag tror att det beror på länkningsscriptet men jag använder samma på båda maskinerna och det har funkat förr. Det är det som följer med ett ledblink-exempel jag hittade på nätet.
Så är det nån som har fungerande länkningscript till nyaste versionen av CodeSourcery G++ Lite för Linux eller vet vad jag har gjort för galet? Kanske bara fattas nåt bibliotek på linuxburken?
edit: Nu har jag provat kompilera på windowsburken och lagt in programmet med bootloader-scriptet som finns till linux så jag vet att det fungerar iallafall.

edit2: Äntligen! Bifogar filen om nån får samma bekymmer.
Det jag gjorde var att helt enkelt lägga till det som den klagade på... fet text är nytt.
...
__exidx_start = .;
__exidx_end = .;
__init_array_start = .;
__init_array_end = .;
...
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Förslag på toolchain till Cortex M3 (STM32)
Jag använder Yagarto som körs direkt i Windows utan cygwin och använder GCC.
Finns på:
http://www.yagarto.de/
Som utvecklings miljö använder jag Eclipse som är kopplat till Yagarto:
http://www.jeroenhermans.nl/yagarto-and-eclipse
Att tänka på är att man får fixa startup.s, .ld och makefile eftersom de exemplen man får till STM32 endast är för kommersiella kompilatorer. Jag hittade dessa filer på nätet och moddade dem.
Finns på:
http://www.yagarto.de/
Som utvecklings miljö använder jag Eclipse som är kopplat till Yagarto:
http://www.jeroenhermans.nl/yagarto-and-eclipse
Att tänka på är att man får fixa startup.s, .ld och makefile eftersom de exemplen man får till STM32 endast är för kommersiella kompilatorer. Jag hittade dessa filer på nätet och moddade dem.
Re: Förslag på toolchain till Cortex M3 (STM32)
Intressant tråd. 
Jag har trixat ihop en "byggmiljö" för att kunna "paketera" utvecklingen ungefär som när man jobbar med större Linux/GNU projekt.
Finns att åskåda i en fortfarande urtidig stadie på http://sourceforge.net/projects/ubip
Tanken är att jag snabbt vill kunna återanvända kodmoduler i andra sammanhang, lätt kunna uppgradera när någon ny version
av någon kodmodul finns framme etc.
Den är ju inte rocket science precis, mer gjort för oss som använder cmdline istf gui, men skulle iofs gå att driva via Eclipse också.
Enbart Makefile baserat och väldigt enkelt uppbyggt. Fungerar bra att bygga ihop med tex toolchain från codesourcery.
Nu ska jag bara hitta en lösning på mitt problem att ladda/debugga mina EFM32 moduler som kräver SWD och inte JTAG som jag förutsatte...
Hur löser ni andra det? Antar det är fler Cortex-M3 baserade MCU'er än EFM32 som enbart har SWD?

Jag har trixat ihop en "byggmiljö" för att kunna "paketera" utvecklingen ungefär som när man jobbar med större Linux/GNU projekt.
Finns att åskåda i en fortfarande urtidig stadie på http://sourceforge.net/projects/ubip
Tanken är att jag snabbt vill kunna återanvända kodmoduler i andra sammanhang, lätt kunna uppgradera när någon ny version
av någon kodmodul finns framme etc.
Den är ju inte rocket science precis, mer gjort för oss som använder cmdline istf gui, men skulle iofs gå att driva via Eclipse också.
Enbart Makefile baserat och väldigt enkelt uppbyggt. Fungerar bra att bygga ihop med tex toolchain från codesourcery.
Nu ska jag bara hitta en lösning på mitt problem att ladda/debugga mina EFM32 moduler som kräver SWD och inte JTAG som jag förutsatte...

Hur löser ni andra det? Antar det är fler Cortex-M3 baserade MCU'er än EFM32 som enbart har SWD?
-
- Inlägg: 81
- Blev medlem: 13 april 2010, 14:40:04
- Ort: Stockholm
Re: Förslag på toolchain till Cortex M3 (STM32)
Nu finns en web-baserad miljö på http://mbed.org/
Den ska gå att köra på PC, Mac eller Linux
Jag prövade först på min Mac men har inte lyckats än.
På PC verkar det funka bra.
Man behöver köpa det lilla kortet först innan det går att komma igång med kompilatorn.
Den ska gå att köra på PC, Mac eller Linux
Jag prövade först på min Mac men har inte lyckats än.
På PC verkar det funka bra.
Man behöver köpa det lilla kortet först innan det går att komma igång med kompilatorn.
Re: Förslag på toolchain till Cortex M3 (STM32)
Ett något off-topic-tips är ju även att redan tidigt börja kika på realtids-OS. Även om det kanske inte behövs till slut i den färdiga prylen är det mycket bra att ha under utvecklingen. FreeRTOS tar inte många timmar att komma igång med och gör debugging och resursövervakning bra mycket smidigare.
Re: Förslag på toolchain till Cortex M3 (STM32)
Lite OT kanske, men är det bara jag kom enbart kör via kommandotolk i Linux (Ubuntu) förutom när jag skriver koden?
Jag kollade lite på GNU ARM, men till skillnad från deras "paket" så fixade jag allt för sig med nyare (~senaste) versioner.
Så jag har istället:
Sedan har jag valfri en text-/kodeditor, en Makefile och OpenOCD för att ladda det.
Men de kanske inte är så vanligt att göra på det här sättet längre?
Men är någon sugen så kan jag kasta upp scriptet här.
//Korken
Jag kollade lite på GNU ARM, men till skillnad från deras "paket" så fixade jag allt för sig med nyare (~senaste) versioner.
Så jag har istället:
- - Binutils 2.20.1
- Newlib 1.18.0
- GCC 4.5.1
- Insight/GDB 6.8
Sedan har jag valfri en text-/kodeditor, en Makefile och OpenOCD för att ladda det.
Men de kanske inte är så vanligt att göra på det här sättet längre?
Men är någon sugen så kan jag kasta upp scriptet här.
//Korken