Fórum témák
» Több friss téma |
Csak gondoltam bejelentkezem, hogy hosszu ido utan tenylegesen raszantam magam az stm32 vilagra
Mar regota lapult egy blue pill a fiokban, bevallom nagyon nem akarodzott nekikezdeni, mivel akkoranak lattam a kulonbseget az atmel (8 bit) vilaghoz kepest, ami megkerdojelezte mennyire akarom en ezt. Aztan ma nekikezdtem es kellemesen csalodtam. Amolyan "from zero to hero" menetet nyomtam, azaz nulla stm32 tudasbol odaig jutottam, hogy sikeresen atmozgattam egy VQC10 kijelzo vezerlot amega328-rol stm32f103(c8t6)-ra. Microsoft vscode-ot hasznalok mac-en, platformio-val. Telepites zokkenomentes volt (nem sok minden hianyzott, hisz eddig is ezt hasznaltam atmel mcu programozasra, avr-gcc-vel) Alapfeladatok adtak magukat, gondolok itt GPIO billegtetesre, amivel elsore meggyult a bajom az a _delay_us() megvalositasa volt. (nem talaltam ilyet out of the box, a HAL_Delay() pedig tul darabos) A clock es timer setup kicsit feketeovesnek tunt elsore, tobbet kell olvasnom rola A vegere osszeallt egy mukodo valtozat, az egesz tokkal-vonoval kb 4-4.5 orat vett igenybe. Gondolom kerdesem lesz ezer, ahogy haladok elore a proci lelki vilagaban...
Félreértés ne essék, én is csak piszkálgattam eddig az STM32-t, de ez az oldal igencsak ígéretes.
Ha egyszer bele kezdesz az STM-be többé nem akarsz majd mással dolgozni..
Én is nemrég kezdtem STM32-zni AVR után. Tetszik, hogy ennek is jól átgondoltak és dokumentáltak a perifériái. És valóban a dokumentációnak megfelelően működik minden amit eddig próbáltam. A gyári libek és példák is jók. Próbáltam más gyártók MCU-it is, és hát nem mindenről mondható ez el.
Es valoban igy latszik.
Mai napra csak USART fert bele, az is csak amolyan kick-off szinten, inicializalni es atkuldeni par karaktert a mac-re. Kicsit meg szokni kell, de ahogy @asch is irta: jol atgondoltnak latszanak a periferiak, a doksi is jo, mar amit eddig lattam. Az Arduino IDE/framework-ot csak kiprobaltam, semmi meglepetes, teszi a dolgat. Mondjuk en nem szeretem, de ez izles (vagy epp feladat) dolga. HAL-os pelda viszont nagysagrenddel kevesebb van, eddig legalabbis igy lattam. A hozzászólás módosítva: Nov 14, 2023
Itt tök jó példaprogramokat lehet találni magyarázatokkal, HAL-lal, anélkül.
STM32 oktatás
VBAT kerdes:
(Blue pill - stm32f103c8t6) Ha teszek tapot a VBAT labra, akkor -ahogy elvart- a tapfesz visszakapcsolasa utan szepen latszik az RTC ketyegett tovabb a hatterben... aztan amikor megegyszer kiprobaltam es raneztem a tapegysegre, akkor meglepodve lattam, hogy 20+ mA fogyasztasa van a VBAT labon. :-O Itt ugye olyan uA nagysagrend (egy digit,lehetoleg) erteket vartam. Kivancsisagbol ramertem a panel 3.3V es 5V labaira, ahol 1V kornyeki feszultseget talaltam, mind a ket labon. Az stlink a ,eres idejere le volt huzva a panelrol. Ez honnan johet? A panelt vegigneztem, a VB pin csak a mcu 1-es labara van kotve, teha a proci keresztul megy valami. Ha lehuzom a fejleszto panelrol a radugott (3.3V lab) kijelzot, akkor leesik ~2mA ertekre, de meg ez is minimum ket helyiertekkel az elvart felett van. Mit csinalok rosszul?
Framework/library kerdes.
Nagyon roviden futottam at rajtuk, erdekelne kinek mi a velemenye, mit es miert hasznal, miert preferalja azt amit Amit talaltam: - arduino - cmsis - opencm3 - mbed os - stm32cube - zephyr Valami peldaul nyilvanvalo de altalam nem latott hatrany a HAL-al? Valami egyeb amit kihagytam a listabol de erdemes ranezni? Atmel procikhoz sima avr-gcc-t hasznaltam, az Arduino nekem kicsit kotott, bar neha hasznalom hirtelen par soros kodhoz, amikor ossze kell dobni valamit. Az alabbiak kozul nekem szinte mindegy melyiket hasznalom, a HAL kicsit bobeszedu de talan olvashatobb.
Jellemzően én HAL (+LL) szoktam használni, mivel azzal a perifériákat letudtam. Nem kell kutakodni, a megjegyezhetetlen regiszternevek közt, melyek száma csak növekszik, mihelyt egy másik széria kerül az ember kezébe. Ott az STMCUBE szoftware csomag.
A HAL hátránya persze a lassúsága (ami egy AVR után persze észre sem vehető), de segít az LL könyvtár. Így pl.: a HAL_GPIO_WritePin ledet villogtatni elég, de időérzékeny alkalmazásokhoz nem jó megoldás. És még két dolog. - A HAL használható arduinóhoz is, feltéve , ha a gyári könyvtár van felinstallálva. - Szerencsére a hobbistáknak köszönhetően még sokáig élvezhetjük az STM32f103xx-t , de az látszik, hogy a gyártó már továbblépett a gyorsabb, olcsóbb, modernebb kontrollerek irányába. Ezekhez pedig szintén van HAL, LL könyvtár, melyet azért igyekeznek folyamatosan tökéletesíteni. *A két kód azért nem teljesen ugyanaz.
Ez a VBAT pin fogyasztas kerdes szerencsere/sajnos megoldodott. Az adott blue pill panel a hunyo. A kapcsolas iszonyu egyszeru, szoval ugy gondolom maga a proci lehet a hibas.
Ugy tunik mintha a 'kapcsolo' a VBAT es a VDD kozott nem igazan mukodne (ahogy a rajz es leiras szerint kellene), a panel tobb resze is kap a VBAT-re dugott tapbol. Van egy masik panelem, szinten fiokban porosodott, ideje volt elorantani. Azon egy STM32F411CEU6 proci uldogel, azzal jol mukodik. Hibakeresesi gyakorlatnak jo volt. :-/ ...rendeltem meg par panelt gyorsan, legkozelebb egy egyszeru csere talan megkimel az idopocsekolastol A hozzászólás módosítva: Nov 19, 2023
Én is a HAL/LL párosra szavazok. A munkámhoz is azt használom.
Jó esetben rá van írva, más a gyártó, nem ST. Rossz esetben levakarták az eredeti feliratot, és ráhamisították, hogy ST.
Van itthon mindegyikből. Honnan tudom? Olyasmi hibákból, mint amit te is írsz. Magasabb áramfogyasztás, sleep nem működik vagy nem ébred fel, stb. Programozni lehet, de olyan, mintha nem futna rajta a kód, stb. Miközben az adott projekt Nucleo boardon vagy biztosan eredeti mikrokontrolleren (Mouser, Farnell beszerzés) hibátlanul működik. Én emiatt fel is hagytam a kínai devboardok használatával. Prototipizáláshoz nagyon jó és olcsó a Nucleo. Hobbi projektben akár benne is maradhat, nem olyan drága. Munkához pedig úgyis saját NYÁKot tervezünk. A hozzászólás módosítva: Nov 19, 2023
ST van rajta, de gyanitom inkabb clone lehet. Amiket eddig probaltam, RTC, Timer(s), UART, I2C, general IO ment szepen, eddig egyedul a VBAT pin-el gyult meg a bajom.
Rendeltem ma egy nucleo-t is, az jo lesz referencianak. Igaz, az nem $2 volt
Kérdezném a nagyérdeműt, mert sokszor felsejlik a klón, vagy hamis chip téma. Mitől éri meg ezt gyártani, ha nem jó? Ugyanolyan technológia kell hozzá, magas integráltság, kell bele az anyag, a tokozás... FT232RL-nél már láttam elektronmikroszkópos összehasonlítást, ahol bizony a klón 2 generációval újabb volt és sokkal precízebb volt a kialakítása a chipnek. Mitől válik rosszá egy klón és miért éri így meg a gyártás? Ha kiderül, hogy rossz, úgysem veszik meg.
Nem szándékosan gyártanak rosszat, csak eladják azt is ami nem sikerült tökéletesre. És gátlástalanul hazudnak, ez a nagyobb probléma.
>Ha kiderül, hogy rossz, úgysem veszik meg.
De addigra már megvetted, azért derült ki... Szerintem több okból is megéri: * Stratégiai technológia lopás: attól még, hogy 1-2 része nem tökéletes, van egy működő gyártható termékük. Előbb utóbb utolérheti az eredetit, sőt ha megtorpan az eredeti gyártó, akkor le is előzhetik majd a jövőben. Hány kínai termék volt amin nevettünk régebben, most meg szorongatják többek között Európát is. * hamisítványként eladva is lehet keresni rajta. A csipek költségének legnagyobb része a fejlesztés, azt lespórolva még olcsón is profitábilis. * aki tudja, hogy mit csinál az építhet belőle működő terméket is. Ha éppen a hibák nem akadályoznak meg, akkor használhatja a tervező. Kínai termékbe kínai csipet! Aki ezt csinálja, az ismeri a termék hibáit, és csak arra használja a koppintást, amire működik. Nem pártolom ezeket a koppintásokat, de én ezt tippelem, hogy ezért éri meg.
STLink program megmutatja:
- eredeti ID-je: 0x1ba01477 - klón ID-je: 0x2ba01477 Én vscode-platformio-val szórakozom, és váltogatom a két stm32f1x.cfg filet, amiben csak ez a szám tér el. Van egy - még a covid előtt vásárolt - Hestoros, az eredeti, a többi klón.
Sajnos stlink-bol csak windows verziot talaltam, az pedig nalam nem nagyon van
En is vscode/platformio-t hasznalok, de meg nem talaltam ra modot, hogyan tudom meg a chip ID-t. Az STM32CubeIDE pedig valami borzalom Felraktam, megneztem, de egyelore kb ennyi is volt. Dinoszaurusz. Erdekes milyen sokan hasznaljak, legalabbis az internetes tutorialok nagyresze ezen keresztul mutatja be az alapokat. Kb ilyesmi miatt forditottam hatat anno a PIC csalad-nak (AVR elott eleg sokaig azt hasznaltam), ahol nem is igazan a hardware volt a gond, hanem az allando software mizeria. Most ugy tunik ismet nincs miert nem valtanom, amit az eddigi par napban lattam eleg meggyozo. Akar kisebb feladatra is hasznalhatom ezt a mcu-ot (vagyis inkabb a csaladot...)
Window$ nálam sincs, és MacOS sem. Debian 11 linux van, az stlink benne van a telepítő készletben, még keresgélni sem kell a neten.
Az stm32f1x.cfg file meg nálam a platformio része. Neten keresgéltem a megoldást a klón használatára, így találtam az infót, hogy ebben a file-ban van chip ID-je. Írtam egy kis shell scriptet, pár paraméter megadásával megírja a platformio.ini file-t, milyen panel, milyen proci, és bluepill esetén paraméter az is, hogy klón, vagy eredeti. Benne van, hogy másolja a megfelelő chip ID-jű stm32f1x.cfg filet a helyére.
Azt hiszem jo par kerdes var rendrakasra a fejemben.
stlink neven van egy csomag amit tudok telepiteni, abban nincs 'stlink' csak pl st-util es mas st-* tool-ok. Ezek kozul az st-info --chipid ad ugyan egy ID-t, ami megegyezik a gyari STM32CubeProgrammer altal mutatott ID-vel, de ennek semmi koze az altalad emlitettekhez: 0x0410 Az emlitett blue pill (es a masik f411ce board) hibauzenet nelkul programozhato volt a platformio-val (kinai stlink-v2), out of the box, anelkul, hogy barmi extrat allitottam volna. A feljebb emlitett config file nem resze a platformio-s konyvtarnak, lehet hogy az STM32CubeIDE alatt talalhato file-okat hasznalja a platformio? :-O Arra nem emlekszem, hogy mi kerult fel elobb a gepemre: a platformio altal telepitett konyvtarak vagy a STM32CubeIDE. Az viszont biztos, hogy eddig nem is tudtam a letezeserol, tehat biztosan nem modositottam Holnap kapok egy masik Blue Pill-t (forras ismeretlen), jovo hetre itt lesz a nucleo is, kb 2-3 het mire megjon az ali-rol az a par darab, amit clonnak gondolok (5-os csomagban volt valami $12 korul, egy masolat stlink-el egyutt), de majd kiderul. Azt gondolom ennyi eleg is lesz a kezdeti kalandozashoz, az arakat nezve maradok inkabb a farnell szomszedban (ausztralia) talalhato helyi boltjanal, mint beszerzesi forras. A hobby project-jeimhez altalaban egy-ket akarmi kell, ezeke nem annyira ar erzekenyek
Meg egy stlink-v2 (kinai klon) kerdes:
Lehet valahogy allitani ezen belul a target tapfeszt? Most 2.17V-on hajtja a panelt, de ez mar epp keves egy TTL kulso panel direct meghajtasahoz. Ha lehuzom a tapfeszt az stlink-rol es kivulrol taplalom 3v3-al a Blue Pill-t, akkor mukodik szepen, de ilyenkor ugye allandoan cserelnem kell, amikor programozni akarok.
Mert ha nincs rakotve a Blue pill 3v3 laba az stlink 3v3 labara, akkor nem irja. Fuggetlenul attol, hogy a board kap tapfeszt kulso taprol..
Ha a target áramkört az st-link klónról látom el tápfeszültséggel, akkor a +5V-os tápot szoktam erre használni. Szerintem nem szerencsés az st-link-be épített (eléggé áramkorlátos) stabilizátort erre használni, főleg ha a target áramkörön is van saját stabilizátor.
A hozzászólás módosítva: Nov 20, 2023
Ugyan az a jelenseg, mint feljebb. Ha nem kotom ossze a board 3v3 labat az stlink 3v3 labaval, akkor nem tudja programozni.
|
Bejelentkezés
Hirdetés |