Fórum témák
» Több friss téma |
A VSCode - CMake kombinációba nekem beletört a bicskám (bár ha jól emlékszem a debugger funkciókat nem sikerült csak működésre bírnom, a fordító az ment). Viszont a PlatformIO remekül működik a VSCode alatt. Ha nem ragaszkodsz minden áron a Pico SDK - CMake kombinációhoz próbáld ki ezt. A Debug funkcióhoz egy másik Pico-t használok, arra a picoprobe.uf2-t kell feltölteni, és összekötni a cél pico board-al.
Nem kaptam ST-t, azért vásároltam, de egész jó és olcsó. Később jöttem rá, hogy kettőt kellett volna. Megpróbálom a PlatformIO-t is, bár lehet, hogy MicroPython lesz a vége.
Köszönöm!
Egy kérdés még, ha erre jársz. A PIO periféria programozása megoldható a platformio arduino-ban?
Az Arduino alapja C++, néhány a kezdést könnyítő kiegészítéssel. A ténylegest fordítást ugyanaz a compiler végzi, ami közvetlenül c++-ban írt program esetében is működne. Emiatt minden olyan kódot be lehet illeszteni, ami az eredeti C környezetben működőképes.
Ha egy adott feladatra van kész Arduino library, az persze a legegyszerűbb. Ha nincs, akkor vagy ugyanott, mintha natívan c-ben vagy c++-ban programoznál. Meg kell nézni a megfelelő gyártó által adott periféria library-t, ha abban nincs, akkor azt, hogy valaki esetleg közzétett-e hasonlót c-ben vagy c++-ban, ha az sincs, akkor végső esetben a hardware leírás alapján kell összehozni.
Az egyedisége okán kérdeztem a PIO-t, ha nekem szól a válaszod.
Az SDK-ban létrehoznak egy .pio fájlt és a Cmake-ben pico_generate_pio_header-el generálnak header fájlt. Erre lettem volna kíváncsi, hogy SDK nélkül hogy megy, illetve megoldott-e?
Ezt próbáltam leírni. Több eset van:
1. valaki megírt olyan Arduino library-t, amely tartalmaz PIO kódot is, ez esetben nem kell a használatához semmi különös, minden pio specifikus kód az objektum belügye Pl. egy minta arra, hogy hogyan néz ki a pio specifikus kód Arduino programon belül: https://github.com/pierremolinaro/rp2040-charlieplexing 2. valaki megírt egy kódot az SDK-val, amit leközölt, de nem Arduino library formájában - ezt különösebb nehézség nélkül be lehet illeszteni az Arduino programba (mert ugyanaz a compiler ugyanúgy fordít a végén), ebben segíthet pl. a fenti példa 3. kifejezetten egyedi pio programozásra tudomásom szerint az Arduino nem ad saját eszközt, ha erre van szükség, ugyanazt ugyanúgy kell csinálni, mintha nem Arduino-ban lennél.
Sziasztok
Egy kódot akartam feltölteni NUCLEO-F302R8 ra arduino ide-vel de már fordítás közben elakadt ennél a sornál
viszont ha átrakom arduino nano-ra simán hiba nélkül lefordítja. Ilyenkor mi lehet a baja? Alul pirossal ezt a hibaüzenetet írja Arduino: 1.8.18 (Windows 10), Alaplap:"Nucleo-64, Nucleo F302R8, Mass Storage, Enabled (generic 'Serial'), CDC (generic 'Serial' supersede U(S)ART), Low/Full Speed, Smallest (-Os default), Newlib Nano (default)" CustomChars:22:31: error: invalid conversion from 'int' to 't_backlighPol' [-fpermissive] In file included from C:\Users\User\Documents\Arduino\kész programok\libraries\LiquidCrystal_I2C\examples\CustomChars\CustomChars.pde:5: C:\Users\User\Documents\Arduino\libraries\New-LiquidCrystal-master/LiquidCrystal_I2C.h:53:76: note: initializing argument 3 of 'LiquidCrystal_I2C::LiquidCrystal_I2C(uint8_t, uint8_t, t_backlighPol)' 53 | LiquidCrystal_I2C (uint8_t lcd_Addr, uint8_t backlighPin, t_backlighPol pol); | ~~~~~~~~~~~~~~^~~ C:\Users\User\Documents\Arduino\kész programok\libraries\LiquidCrystal_I2C\examples\CustomChars\CustomChars.pde: In function 'void setup()': CustomChars:26:12: error: 'int LiquidCrystal_I2C::init()' is private within this context In file included from C:\Users\User\Documents\Arduino\kész programok\libraries\LiquidCrystal_I2C\examples\CustomChars\CustomChars.pde:5: C:\Users\User\Documents\Arduino\libraries\New-LiquidCrystal-master/LiquidCrystal_I2C.h:154:9: note: declared private here 154 | int init(); | ^~~~ Többszörös könyvtárak találhatók ehhez: "LiquidCrystal_I2C.h" Használt: C:\Users\User\Documents\Arduino\libraries\New-LiquidCrystal-master Nem használt: C:\Users\User\Documents\Arduino\libraries\LiquidCrystal_I2C exit status 1 invalid conversion from 'int' to 't_backlighPol' [-fpermissive] Ennek a jelentésnek több információja lehetne a "Bővebb kimenet mutatása fordításkor" opció engedélyezésével a Fájl -> Beállítások-ban. Idézet: „LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display” A hibajelzések szerint a te esetedben ezeknek a paramétereknek teljesen más a szerepe (és az adattípusa):
Ennek oka pedig az lehet, hogy a LiquidCrystal_I2C helyett a New-LiquidCrystal programkönyvtárat akarja befordítani a programodhoz. Szerencsétlen módon mindkettőnek LiquidCrystal_I2C.h nevű a fejléc állománya. Ezt a kettősséget valahogy fel kellene oldani. A hozzászólás módosítva: Jún 29, 2022
Ha törölni tudnám New-LiquidCrystal -t az megoldás lenne?
Kitöröltem átmenetileg New-LiquidCrystal könyvtárat. Alulra kiirta pirossal hogy
"FIGYELEM: A(z) LiquidCrystal_I2C könyvtár avr architektúrán való futást igényel és inkompatibilis lehet a jelenlegi alaplapoddal, ami stm32 architektúrát futtat." de ennek ellenére jól müködik minden. Már csak az a kérdés hogy fog-e nekem hiányozni az a könyvtár
Sziasztok,
Bocs, ha amatőr a kérdésem, de teljesen új vagyok az ARM-ben, eddig inkább PIC-es voltam. Megörököltem egy NYÁK-ot, amin csücsül egy FSC-BT-630 modul. Van neki egy TC2050-CTX-NL csatlakozója a NYÁK-on, amin keresztül tudom programozni. El kellene végeznem néhány mérést, amihez újra kellene programoznom, viszont nem tudom, mivel. A doksik alapján egy J-Link Lite CortexM-9-re van szükségem és egy TC2050-CTX-NL kábelre. Előbbire a Farnell-nél rákeresve 200.000Ft alatt nem sok minden volt, amit kicsit sokallok egy programozóért, nem ehhez szoktam. Van esetleg tapasztalatotok az FSC-BT-630 modullal? Mit javasoltok programozásra?
Vegyél egy ilyet:
NRF52-DK Csak 14 ezer forint. Ugyanaz a mikrokontroller van rajta, ráépített J-Link debuggerrel. Ha jól emlékszem, ezt a debuggert másik panelen lévő mikrokontrollerrel is használhatod. A kikötés csak annyi, hogy az is Nordic gyártmány legyen.
Köszönöm. Ezt mintha pont nekem találták volna ki.
A J-Linknek van Edu változata, amely egyetlen lényeges korlátozást tartalmaz: nem használható üzleti célra.
Én hobby célra használom a J-Link Edu Mini-t (ez kisebb, olcsóbb és valamivel lassúbb), meg a J-Link Edu-t is, amely egy az egyben a J-Link, kivéve a korlátozást. Az Edu Mini 10e Ft alatt van normálisan, de legtöbb helyen kifogyott. Az ebay-en van 20-ért. Ezek minden, a Segger által támogatott uC-hez jók. A hozzászólás módosítva: Júl 7, 2022
Keresgéltem, itt a link szerint raktáron van. A Google találta, semmit se tudok a boltról.
https://www.epromirok.hu/index.php?route=product/product&produc...d=1087
Sziasztok
NUCLEO-F302R8-al kéne egy li-po akku feszültségét megmérjem de az analog bemenetem csak 3,3V-t fogadhat, viszont az aksi akár 4,2 V-ra is feltöltődik. Meg lehet oldani a mérést valahogy?
feszültségosztó? Ha le felezed a 4.2V-ot, 2,1V a max ami az STM lábára jut. A többi matek.
A hozzászólás módosítva: Júl 10, 2022
Sziasztok!
Ismerkedem az STM32 arm rendszerrel már egy ideje. Ezzel kapcsolatban lenne 2 kérdésem. 1.) Korábban használtam kínai klón stlink2 programozót. Zöldfülű révén frissítettem az stm cube fejlesztőt, majd ezt követően nem tudom a programozót használni, nem tudom a firmware frissítést megtenni. Lehet ezen valamit segíteni, milyen stm programozó verziót kellene visszatöltenem, vagy kukázzam a programozót? 2.) Vettem gyári stlink v3mod programozót. Ezzel eljutottam addig, hogy 5 vezetékes bekötés után (Vcc, Gnd, Rst, SWD, SWC) legalább a cube programozó hajlandó letölteni a kódot az ic-be. Viszont a cube fejlesztő nem látja a céleszközt (blue pill, stm32f103c6), így nem is tudom a debug funkciót sem használni. Van valakinek tippje, hogy mit kellene még bekötnöm, hogy ez a programozó teljes mértékben működjön? Üdv! Zoli
Szia
Bluepill-el nekem is gyült már meg a bajom. Az enyémen sanszos , hogy nem eredeti a csipp. Azt tanácsolták , hogy inkább használjak NUCLEO-t . Amióta ilyet használok azóta nincs gond . Az egyetlen hátránya hogy ez a panel nagyobb a bluepillnél. És elönye meg hogy, több a használható kivezetés (64) , jó minőség és biztos ,hogy eredeti STM csipp van rajta, és ezzel is lehet debugolni (rá van épitve a panelra a debugger). Mondjuk az nagyon furcsa letöltöd a kódot az ic-be de a céleszközt nem látja
Szia!
Sajnos a kínaiak mindenféle hamisítványt ráraknak a Bluepill-re, különben hogy is lehetne egy ilyen modul 2 dollár, amikor csak az eredeti mikrokontroller legalább a duplája. Ugyanezt megcsinálják az ST-linkkel is. Aztán vagy működik, vagy nem. (nekem többnyire igen, de néha belefutok hasonlóba, mint te) 1. a, Kipróbálhatod a legrégebbi ST-link szoftvert, amit a neten találsz, talán megoldódik a probléma.(feltételezve, hogy a szoftver felismerte, hogy nem eredeti az STM32, és megtagadta a működést) b, Kipróbálhatod az Embitz IDE-t, az saját maga programozza az STM32-t az ST app-ja nélkül (>=2.10). Azt nem tudom, hogy az ST driver kell-e hozzá. Nekem a klónok is működnek vele. c, Esetleg kipróbálhatod ezt: Open-source STlink Sajnos Windows alatt nincs GUI, csak parancssoros megoldás.(én nem próbáltam még, de linux alatt többen is használják) A hozzászólás módosítva: Szept 10, 2022
Még annyit, hogy nekem ez a legrégebbi verzió, ami megvan: STM32 ST-LINK Utility_v3.3.0
Ha kell, el tudom küldeni.
4-5 éve, az alkatrészhiány előtt még jók voltak ezek a kínai cuccok. Sajnos mostanra szinte minden rendelés használhatatlan. Az utóbbi két évben kifejezetten tesztelésre vettem bluepilleket, egyiken sem volt eredeti STM32. Legtöbbször vissza is adták a pénzt, de ez nem segít azon, hogy nem működik az eszköz. Van, hogy bevallottan klón az IC, de sokszor átírják STM32-re az IC jelölését...
Igen, itt két dolog lehet: az egyik - amire elsőre gondoltam - hogy a programozó nem hajlandó programozni, mert felismerte, hogy nem eredeti a mikrokontroller, de a másik az az, amit vargham kolléga ír. Vagyis elszaporodtak a gyenge utánzatok, amiket másképp kell programozni:
Régen általában csak a Gigadevice IC-it használták, ami szinte teljesen kompatibilis volt, de mostanra megszaporodott a választék a hamisítványokból. fake STM3F103C8T6 1. fake STM32F103C8T6 2.
Sziasztok!
Köszönöm mindenkinek a segítséget, építő jellegű hozzászólást! Egyenlőre elengedném a klón STM32 ic és a klón stlinkv2 programozót. Mint említettem, 5 vezetéken bekötöttem a gyári stlink-v3mod panelt a bluepill-hez. Kellene még valamit bekötni ezen kívül? Láttam olyan áramköri rajzot is, hogy az egyik gnd csatlakozási pontot egy ellenálláson keresztül húzzák le a (pld. GNDDetect) Jonni írta, furcsa, hogy a programozó app látja a panel, a fejlesztő nem. Igen, nekem is furcsa. Kiírt üzenet: dev_target_cmd_err. Az is furcsa, hogy a programozó egy régebbi frameware-t telepít magának, s a fejlesztő azt frissíti. Z.
Ha a Bluepill-en klón STM32 van, akkor az STLink V3 nem jó hozzá, mert felismeri hogy hamis, és nem hajlandó programozni. Az olcsó klón STLink V2-k viszont programozzák az STLink Utility-vel.
Nincs szükség 5 vezetékre, az a 4 kell csak, amely a Bluepill usb-vel átellenes végére van kivezetve: Gnd, SWClk, SWIO, 3.3V. Előfordul, hogy a chipben sikerül bebillenteni valamilyen flaget, ami miatt nem sikerül se törölni, se programozni. Ilyenkor az segít, hogy az STLink Utility-ben hw resetet kell állítani, indítani a törlést, és jó ütemben kézzel resetet nyomni. El kell találni a megfelelő időpontot, néhány próba után sikerül. Legkevesebb 5 féle különböző hamis Bluepill-em van, köztük olyan is, amelyen STM32 a felirat, másokon becsületesen valami más, GD, CHS stb. Valamennyit tudom programozni és debuggolni az Stlinkv2-vel és Jlink-kel is. Némelyik klónon nem úgy működik a DMA, mint az eredetin, más különbségbe eddig nem futottam bele. Az STMCubeIde fejlesztői környezet szintén hajlamos felismerni a klónokat, és megtagadni az együttműködést. Ezért - meg mert nem is túl jól sikerült IDE - nem javaslom a használatát. Nekem a Keil tetszik legjobban, ha sima C projectről van szó, a CubeMX ezzel is együttműködik. Jó az Embitz is, vagy ha Jlinked van, a Segger Embedded Studio. Ha Arduino rendszer, akkor pedig a PlatformIO & VSCode a legjobb. A PIO default beállításként OpenOCD-t használ az STLInk-hez, ez pedig lekérdezi a chip ID-t. Ha klón, át kell állítani a .ini-ben. upload_flags = -c set CPUTAPID 0x2ba01477
Még egy különbség jutott eszembe, valamelyik klónban nincs meg minden timer. Nem emlékszem a típusra, egy olyan boardon volt, aminek a lábkiosztása se azonos a Bluepill-lel.
Megjegyzem, hogy az utóbbi 6-8 évben beszerzett Bluepill-ek szinte biztosan klónok. Van néhány biztosan eredeti példányom, ezeket gondosan megjelöltem. Ha fejlesztek valami újat, egy ilyennel dolgozom. Mikor kész, keresek egy klónt, amin rendesen fut, és megtartom az igazit fejlesztői példánynak. Ha valaki most szeretne eredetit, Nucleo board-ot kell venni, vagy megbízható cégtől horror áron chipet. Hirdetnek Bluepill-eket olcsón STM32F103C6T6-tal. Ezeken kevesebb a flash és a RAM, de a legtöbb feladatra ez is bőven elég. Nincs ilyenem, nem tudom, ezek is hamisak-e. A Gigabyte GD-vel kezdődő klónok kb. a legjobbak, nem tudok kompatibilitás hibáról. Érdekesség, hogy a kód RAM-ból fut, emiatt gyorsabb a fetch, ugyanaz a kód ugyanolyan órajel mellett valamivel gyorsabban fut.
En csak ilyen sideliner vagyok, (egyelore) nem hasznalok semmi STM mcu-t. Erdeklodessel kovetem azt a klon/nem klon mizeriat bluepill ugyben.
Tulajdonkepp mi a kulonbseg a bluepill es a nucleo kozott? Nucleo kaphato megbizhato forrasbol, raadasul nagy rakat mcu is elerheto neves beszallitoknal (STM partnerek), feltetelezem 'valodi' nem hamisitvany. Van valami kulonleges a Bluepill-ben, vagy a hasznalt mcu-ban ami nekem elsore nem jon le? |
Bejelentkezés
Hirdetés |