Mikrokontrolery przyjazne dla amatorów

Swoją zabawę z programowaniem MCU zaczynałem od AVR-ów. Muszę przyznać, że Atmel jest firmą szczególnie sprzyjającą amatorom - udostępnili za darmo środowisko i pełnosprawny kompilator. Teraz eksperymentuję z PIC32 i o ile pierwsze wrażenia są bardzo pozytywne, to w beczce miody jest też łyżka dziegciu - darmowa wersja kompilatora XC32 obsługuje tylko optymalizację na poziomie -O1. Nie ma możliwości włączenia wyższej, w tym Os, która pozwoliłaby zaoszczędzić sporo miejsca we flashu MCU. Microchip nadrabia za to przygotowaniem bibliotek do obsługi peryferiów, razem w wyższymi warstwami (stos USB, stos TCP/IP).

Jak jest w przypadku innych rodzin? W przyszłości chciałbym się przyjrzeć STM32. Jak wygląda robienie projektów na tę platformę z punktu widzenia amatora? Dostępne jest darmowe środowisko i kompilator? Nie ma żadnych ograniczeń w optymalizacji i/lub rozmiarze generowanego kodu?

Reply to
Atlantis
Loading thread data ...

W dniu 2016-01-08 o 13:07, Atlantis pisze:

z praktyki mojej - fajne, dopóki nie zaczniesz wnikac w szczegóły. np w implementację hardware handshakingu w UART'cie :) Dobre też, bo to Cortex, więc wiedza nabyta o CPU będzie w miare uniwersalna.

jak rozważałę ;) to było coś z gcc, ale o rozsądnym debugowaniu w wersji darmowej możesz zapomnieć.

po chwilowej przyjaźni z LPC zostałem z Atmelem, 32-bitowe AVRy, mimo, że na własnej Atmelowej architekturze, wystarczają mi w zupełności. Do tego darmowe środowisko bez ograniczeń, kompletny CSL z przykładami - pomogło w decyzji.

a.

Reply to
Artur Miller

Wychodzą z założenia, że amatorom powinno to wystarczyć, profesjonalista zapłaci $1000 za licencję, a haker i tak zrobi tak jak będzie chciał...

Reply to
Marek

Masz na myśli stm32?

Dlaczego? STM supportuje w większości cpu jtag, dorzucasz openeocd + gdb i masz de facto pelny debug pod czym chcesz.

Chyba wszystkie army z tej okolicy debuguje się identycznie i raczej

*niczego* nie brakuje, może poza sprzetowymi pułapkami.
Reply to
Sebastian Biały

po stronie CPU tak. a debuger? te chińskie jtagi (ulink2) działają w ogóle sensownie? może jakies inne są w rozsądnej dla amatora cenie?

a.

Reply to
Artur Miller

OpenOCD + gdb. Dalej to już kto co woli, np. Eclipse.

Każdy JTAG zadziala sensownie. Uzywam staruszka Olimex na USB. Mam też taki na LPT i jakiś noname który emuluje bodaj byteblaster. Każdy działa o ile rozpozna go OpenOCD. A on rozpoznaje chyba wszystkie, wliczając w to chińskie klony za 1E.

*Każdy* wspierany przez OpenOCD i mający prawidłowe napięcia. Ten na 6 rezystorach z LPT też ;)
Reply to
Sebastian Biały

jebać euro, a poza tym, to jak tego się używa bo jakoś nie mogę sobie wyobrazić...

Reply to
platformowe głupki

Też nie wiem, w euro nie ma dziuki, wieć to musi byc jakoś inaczej.

Reply to
Sebastian Biały

tak też podejrzewałem, powski ekspercie...

dodam od siebie coś ciekawego:

formatting link

Reply to
platformowe głupki

Atlantis snipped-for-privacy@wp.pl napisał(a):

Ściągasz sobie Eclipse w wersji dla C/C++ (a nie ten dla Javy). Do tego podpinasz sobie kompilator, np. GCC z

formatting link
oraz kilka uniksowych narzędzi potrzebnych przy budowaniu projektu z
formatting link
I możesz kompilować. Do programowania i debugowania używasz OpenOCD, które integruje się z Eclipse. Wszystko za darmo, bez ograniczeń.

Reply to
Grzegorz Niemirowski

hm... gdyby jeszcze ten cholerny UART mnie tak nie zraził do STMów, to może... ;)

a.

Reply to
Artur Miller

A co w nim złego? Z ciekawości pytam, w zasadzie uarty wszystkie takie same.

Reply to
Sebastian Biały

Tak.

Żadnych. Chyba że z powodów religijnych albo certyfikacyjnych g++ się nie nadaje.

Reply to
Sebastian Biały

podczas transmisji UARTem ze sprzętowym handshakiem i (zwłaszcza) z wykorzystaniem DMA spodziewam się, że RTS sie aktywuje na początku transmisji i gaśnie po wysłaniu całego bufora (zakładając, że odbiorca może odbierac i CTS ciągle jest zapalony). Otóż nie, w STM32 (przynajmniej w wersji F103) RTS jest najwyraźniej "hardwired" do sygnału "tx buffer empty", więc po każdym wysłanym znaku RTS gaśnie na czas potrzebny do zassania nowego znaku z RAMu do nadajnika UARTa przez DMA.

niby pierdoła, ale ten ficzer ślicznie wykładał GSMowy modem EHS-5 Cinterion'a (reset modemu bez żadnego komunikatu o błędzie po kilkudziesięciu przesłanych bajtach). Niestety sprzęt nie był moim wyborem, a projekt był za daleko, zeby go zmienić...

drugą raczej ciekawostką było odkrycie, że sam chip mocno emituje zakłócenia RF w swoim sąsiedztwie. w układ poskładany na pająku (STM32 + GPS + GSM) działał, a ściśnięty w małej obudowie wykazywał problemy z GPSem. Oczywistości były wykluczone oczywiście :) to nie był mój projekt, szczegółow nie znam, ale mam dostęp do osób, które z tym walczyły, mogę wyciągnąć więcej info w razie potrzeby.

a.

Reply to
Artur Miller

W wolnej chwili zerknę na to. Nie używam sprzetowej kontroli więc nie zauważyłem.

Czyli jednak nie wina stm32 :D

Z ciekawostek, Atmelowski SAM7 popędzałem kiedyś w celu sterowania wyswietlacza. Słuchałem radia kiedy to nagle ... jak by coś piszczało. Nie, to nie jest możliwe, ale przenisłem układ bliżej. Jak to pieknie grało! Okazało się ze grało równie głośno po odpięciu kabli od LCD, a na płyce tylko cpu i zasilanie :D

Reply to
Sebastian Biały

gdzieś nawet oscylogram miałem, ale nie mogę znaleźć teraz

mhm ;)

SAM7 to chyba już relikt... i może zapomniałeś o "EMC design guidelines" ;)

a.

Reply to
Artur Miller

Nie używam go głównie z powodu głupiel polityki cenowej Atmela (pewnego dnia ceny we wszystkich sklepach skoczyły koło 5x o ile pamiętam). Ale kiedyś wydawał mi się ciekawy ... do pierwszego buga w inkludach dostarczanych w examplach. Strata kilku dni to jednak bolesna sprawa.

Kto robiąc prototypy zajmuje się pierdołami ;) ?

Reply to
Sebastian Biały

to chyba DSPków Texasa też nie lubisz ;)

a.

Reply to
Artur Miller

Nie używam. Da facto od kilku lat jestem zdecydowanie software niż hardware developer. Ale odkurzam się powoli i nie wykluczone że coś z dsp można by użyć w celu twórczej straty czasu. Albo choćby żeby potrolować potem na grupie o wyższości C++ nad C w dsp :D

Reply to
Sebastian Biały

Zastanawia mnie bardzo często ostatnio używany argument "łatwości debugu". Praktycznie nigdy nie miałem potrzeby debugować (a programuje unices, mcu 8 i 32bit}. Serio średnio tak wszyscy kiepsko teraz programują, że bez debuga ani rusz, wręcz staje się to kryterium wyboru narzędzi/platformy??

Reply to
Marek

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.