Fórum témák

» Több friss téma
Fórum » STM32 - Blue Pill
 
Témaindító: Skori, idő: Dec 19, 2019
Témakörök:
Lapozás: OK   5 / 13
(#) Gránátalma hozzászólása Máj 1, 2020 /
 
Sziasztok!

Atom-PlatfrmIO alól programozza valaki a bluepillt?

Nekem működött hibátlanul, de kb fél éve nem használtam, most ezt kapom a sikeres fordítás után.

Ötletek esetleg?

Arduino IDE gond nélkül feltölti
(#) kszabi hozzászólása Máj 5, 2020 /
 
Hello!
Ez lett a megoldás, ha kellene valakinek.
afio_remap(AFIO_REMAP_TIM2_PARTIAL_1);

Köszi a tippet.
(#) Skori hozzászólása Júl 18, 2020 /
 
Arduino-val programozom a BluePill-t és belefutottam abba a problémába, hogy le kellene menteni néhány változót, hogy következő bekapcsoláskor meglegyen az értékük. Mivel EEPROM tudtommal nincs benne, marad a FLASH...
Tehát, hogyan tudnám egy változó értékét kiírni a flash-ba, illetve induláskor kiolvasni belőle?
(#) ha1drp válasza Skori hozzászólására (») Júl 19, 2020 /
 
Én régebben foglalkoztam vele, akkor nem volt támogatott a C8 és a CB változatoknál.
(#) Skori válasza ha1drp hozzászólására (») Júl 20, 2020 /
 
Köszi! Akkor ha jól értem, alaphelyzetben (plusz hardver nélkül) nem fogja tudja elmenteni a szoftver a beállításait. Mi a legegyszerűbb megoldás erre? Valamilyen i2c memória amit támogat, vagy más?
(#) vargham válasza Skori hozzászólására (») Júl 20, 2020 /
 
Én EERAM-ot szoktam használni.
(#) benjami válasza Skori hozzászólására (») Júl 20, 2020 /
 
A program memória is flash memória, lehet bele írni programból. A macera az miatt van, hogy csak egy teljes lapot lehet törölni (ami jelen esetben 1kB). Létezik programkönyvtár amivel úgy lehet használni, mint ha sima adat eeprom lenne. Itt van a leírása.
Azt nem tudom, hogy ennek van-e arduino kompatibilis változata, ha nincs akkor át kell szabni rá.
(#) usane válasza Skori hozzászólására (») Júl 20, 2020 /
 
Nem használtam, úgyhogy véleményezni nem tudom, de:
link1
link2
(#) Skori hozzászólása Júl 23, 2020 /
 
Arra gondltam, hogy megpróbálok egy ilyen kis 3 lábú EEPROM-ot életre kelteni, ezt könnyű lenne ráhekkelni egy I/O lábra... Bővebben: Link Használt már innen valaki ilyesmit?
Kb. 16 bájt adatot kellene csak tárolnom.
A hozzászólás módosítva: Júl 23, 2020
(#) benjami válasza Skori hozzászólására (») Júl 23, 2020 /
 
Ennyi adatot a backup regiszterekben is el tudsz tárolni. Nézd meg az stm32 chip referencia adatlapját. Csak kell egy kis elem (mondjuk cr2032 vagy hasonló) az STM32 VBAT lábára, hogy táp nélkül se felejtse el.
(#) vargham válasza Skori hozzászólására (») Júl 24, 2020 /
 
A munkahelyemen is szóba került. Elvetettük. A 8 lábú sem sokkal nagyobb, mégis I2C buszon kommunikál, amit nem neked kell megírnod. Ráadásul az egyik kollégámnak rossz tapasztalatai voltak a kommunikáció megbízhatóségával. Én nem tudok nyilatkozni róla, mivel végül nem használtunk ilyet.
(#) jefflynn válasza Skori hozzászólására (») Júl 24, 2020 /
 
Én használtam, kb. pont úgy, ahogy mondod, kellett egy különálló kis memória pár bájt tárolásához, és rátettem egy, egyébként más feladatú IO lábra. Nekem működik, nyilván az időzítéseket be kell tartani, de ennyi, többet nem igazán tudok mondani róla.
A hozzászólás módosítva: Júl 24, 2020
(#) Skori válasza vargham hozzászólására (») Júl 25, 2020 /
 
Igen a másik lehetőség ez, i2c vezérlős is van SOT23 tokban (5-6 lábbal). Midegyik filléres alkatrész. Találtam arduino/STM32-re 1wire könyvtárat, majd megpróbálkozom ezzel, ha esetleg nem megy, akkor i2c-vel próbálkozom majd.
(#) Skori válasza benjami hozzászólására (») Júl 25, 2020 /
 
Köszönöm, remek ötlet, de nem szeretnék sem elemet, akkut, vagy Farad-os kondit hozzáépíteni. Mindegyik ilyen megoldás drágább, és nagyobb, mint egy filléres EEPROM.

Egyébként egy JBC-hez (245-ös pákahegyhez) készített forrasztóállomásról van szó, aminek egy olcsó bluepill az "agya". Egy nulladik verziós nyák már kész van, két pákát tud kezelni. A szoftver arduinoval készült. Ahhoz képest, hogy először csinálok ilyesmit, a PID szabályzást is sikerült elfogadhatóra megcsinálni: a beállítotthoz képest, képes néhány fokon belül tartani a pákahegyet, forrasztás közben is, de egyenletes terhelés esetén tizedfok pontosan beáll. A legnagyobb hiányossága, hogy "nem emlékszik" a beállított hőmérsékletekre. Illetve ha lesz memória benne, akkor esetleg a hőmérséklet kalibrálását is meg lehet oldani. Bár a termoelem mérése során kapott adatokat beépítve a programba, gyakorlatilag első bekapcsolás után is 10 fokon belül volt a mért/kijelzett érték, a valóságoshoz képest.

A 3 lábú SOT23-as tokú EEPROM nagy előnye az lenne, hogy akár a meglevő panelre is simán fel lehet hekkelni, sőt akár magára a bluepill-re is. A nyákra már amúgy is kellett pár plusz alkatrészt hekkelni utólag.
(#) Skori válasza jefflynn hozzászólására (») Júl 25, 2020 /
 
Köszi, akkor van rá esély, hogy használható lesz.
(#) Gránátalma hozzászólása Okt 6, 2020 /
 
Sziasztok!

Stm32 f103c8 bluepill panelem van. Ajánlották a CubeIDE-t hogy próbáljam ki, megtettem.
Csináltam egy projektet, az CMU-m kiválasztása után megadtam neki, hogy a PC13as láb legyen GPIO output és legeneráltam a kódot. Semmi mást nem változtattam a projekten, feltöltöttem a controllerre, a PC13-azóta folyamatosan aktív és se erease-elni nem tudom, se hozzákapcsolódni (SWD/UART) illetve újra programozni se.
Ezt a hibát kapom:
  1. $ st-flash erase
  2. st-flash 1.6.1
  3. libusb: warning [darwin_transfer_status] transfer error: timed out
  4. [!] send_recv read reply failed: LIBUSB_ERROR_TIMEOUT
  5. [!] send_recv STLINK_GET_VERSION
  6. libusb: error [submit_bulk_transfer] bulk transfer failed (dir = In): pipe is stalled (code = 0xe000404f)
  7. [!] send_recv read reply failed: LIBUSB_ERROR_PIPE
  8. [!] send_recv STLINK_GET_VERSION
  9. libusb: warning [darwin_transfer_status] transfer error: timed out
  10. [!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT
  11. [!] send_recv STLINK_GET_CURRENT_MODE
  12. libusb: warning [darwin_transfer_status] transfer error: timed out
  13. [!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT
  14. [!] send_recv STLINK_GET_CURRENT_MODE
  15. libusb: warning [darwin_transfer_status] transfer error: timed out
  16. [!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT
  17. [!] send_recv STLINK_DEBUG_ENTER
  18. libusb: warning [darwin_transfer_status] transfer error: timed out
  19. [!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT
  20. [!] send_recv STLINK_JTAG_DRIVE_NRST
  21. libusb: warning [darwin_transfer_status] transfer error: timed out
  22. [!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT
  23. [!] send_recv STLINK_DEBUG_RESETSYS
  24. libusb: warning [darwin_transfer_status] transfer error: timed out
  25. [!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT
  26. [!] send_recv STLINK_DEBUG_READCOREID
  27. 2020-10-06T13:07:08 ERROR common.c: Failed to read core_id
  28. libusb: warning [darwin_transfer_status] transfer error: timed out
  29. [!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT
  30. [!] send_recv STLINK_JTAG_READDEBUG_32BIT
  31. 2020-10-06T13:07:11 WARN common.c: Invalid flash type, please check device declaration
  32. Failed to connect to target


Valakinek valami bevált ötlet erre?
A hozzászólás módosítva: Okt 6, 2020
(#) vargham válasza Gránátalma hozzászólására (») Okt 6, 2020 /
 
Milyen debugger hardvert használsz?
CubeMX-ben engedélyezted a debugot?
(#) benjami válasza Gránátalma hozzászólására (») Okt 6, 2020 / 1
 
Próbáld meg a bluepill-en levő reset gomb nyomkodását és a csatlakozást időzíteni egymáshoz. Hogy ezt a macerát elkerüld a későbbiek során, a Cube részben engedélyezd "serial wire"-t (PA13, PA14 lábra ekkor rá is kerül a az SWCLK és SWDIO funkció).
(#) vargham válasza benjami hozzászólására (») Okt 6, 2020 /
 
Vagy ha olyan a debuggere, akkor kösse be a reset vonalat, és válassza ki a "Connect under reset" opciót.
(#) Gránátalma hozzászólása Okt 6, 2020 /
 
Igen, mire rátöltöttem én is rájöttem, hogy ezt hagytam ki és baj lesz belőle, dehát addigra felment rá cucc.

Próbáltam a reset láb bekötést, meg a reset gomb gyonkodását reconnect közben, de nem ment vele sajna. GOndolom teljesen off az SWD interface.

Ilyen HW-em van hozzá

Rendeltem most egy JTAG kompatibilis STLINK-et FDH-ról. Majd azzal visszakapcsolom.

Köszi mindenkinek a segítséget!
(#) vargham válasza Gránátalma hozzászólására (») Okt 6, 2020 /
 
Idézet:
„GOndolom teljesen off az SWD interface.”

Nem, reset alatt továbbra is lehet csatlakozni hozzád.
Idézet:
„Próbáltam a reset láb bekötést”

A probléma az, hogy az általad használt kínai klón ST-Linken nincs kivezetve az SWD reset jel, csak a SWIM (STM8) reset. Mivel STM8-t nem használok, simán átkötöttem magamnak.
A hozzászólás módosítva: Okt 6, 2020
(#) Gránátalma válasza vargham hozzászólására (») Okt 6, 2020 /
 
Áhhá. Akkor mindjárt szétkapom és átkötöm én is aztán újra próbálom.
Köszönöm!
(#) vargham válasza Gránátalma hozzászólására (») Okt 6, 2020 /
 
Lefotóztam az enyémet.
(#) Gránátalma válasza vargham hozzászólására (») Okt 6, 2020 /
 
Ahha, sikerült visszahozni, köszönöm! Szép napot nektek!
(#) Skori hozzászólása Nov 2, 2020 /
 
Sziasztok! Eddig csak arduinoval programoztam a BluePill-t, de nemrég elkezdtem az STM32CubeIDE fejlesztőkörnyezettel ismerkedni, és mindjárt fel is merült egy kérdésem.
Hogyan szoktátok megoldani a soros port kezelését? Arduinoban le lehetett kérdezni várakozás nélkül, hogy hány karakter van a pufferben, kiolvasni, eltárolni a teljes üzenet beérkezéséig, stb...
A CubeIDE HAL függvényei viszont olyan paramétert várnak, hogy meg kell adni hány karaktert szeretnék venni... Ok. megadhatom hogy csak 1-et, és a megszakításban eltárolom ami jött, de sokkal ügyesebb lenne ha mondjuk \r és vagy \n karakterig venne a pufferébe, és pl. akkor generálna megszakítást amikor egy teljes feldolgozható sor beérkezett.
A netes példaprogramokban 4 bájtot "akarnak venni", de én nem tudom előre, hogy hány bájt fog érkezni. Gondolom érthető a probléma.
Mi a korrekt megoldás erre, ill. hogyan szoktátok kezelni a soros porot?
TX esetén nincs gond, ott nyilván adott, hogy mennyi adatot kell elküldeni.
A hozzászólás módosítva: Nov 2, 2020
(#) benjami válasza Skori hozzászólására (») Nov 2, 2020 / 1
 
Anno csináltam az uarthoz bufferelt drivert. Ebben lehet callback függvényt használni a vett karakter jelzéséhez. A mellékletbe beraktam, és gyorsan csináltam példát sor vége karakter érzékeléshez (Src/App/app_uart_test.c). A driver meg az Src/Uart mappában van.
Nem tudom hogy lehet beimportálni a cubeide-be, mert én a régebbi hagyományos truestudio-t használom, a project generáláshoz meg a régi különálló cubemx-t használom.
Közben megnéztem simán behívható a cubeide-be (File / Open project from file system... ).
A hozzászólás módosítva: Nov 2, 2020
(#) vargham válasza Skori hozzászólására (») Nov 3, 2020 / 1
 
Idézet:
„Arduinoban le lehetett kérdezni várakozás nélkül, hogy hány karakter van a pufferben”

Mert ott ezt már megírták előtted. Ráadásul a háttérben (minden loop végén) erőforrást is fogyaszt.

Én a munkám során DMA-val használom. Ringbuffer, fix mérettel, folyamatos vétellel. Három megszakítás érdekel: Half complete, Complete, és Rx idle. Innen indítom a másolást a saját bufferbe, és ott történik a csomag keresés is.
(#) Gránátalma hozzászólása Nov 10, 2020 /
 
Sziasztok!

Van egy gyári Farnell-es STM32 ST-Link V2-m, nem izolált. Az a gondom vele, hogy macos-en és windowson is egyaránt totál instabil, CubeIDE alatt. Nem tudok vele debugolni. Rákötöttem egy sima Bluepillt, de sem SWD-n, sem JTAG-en nem érem el rendesen.

CubePRG-vel hozzá tudok kapcsolódni, fel is programozza, de olyan hibaüzeneteket ad sokszor, hogy nem találja a targetet, vagy eldobja az egész programozót. A ebay-es clone, simán programozza a bluepill-t, bár debugolni ugye nem tud, lévén csak SWD, de az sose dobál hibákat.
2bluepillem is van, mindkettővel ezt csinálja.

Járt valaki így, esetleg van valami trükkje?
A hozzászólás módosítva: Nov 10, 2020
(#) moltam válasza Gránátalma hozzászólására (») Nov 10, 2020 /
 
Annyira nem vagyok benne de én simán debugolok a kínai klónnal bluepillt swd n keresztül. VScode+Platformio, CMSIS libaryt használok. Mi az amit nem lehet csak jtag alól? Tudok breakpointot lerakni, látom az összes regiszter tartalmát.
(#) Gránátalma válasza moltam hozzászólására (») Nov 10, 2020 /
 
Van hozzá valami leírás, vagy bármi? Nem zárkózom el tőle, hogy nálam van a gond, de én eddig nem jöttem rá, hogy mi
Következő: »»   5 / 13
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem