Fórum témák
» Több friss téma |
Csináld magad ST-Link/V2 - lusta ember módjára: A fillérekért kapható STM32F103C8T6 kártyából (bluepill) pillanatok alatt ST-LINK V2 (SWD only!) programozót varázsolhatunk egy 100 ohmos ellenállás és négy drót segítségével.
1. Kössük össze a B12 és a B14 lábakat egy 100 ohmos ellenállással! 2. Kössük össze a target áramkörrel: B14 - SWDIO, B13 - SWCLK, GND - GND, 3V3 - VCC Én az ebben a cikkben hivatkozott firmware-t töltöttem a programozóként használt STM32F103C8T6 mikrovezérlőbe. Ezután az STM32 ST-Link Utility letöltőprogram segítségével programoztam fel egy XNUCLEO-F411RE kártyát kísérlet gyanánt. De létezik már CMSIS-DAP firmware is, szóval lehet válogatni, van választék. Megjegyzés: A fentebb ismertetett minimalista összeállítás csak STM32 programozásra alkalmas (SWD only). STM8 programozáshoz más lábakat és több ellenállást kell felhasználni. A fentebb belinkelt cikkben található ehhez egy komplett kapcsolás. Felhasználói kérésre módosítva- A hozzászólás módosítva: Szept 27, 2019
Moderátor által szerkesztve
Texas Instruments EK-TM4C123GXL (Tiva Launchpad) kártyára portoltam az usb_dev_keyboard (HID billentyűzet) mintapéldát (CCS 6.1.1 és Tivaware 2.1.2.111). Sajnos, ehhez a kártyához nem tettek közzé ilyen mintaprogramot, ezért a dk-tm4c123g kártya mintapéldáját "vettem kölcsön" a Tivaware mintapélda gyűjteményéből. A hardver különbségek (máshová van kötve a LED és a nyomógomb, nincs grafikus kijelzőm, stb) miatt szükséges változtatások után sem akart USB-re kapcsolódni a kártyám. A végső áttörést az hozta meg, hogy a
programsort kicseréltem erre:
Így már működik! Ha valaki Tiva Launchpad kártyával szenved, figyeljen erre az apróságra! A hozzászólás módosítva: Jún 14, 2016
Még egy kis magyarázat az előzőekhez: Az EK-TM4C123G kártyán gyárilag nincsenek beültetve az R25 és R29 jelű átkötések, emiatt nem működik az USB_ID és VBUS monitorozás. Így nem csoda, hogy elrőltetés (azaz a FORCE tag beiktatása) nélkül nem érzékeli a szoftver az USB-re csatlakozást. Bővebben: Tiva C USB Mode Force Device
A hozzászólás módosítva: Jún 15, 2016
Sziasztok! Programoztam már pár mikrokontrollert, de az STM világa annyira más, hogy muszáj kérdeznem. Van egy STM F103C8T6 mikrokontrollerrel szerelt ilyen boardom és egy ilyen eszközöm. Tudok velük valamit kezdeni, vagy csak célbadobni lesz jó? Mert hiába a vas, egyszerűen nem találok értelmes, fehér ember számára írt programot és leírást, hogyan lehetne a könyvtámasz funkción kívül bármit is kezdeni velük. Letöltöttem egy c mintaprogramot, de bármilyen ST által ajánlott programba betöltöttem, csak megnyitni és editálni tudtam, lefordítani, letölteni - nem. Tudom, hogy én vagyok alulinformált, de nincs egy normális leírás ezekhez a cuccokhoz? Sok angol oldalt végigszenvedtem - az ST oldalát is, de mintha kínai lenne az angol leírás is és kifejezetten marslakóknak.
Keil MDK 5 tudja kezelni az Ulink2 eszközt programletöltésre és nyomkövetésre. Az ingyenes változat 32 k-ra limitált. Ahogy a fentebb linkelt lapon is mondják, az alaprendszer telepítése után a Pack Installer segítségével külön kell felrakni a gyártó/típus-specifikus csomagokat. A Keil5/ARM/Boards/ST/ mappában keress egy szimpatikus mintaprojektet!
AZ STM32F103C8T6-ben 64K flash ram van.
Ami már magában is csak minimális feladatokra elég! Most ezt még megfelezni a Keil kedvéért nagy luxus! Igaz, hogy az egyik legjobb IDE, de a legdrágább is, és nehezen tanulható! Másik lehetőség az Ardunio alá is lehet már telepíteni az STM32F103xx kezelő rendszert! Ingyenes! Kezel minden Flash méretű STM32F103xx korlátozás nélkül. Az Ulinknek elég 2 vezetéke a programozáshoz, amennyiben tud ST-link-ként üzemelni? A programról bővebben keres rá: Maple Quickstart Guide Bővebben: Link Arduino for STM32
Az ingyenes Keil által nyújtott kódméret a kezdéshez bőségesen elég. Ulink2-t egyébként lehet mással használni?
Később ha megjön az étvágy, egy pár dolláros beruházással lehet másik programozót szerezni, vagy készíteni, s akkor lehet váltani. Újabban az Atollic Truestudio már nem korlátoz, érdemes azzal is próbálkozni. Az Arduinoval el lehet játszadoznii (kíváncsiságból én is telepítettem az STM bővítményt hozzá), de az ARM Cortex M3 MCU megismeréséhez nem a legalkalmasabb eszköz. Egyébként pedig a használatához még egy bootloadert is rá kell varázsolni a mikrovezérlőre. Ezen az oldalon vagy a GitHUBról szerezhető be.
Ezt jó, hogy említetted: "Újabban az Atollic Truestudio már nem korlátoz"!
Már megyek is letölteni! Egyébként bármilyen már meglevő Diskoveri borard, amin van ST-link jó az STM32Fxxx-eseket programozni, arduinó alól. A hozzászólás módosítva: Jún 16, 2016
Nekem Keil 5 van egyenlőre elég volt eddig a 32k.
Máshol a http://www.coocox.org/ ajánlották limitálás nélkül.
Sziasztok! Köszönöm a tippeket. Letöltögetem őket és próbálkozom.
Sziasztok. Valaki probalkozott 32F4-et kivaltani 32F7-el ? Mennyire lab -es periferia kompatibilisek ?
Sziasztok. STM32L152 USARTon probalok break condition-t generalni. Mas megoldast nem talaltam, atvaltok GPIO-ra, aztan vissza USARTra. USARTrol GPIOra az atvaltas problema mentes, viszont amikor vissza valtok USARTra, akkor van egy tuske a TX labon. Debgerrel kinyomoztam a hiba forrasat, ez pedig a AFR[2] regiszter irasakor tortenik. A library erre vonatkozo kodjat manualisan optimalizaltam sebessegre, most rovidebb ideig tart az impulus, de eltuntetni sajnos nem sikerult. Az AFR[2] indexeleset kiveve mindent optimalizaltam sebessegre. Valakinek van meg otlete ?
Hol laksz?
3 óra alatt megmutatok annyit hogy meg legyen a kezdő lökés
Szia! Biatorbágyon. Minden segítség jól jön. Nem vagyok teljesen kezdő, de most ez kicsit olyan, mintha repülőt kellene vezetnem B kategóriás jogsival, ráadásul minden megtett kilométerért busás vámot kell fizetnem. Több programnyelvben írtam már programokat. Mikrokontrollert is programoztam és programozok. De azok még hardverközeli eszközök. Beadok az elején 2db 1Ft-ost és kiad egy 2Ft-ost. Ezek az STM procik nekem kicsit olyanok, mintha szőrszálakból kellene parókát ragasztani - leírás nélkül. Azt sem tudom hol van az eleje, hol a hátulja. Letöltögettem pár programot, de alapvető hardveres dolgokat nem találok. Hol lehet a programozót beállítani, portot stb. Miért nem tudok egy sima 5 soros programot lefordítani?... stb. Hogyan tudok egyetlen I/O portot végre működésre bírni? Miért kell 500MB-1GB szoftver egy 32k-s programhoz?
Idézet: A mikrokontroller-specifikus adatlapok böngészése előtt én az javasolnám, hogy kerülj tisztába az ARM architektúrával. Ezen a szinten már nincs túl sok különbség az egyes gyártók termékei között (mivel az ARM csak "írja" a processzormagokat, aztán eladja őket gyártásra), ezért ha architekturálisan átlátod a dolgot, akkor ugyanúgy fogod tudni programozni az éppen kezedbe akadó Cortex-M kontrollert, függetlenül attól, hogy az ST, a Freescale, az NXP, vagy éppen a Texas Instruments gyártotta.„Ezek az STM procik nekem kicsit olyanok, mintha szőrszálakból kellene parókát ragasztani - leírás nélkül.” Idézet: Ebben is segítene az ARM architektúra ismerete. Itt az egyszerű AVR, PIC stb. mikrovezérlőkkel ellentétben hierarchikus buszrendszer van (AHB-APB), az egyes buszoknak külön órajelük van, ezeket konfigurálni kell, aztán lehet egyesével engedélyezni és beállítani a perifériákat, beleértve a GPIO-t is. Szóval gyanús, hogy az a program, ami elfért öt sorban, ezt nem csinálja meg. De nem akarom azt sugallni, hogy bonyolult, mert nem az. És ehhez érteni kell, mert amikor ezek az IC-k lassan olcsóbbak, mint egy kis nyolcbites PIC, akkor érthető, hogy utóbbiak ipari jelentősége egyre csökken. Egyébként az STM Discovery fejlesztőkártyák nagyon népszerűek, sok példakód található hozzájuk, rajtuk van a debugger is, meg egy csomó periféria, az áruk is igen kedvező (megfelelő forrásból vásárolva), talán jobban jártál volna első körben egy olyannal. De a példakódokat mindenképp tudod használni.„Miért nem tudok egy sima 5 soros programot lefordítani? Hogyan tudok egyetlen I/O portot végre működésre bírni?” Idézet: Kisebb mikrokontrollereknél sincs ez másként: az Atmel Studio telepítője 898 MB, a Michrochip MPLAB-X 554 MB. De ennek a nagy része a szövegszerkesztő. Ha nagyon mazochista lennél, néhány megabájt is elég lenne a fejlesztéshez. A profi fejlesztőkörnyezetek is a standard eszközöket használják (gcc, make stb.), csak nyújtanak hozzá egy kényelmes felületet. Tehát akár írhatnád a forrásfájlokat és a makefile-t Notepadban, és futtathatnál mindent parancssorból, csak hamar elmenne tőle a kedved. „Miért kell 500MB-1GB szoftver egy 32k-s programhoz?” Ha sokat programozol, akkor valószínűleg ismerős az Eclipse. Én ezt használom, mert megszoktam, és kényelmes, hogy ugyanazt a környezetet használhatom C++, Java, ARM stb. programozásra. Hátránya, hogy kicsit körülményes manuálisan összelapátolni a szükséges komponenseket, és van is egy-két nyűgje. A másik, amit már említettek korábban, az a CooCox. Ezt is próbáltam, telepítés után egyből működött is a Discovery kártyával, nem is kellett semmi mást felrakni. Vagy ha az Atollic újabban tényleg nem korlátoz, akkor az is nagyszerű. Én a kódméret-limites fejlesztőkörnyezetektől tartózkodnék. Egy beágyazott operációs rendszer, egy FAT fájlrendszer-kezelés SD kártyához, egy kis GUI, és már ki is nőtted. Még ha most nem is célod az ilyesmi, ha egy későbbi projektben mégis kevésnek bizonyulna, akkor nagyon nem lesz kedved új programot keresni, és megtanulni használni...
Az utasításkészlet visszafelé kompatibilis, és az ST honlapja szerint lábkompatibilitás is van. Ez utóbbiról bővebben nem tudok nyilatkozni, mert F7-est egyelőre csak fejlesztőpanelen használtam. HAL szinten programozva sok különbséget nyilván látni. A táblázat szerint a perifériák többsége regiszterszinten kompatibilis.
Idézet: „HAL szinten programozva sok különbséget nyilván látni.” Nyilván nem látni, bocs. A hozzászólás módosítva: Jún 19, 2016
Köszönöm a válaszokat! A Texas Launchpad volt az első olyan hardver, ami kicsit macerásabb szoftver hátteret használt, de úgy látom az megvan ARM-hez is - Ez az IAR . De valóban limites -igaz ezt még legalább tudtam használni, mert jók voltak a leírások. A Parallax propellerhez elég volt egy fapados 6,5Megás program és minden azonnal működött. Ezért sajnálom, hogy ennyire túlbonyolítják már a hardveres eszközök programozását is - szoftverrel. Már akkor is csóváltam a fejem, amikor az első Pentiumos alaplapokhoz HTML telepítőt adtak. Szerintem nem túl átgondolt megoldás. - Persze moroghatok én, ha a világ nem efelé halad.
A kodban CMSIS van hasznalva. Ha at akarom tenni a kodot F7-re, akkor a CMSIS fuggvenyeket is le kell cserelni, vagy azok parameter kompatibilisek ? Vagy ez a CMSIS verziojatol fugg ? Nem kovettem azota a verziokat, azt hiszem en az 1.1.0-at hasznaltam. Koszi.
A hozzászólás módosítva: Jún 19, 2016
A könyvtárakat nyilván le kell cserélni, mert teljesen más az utasításvégrehajtás és a memóriakezelés, viszont én közvetlenül a CMSIS-t már régen nem használtam, úgyhogy példákat mondani nem tudok. A HAL-ból kiindulva azt tartom valószínűnek, hogy (legalábbis a kompatibilis perifériáknál) maguk a függvények változatlanok lesznek, csak az inicializáló struktúráknak lesz néhány plusz mezője a bővebb funkciók miatt. Egyébként bivalyerős mikrokontrollerek ezek az F7-esek, grafikus és DSP jellegű feladatokra kiválóan használhatók.
A hozzászólás módosítva: Jún 19, 2016
IO portot úgy kell működésre bírni hogy a Reset and Clock Control (RCC) rész azt hiszem AHB1ENB regiszterében a megfelelő port-ot táppal-órajellel ellátod és bekapcsolod. ARM-nál a perifériák 80%-át fel kell kapcsolni. Utána konfigurálod a port-ot és megy is.
Ha idáig eljutnék - az már maga a boldogság Lehet, hogy tényleg a Discovery lesz a megoldás a gyorsabb eredmény érdekében.
Inkább ezt szerintem ,ha már úgy is van egy F103-asod.
Szia! Értem. Akkor ez a változat USB-n keresztül programozható Arduinó keretrendszerrel? Feltételezem akkor ez már tartalmaz egy saját Arduino-t értő szoftvert?
Szia!
Ez egy fejlesztőpanel és egy ST-LINK/V2 programozó egyben. A marás mentén eltörhető, így külön-külön is használható. A programozó részén vannak jumperek, amiket ha leveszel külső eszközt is programozhatsz. Az Arduino keretrendszerbe integrálható ARM támogatás F103-mal szerelt panelekhez, ehhez itt egy leírás, valamint az egész fórum erről szól. Pőre és olcsó fejlesztőeszközzel is tele az eBay, erre lehet bootloadert tenni, utána USB-n közvetlenül programozható. A fentebb linkelt Nucleo board az fdh-nál is megrendelhető, ahogy néztem kicsit olcsóbb is. Többféle processzorral szerelt Nucleo kapható eltérő képességekkel, de a közösségi támogatás talán ehhez az F103 szériához a legjobb. Bővebben: Link, Bővebben: Link
Itt az Arduino az Uno-val kompatibilis csatlakozásra vonatkozik.Inkább az Atollic-ot próbáld ki, itt az UM1727-ben megtalálod,hogy tudod a kész projekteket megnyitni.
A megoldas hogy az AF config elott nem szabad H szintre huzni az I/O-t.
Köszönöm! Azért látom mindenkinek megvan a maga favoritja itt is
Nemrég az egyetemen kezdtem el ismerkedni én is arm procikkal, F446RE-vel szerelt Nucleo boardunk van pár, illetve saját gyártású panel F103C8T6-tal. Először a System Workbench for STM32 Eclipse alapú környezetben kezdtük programozni, de nem túl egyszerű és bugos is, hamar hanyagoltuk. Gyors eredményeket lehet elérni az mbed.org online compiler segítségével, itt azonban csak adott hardverekre tudunk fejleszteni. Ennek használatáról készítettem egy alapozót a labormérésekhez.
Az Arduinoba pár napja kalapáltam bele az ARM támogatást és az STM32Duino okosságait. Ma sikerült a saját hardverre lefordítani a bootloadert ami a saját hardverünkkel is remélhetőleg kompatibilissé teszi a dolgokat. A puding próbája holnap következik (főleg hogy az eddig Atmelre működő könyvtárak ezután is működnek-e). Túl nagy tapasztalatom a programozásával még nekem sincs, de a fórumtársak is felvonultattak jópár lehetőséget amiből kedvedre válogathatsz.
Üdv.
STM32 procival játszok továbbra is. Kérdésem hogy most tűnt csak fel az adatlapban a bemeneteket védő dióda nem VDD-re hanem VDD_FT re van felhúzva. Ez az után tűnt fel hogy a kísérleti panelemen 12V-os bemenet és a proci bemenet közé tettem egy 10k ellenállást mondván a belső dióda majd megfogja 3,8V körül de 8,6V-ot mérek. Az látom hogy Vdd_ft magasabban lehet de hogy ennyivel? Elviseli ezt még a bemenet? |
Bejelentkezés
Hirdetés |