STM32F103C8T6 kérdés

Cortex. ARM3, ARM5, ARM7 magok, mindenféle gyártóktól. Programozás-fejlesztés-tippek.
Avatar
csabeszq
Bitfaragó
Hozzászólások: 678
Csatlakozott: 2012. szeptember 5. szerda, 6:00

STM32F103C8T6 kérdés

Hozzászólás Szerző: csabeszq »

Sziasztok,

A helyzet az, hogy úgy tűnik, nem úszom meg STM32 nélkül az életet, jó lenne valami alapos doksi, tutorial, hogy hogyan lehet ezeket a chipeket programozni. Hatalmas összevisszaság van a neten, a chip doksija túl magas léptékű, miközben a tutorial-ok fele vagy nem működik, nem is fordul, vagy nagyon amatőr szinten van. Átlátható API doksi mindenképp jó lenne.

Mire lenne szükségem?
- mini oszcilloszkóp projekten gondolkozom
- a chip képes 12 biten 1 MSPS mintavételezésre
- amit meg lehet fejelni a második ADC fast interleaved módjával, ami máris 2 MSPS lenne (a két ADC eltolással méri ugyanazt a lábat)
- ezt nem ártana el is tárolni, amire a DMA lenne a legmegfelelőbb
- tudni kellene analóg joysticket is kezelnie, amikor épp nem mintavételez

Emellett nem mindig 2 MSPS-sel akarok mintavételezni, szóval ha timerrel tudnám vezérelni a mintavételezési sebességet, az mindenképp előnyös lenne. Természetesen lesz elé rakva PGA (erősítő).

Az ADC rész nagyon durvának tűnik, emellett valami SPI LCD-t sem ártana kezelni, de az már nem annyira gázos.

Gondolom a chip tudásánál fogva ezt kisujjból kirázza, viszont ilyen teljesítményre más chip nem hiszem, hogy képes. Ami előnyös lenne, hogy kevés eszközzel megvalósítható vele egy komplett szkóp. Nem kell 2 MSPS-nél komolyabb állat nekem.

A panel az ebay-es 700 Ft-os csodapanel:
Kép
vargham
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2014. január 8. szerda, 8:32

Re: STM32F103C8T6 kérdés

Hozzászólás Szerző: vargham »

Nem írtad, hogy mivel próbálkoztál, ami nem működött.

Legyen inkább egy Maple Mini klón.
https://www.aliexpress.com/item/STM32F1 ... 46722.html
Alig kerül többe, viszont STM32F103CBT6 van rajta, ami ugyanaz csak 128 kB flash van benne.
És a lényeg: Megegyezik egy Nucleo-val (NUCLEO-F103RB), így teljes mértékben támogatott az mbde online-on.

Kelleni fog hozzá egy ST-Link programozó:
https://www.aliexpress.com/item/ST-Link ... 74104.html
Szerencsére csak 2$.

Ezekre lesz hozzá szükséged:
http://www.st.com/content/st_com/en/pro ... nk004.html
http://www.st.com/content/st_com/en/pro ... nk007.html
http://www.st.com/content/st_com/en/pro ... nk009.html

Ami nekem azonnal működött:
mbed devleoper online
Egyik board sem támogatott hivatalosan, de pár apró szoftveres módosítással és odafigyeléssel használhatóak.
https://developer.mbed.org/users/hudakz ... ini_Hello/
https://developer.mbed.org/users/hudakz ... 8T6_Hello/

Offline IDE:
-Keil uVision
http://www2.keil.com/mdk5/uvision/
Minden támogatott. A modulokat (MCU, perifériák) össze lehet válogatni, és csomagban letölti őket. Hátránya, hogy csak 32 kB kódméretig ingyenes, utána 2500 €.
-CooCox CoIDE 1.7.8
A 2.0 beta nem jó!
https://www.coocox.org/download/Tools/CoIDE-1.7.8.exe
Ha nem tudod letölteni, mert timeout-ra megy, akkor adj egy email címet, óriáslevél küldővel elküldöm.
Lehet használni az mbed online-ból exportált projektet. Van direkt CoIDE export modul. Működik a debug. Ingyenes bármekkora kódméretig.

Úgy tapasztalom, hogy alapból minden fejlesztőeszköz Windows-ra van. Azonnali, gyártói támogatással, aktív online közösséggel. Össze lehet hozni a fejlesztést Linux-on és OSX-en is, de sokkal több kézi beállítást igényel.
Avatar
csabeszq
Bitfaragó
Hozzászólások: 678
Csatlakozott: 2012. szeptember 5. szerda, 6:00

Re: STM32F103C8T6 kérdés

Hozzászólás Szerző: csabeszq »

Köszi,

Eclipse-be raktam fel a plugint (openocd), miután megeditáltam 10 fájlt, lefordítottam 5 projekted, beállítottam 5 oldalt eclipse-ben, úgy tűnik, hogy Linux alatt tudok debuggolni SWO segítségével (stlink).

Az élet ennyire azért nem egyszerű, mert a trace üzenetek nem jönnek át, mintenesetre komoly eredmény, hogy már debuggolni tudok. A trace viszont sajnos komolyan hiányzik.
vargham
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2014. január 8. szerda, 8:32

Re: STM32F103C8T6 kérdés

Hozzászólás Szerző: vargham »

Klón stlinket használsz?
Itt a megoldás trace-re:
https://lujji.github.io/blog/stlink-clone-trace/
Avatar
csabeszq
Bitfaragó
Hozzászólások: 678
Csatlakozott: 2012. szeptember 5. szerda, 6:00

Re: STM32F103C8T6 kérdés

Hozzászólás Szerző: csabeszq »

Köszi, igazából nem fogom átbuherálni, mert nincs belőle másik, ebay-ről meg csak jövőre nyárra érkezik meg. :)

Ahogy olvasgatom, nekem nem az SWO-ra van szükségem, hanem semihosting-ra. Ha jól értem, akkor a trace semihosting mellett az SWDIO, SWCLK vonalakon megy. Ahhoz nem kell külső UART, bár sebességben lassabb. Talán abba az irányba kellene elmenni.
vargham
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2014. január 8. szerda, 8:32

Re: STM32F103C8T6 kérdés

Hozzászólás Szerző: vargham »

Semihosting nekem azonnal működött CoIDE-ben. Valóban nem kell hozzá buherálni.
Az ST-LINK-et pedig rendeld meg most. Lehetőleg 2-3 darabot, aztán örülj nekik január végén. :-) Akkor majd nyugodtan buherálhatsz.
Avatar
csabeszq
Bitfaragó
Hozzászólások: 678
Csatlakozott: 2012. szeptember 5. szerda, 6:00

Re: STM32F103C8T6 kérdés

Hozzászólás Szerző: csabeszq »

Megrendeltem. Egyébként nem fáj a szívem, mert az 5V-ot nem fogom hiányolni. Igazából csak dísznek van ott.
vargham
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2014. január 8. szerda, 8:32

Re: STM32F103C8T6 kérdés

Hozzászólás Szerző: vargham »

Az enyémen 2db 5V tüske is van. :-)
Avatar
csabeszq
Bitfaragó
Hozzászólások: 678
Csatlakozott: 2012. szeptember 5. szerda, 6:00

Re: STM32F103C8T6 kérdés

Hozzászólás Szerző: csabeszq »

Működik a semihosting és megértettem, amit írtatok.

Igen, jó, jó lassú, gondoltam az még nem baj. Na de ennyire? Látványosan lassú, mármint hogy látom ahogy egymás után íródnak ki a karakterek.
Szóval megy az stdout, viszont alig várom, hogy megérkezzen a csere programozó. Nem gondoltam, hogy ilyen látványosan lassú.

Az stderr nagyon lassú, az stdout okés.
vargham
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2014. január 8. szerda, 8:32

Re: STM32F103C8T6 kérdés

Hozzászólás Szerző: vargham »

Működik a semihosting és megértettem, amit írtatok.
Örülök, hogy sikerült.

Amúgy rajtam kívül még nem írt ide senki. :-)
Avatar
csabeszq
Bitfaragó
Hozzászólások: 678
Csatlakozott: 2012. szeptember 5. szerda, 6:00

Re: STM32F103C8T6 kérdés

Hozzászólás Szerző: csabeszq »

Találtam doksit is:

https://www.cs.indiana.edu/~geobrown/book.pdf

Tök jó a doksi, a LED villogtató példa misztikus hieroglifái megvilágosodtak számomra. A könyv nagyon jó, lassan kezdek érteni egyiptomiul is.
Avatar
csabeszq
Bitfaragó
Hozzászólások: 678
Csatlakozott: 2012. szeptember 5. szerda, 6:00

Re: STM32F103C8T6 kérdés

Hozzászólás Szerző: csabeszq »

Vargham,

Nálam út tűnik győzni fog a kényelem az SMD láb forrasztgatás felett. A probléma egyrészt hogy nem is látom, másrészt hogyan nyomom hozzá az ónt, harmadrészt meg hogyan távolítom el. A cikket olvasva jó ötletnek tűnik, hogy szétszedjük az ST-LINK-et és 2 vezetéket összekötünk, mindaddig, amíg nem nekem kell megcsinálni.

A megoldás természetesen megtalálható az Aliexpresszen (új st-link JTAG lábakkal):

https://www.aliexpress.com/item/ST-Link ... 0753374a90

Minél idősebb vagyok, annál inkább hajlok arra, hogy fizetek 2.5$-t és dolgozzanak helyettem a kínaiak.
:)
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Re: STM32F103C8T6 kérdés

Hozzászólás Szerző: kapu48 »

Próbálok ide irányítani a témáról érdeklődő, bár még kezdő tagot.
Remélem, nem okoz gondot?
bagizoltan írta: Milyen fejlesztő eszközt javasolsz STM32-höz egy hobbistának?
Azt azért hozzá tenném, hogy Arduinóval is egészen hasznos dolgokat sikerült megcsinálnom, és annak volt köszönhető, hogy a fejlesztő eszköz ennyire egyszerű! Így a profi fejlesztő eszközök egyrészt túl bonyolultak, másrészt várhatóan költségesek.
Egy ilyen egyszerű kérdésre, nem is olyan egyszerű válaszolni! (És valószínű, hogy mindenki a saját módszerét tudná felhozni példának.)

Szóval kezdőknek első lökésként Arduinos alkalmazást ajánlanák, ha már abban a témában jártasak kissé!
Mivel a képek beszédesebbek, mint a szavak, legyen itt pár Youtube-os link kezdésnek:
https://www.youtube.com/watch?v=TePglhSkghg
Arduino IDE with an STM32F103 board: https://www.youtube.com/watch?v=-zwGnytGT8M


STM32F103 Installation Arduino on Windows
http://www.stm32duino.com/viewtopic.php?f=20&t=32
Installation is also documented in the GitHub wiki https://github.com/rogerclarkmelbourne/ ... stallation

Other STM32 Arduino projects: https://github.com/rogerclarkmelbourne/ ... o-projects

És, hogy emberibb nyelven is találj valamit: ARM - Miértek hogyanok
http://www.hobbielektronika.hu/forum/to ... 49543.html
Avatar
csabeszq
Bitfaragó
Hozzászólások: 678
Csatlakozott: 2012. szeptember 5. szerda, 6:00

Re: STM32F103C8T6 kérdés

Hozzászólás Szerző: csabeszq »

Én is kezdő vagyok, ezért lehet, hogy hülyeséget írok.

AVR alatt egyszerű az élet, mert az Arduino-t és a C++-t hasonlóan lehet lehet hardver szinten programozni, mindkettő avrlibc-t használ. Letöltesz a netről egy kódot, beszúrod arduino-ba, ha pedig szerencséd van működik és fordul.

STM32 alatt már nem ennyire egyértelmű a helyzet:
- STM32 alatt akik programoznak, Keil vagy Eclipse környezeteket használnak (Standard Peripheral Libraries)
- STM32 Arduino libmaple-t használ

A neten található DMA,ADC,... példák SPL alatt íródtak, Arduino-ban ezt nem fogod tudni használni. Az Arduino libmaple-t használ, API doksi itt:
http://librambutan.readthedocs.io/en/la ... /apis.html

Magyarul amit a nép használ (Keil, SPL), azokat a példákat te nem fogod tudni használni, neked a libmaple-vel kellene dűlőre jutnod. Más úton fogsz Arduino alatt előre menni, mint aki SPL-t használ. Ugyanaz a chip van, csak két API környezet hozzá, példaprogramot meg nehezebb keresni a neten.

STM32 alatt az Arduino előnye nem akkora, mint AVR-ek alatt. Arduino IDE alatt nem tudsz debuggolni, meg egy csomó hátulütője van. Az Eclipse kényelmesebb az Arduino IDE-nél. A Keil-t nem ismerem, egyszer elindítottam, de már elfelejtettem, hogy mit csinál. A libmaple másik problémája, hogy nem fedi le a chip képességeit 100%-ban, csak mondjuk 50%-ban.

Amit én leszűrtem:
- Arduino - könnyű indulás, nehéz továbblépés, minél előrébb jutsz, annál neccesebb
- SPL - nehéz indulás, nehéz összerakni mindent, nehéz programozni, nehéz megérteni, viszont ha kinyílik a világ, könnyebben mész előre.

Ha könnyű indulást akarsz: Arduino, ha messzire akarsz jutni: SPL.
vargham
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2014. január 8. szerda, 8:32

Re: STM32F103C8T6 kérdés

Hozzászólás Szerző: vargham »

mbed
Elsőre olyan gyors a haladás, mint Arduino-val. Online IDE, instant sikerélmény, ahogy villog a LED. :-) Utána viszont van tovább lépés.
Válasz küldése