Fórum témák
» Több friss téma |
Sziasztok,
próbálom beüzemelni az Eclipse for Embedded C/C++ Developers-t, egyelőre csak szórakozásból. A fordítás működik, a debug nem. A hibaüzenet a következő:
Valami tipp, hogy mi lehet ez? Ami feltűnik, az PC = 0xFFFFFFFE de miért?
Milyen mikrokontroller, milyen debugger?
Nuvoton M0 és M23-hoz van ingyenes Keil (akár kereskedelmi célra is). Bővebben: Link
Megoldódott. Hibás volt a linker script, és a stack nem létező memóriacímre került.
Újabb kérdés: hogyan kell jlink-el felprogramozni egy a bootloader területet akkor, ha a jlink device adatbázisában csak a fő flash bank van megadva? Ekkor ugyanis, amikor a boot területet akarom programozni, azt a hibaüzenetet kapom hogy "ERROR: Selected Data (0x100000 - 0x100FFF) does not fit into selected flash sectors.". A Keil megoldja, de most nem azzal szeretném.
Én szórakozásból C++17 -el (CLANG/LLVM 12) akarok "baremetal" STM32F103 -ra programot írni lehetőleg lehetőleg annyira hatékonyra mintha mintha CMSIS segítségével írnák programot.
Minimális #define használattal, névterekkel, zero overhead stb. Saját header file már generáltam magamnak. Van rajtam még valaki aki szórakozott ilyesmivel? pár dologgal még küzdök pl.: nem akarja elfogadni std lib array-t #include <array>
Mire gondolsz, hogy nem akarja elfogadni az array-t?
Maga az include problémás vagy a class-t nem ismeri fel? using namespace std; vagy using std::array; feloldás megvan?
maga headert kifogásolja .h vagy anélkül is:
<source>:2:10: fatal error: 'array.h' file not found <source>:2:10: fatal error: 'array' file not found Ha csak ezt adom meg akkor fordul: -Oz -mcpu=cortex-m3 de ha másikat akkor nem: -Oz -Wall --target=thumbv7m-unknown-none-eabi -mthumb -march=armv7m -mcpu=cortex-m3 -mfloat-abi=soft -mfpu=none Szóval töröm a fejem hogy a target miért okozza hogy többet nem találja meg a headert A hozzászólás módosítva: Júl 11, 2021
Annyit lehet megpróbálni, hogy explicit megadod a std header-ök include dir-jét, de én ilyen problémával nem találkoztam.
megpróbáltam de nem nagyon sikerült más fájlt hiányol de akkor megpróbálok ellenni nélküle.
Pedig meg akartam próbálni hogy GPIO MODE / CNF ből valami tömböt csinálok és hátha a fordító eltünteti. mint ebben a videóban: https://www.youtube.com/watch?v=zBkNBP00wJE vagyis GPIOA.mode[10] = GPIOA.MODE_INPUT; is lehet használni GPIOA.CRH_MODE10 = GPIOA.MODE_INPUT ; mellett és kódméretbe ugyanannyi lenne mintha GPIOA->CRH |= ( 0x0 << GPIO_CRH_MODE10_Pos ); írnák PS lehet ha nem inputot csinálok akkor jobb példa lenne
A bitset kell neked bár az nem biztos, hogy null overhead, de minimális szerintem.
Valami ilyesmi elgondolás (L4-es GPIO_Typedef-ből csináltam)
Viszont az undef miatt C-s könyvtárral gond lehet vagy annyit lehet csinálni, hogy
viszont így a C-s könyvtár ami az original GPIOx-re hivatkozik annak előbb kell legyen inlcude-olva mint a C++-os könyvtár.
Köszi.
Bitsettel ugyanaz a gondom mint a array-al nem találja meg még a fordító. Na meg rájöttem közben hogy bitfield-re amugy se tudok se tudok referenciát se mutatót definiálni. max majd később rápróbálok osztály és operátor overload-val megoldani.. C-s könytárt meg teljesen kihagyom generáltam namespace + constexpr + stuct használatával saját headert amibe benne van összes regiszter. A led villogtató program 2 verzióban teljesen ugyanannyi bájtra (utasításra) vagyis pici szinten megvan 0 overhead, minden inline amit lehet const vagy constexpr van definiálva (CMSIS vs Saját header) most a konstansokat adom a header mivel mivel svd file nem tartalmazza amiből készült a saját header. Pl.: CNF: - name: IN_ANALOG value: "0b00" description: Analog mode - name: IN_FLOAT value: "0b01" description: Floating input (reset state) - name: IN_PULL value: "0b10" description: Input with pull-up / pull-down.
Szia.
Nuvotonhoz (NUC 100, NUC 120) nekem Keil + Nulink vállt be. Próbálkoztam a CooCox CoLinkMe és az ARM ULink Pro-jával is, de nem vállt be a NUC családhoz. Bootloadert csak a NuLink-kel tudtam flash-elni. NuLink-et érdemes valamelyik Nutiny/NuMaker board-dal megvenni, mert annyiba kerül úgy, mint külön a NuLink. Krisz
Sziasztok!
STM32 BluePill-t szeretnék használni. Melyik alaplap kezelő a jobb ? A githubos vagy a dan.drown féle ? Köszi: Kiborg https://github.com/stm32duino/BoardManagerFiles/raw/main/package_st...x.json http://dan.drown.org/stm32duino/package_STM32duino_index.json
Nálam a githubos van felrakva, de nem nagyon használom. Ebben a Blue Pill a Generic F1 series csoporton belül választható és van 32 KB, 64 KB és 128 kB változat.
Itt egy útmutató: Program STM32 Blue Pill (STM32F103C8T6) with Arduino IDE A hozzászólás módosítva: Okt 14, 2021
Köszi.
Mindkettőt felraktam, de a githubos a másokhoz képest sokkal tovább fordít. Ugyanarra a procira, egy egyszerű Blink programot.
Arra vigyázz, hogy a szükségtelen dolgokat (UART és USB támogatás) tiltsd le a Tools menüben, ha nem kellenek.
SZiasztok.
Segítséget szeretnék kérni mert teljesen feje tetejére állt a fejlesztő környezetem és nem tudom mi a baj. STM32F030 8C procihoz generálnék kódot. Cube MX telepítve a legújabb. (korábban is ez volt működött. FW F030 v1.11.0 van telepítve. Keil v5 erre pedig a 2.1 es driver A képen látható hibát dobja ki: a\a.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST. Van esetleg ötletetek h egy miért van? A hozzászólás módosítva: Okt 21, 2021
Sziasztok,
STM32 DMA. Lehet valamelyik DMA-val adatkonverziot csinalni ? 12b-bol kellene megtartani 8b MSB-t.
Sziasztok!
Vettem két porszívó LIDAR modult keletről, de persze nem akar megnyikkanni egyik se. A főpanelen gd32f130f8p6 mikrovezérlő van, ami megkapja a tápot (3.3V jut a VDD lábra), be is indul, de a panelen lévő az elvileg kommunikációra szolgáló lábakon nem sikerült még jelet kapnom, s a motort se kezdi pörgetni, hogy beinduljon a távolságmérő forgása. A motort külön kipróbáltam, az működik. Merre lenne érdemes keresni a hibát? A vezérlő SWDIO, SWCLCK lábai szépen ki vannak vezetve egy be nem forrasztott tüskesorra, gondolom ez lenne a JTAG kapcsolódási pontom (az ARM vezérlőkkel még nem játszottam), ezen, meg lehet valahogy támadni, hogy lássam mi történik? Egy mezei USB-TTL illesztő elég hozzá, vagy valami komolyabbat kellene használni ennez?
Nem JTAG hanem SWIO. USB-TTL nem lesz elég, jlink kell vagy valami hasonló programozó-debugger. Szerintem ez így reménytelen, inkább próbálj meg az eladótól segítséget kérni.
Na az sajnos esélytelen:
"Stock machine disassembly lidar, The color is very good, There is currently no data to study the special price processing, There is no way to test good or bad, The machine is dismantled from a stock new machine The radar is all models and specifications, Specially have a bubble protection bag, So there are few scratches on the radar fuselage, The radar power supply is 5V, Radar red positive, Black negative pole, The other two should be TX and RX serial lines, Don't know how to run it, if you mind, please don't buy it, thank you!" Minden esetre egy levelet megér nekem, meg a hasonló lidarral foglalkozó discord csoportot is betámadtam, hátha valamelyik találkozott már ezzel Na meg ezen kívül találtam egy github linket hozzá, ami talán majd eredményre vezet egyszer... Bővebben: Link A hozzászólás módosítva: Okt 24, 2021
Hát sok szerencsét hozzá. Ez a kedvenc mondatom: "The color is very good". Zseniális Tipikus kínai eladó, semmit nem tud csak árulja. Megnéztem a linket, ők OpenOCD-vel programoznak, szóval kell valami openocd-képes hardware, vagy valami egyéb programozó.
Írtam az itthoni márkaképviseletnek, hátha nem teljesen titkos a soros protokoll, amit használnak és elárulnak belőle valamit. Jó lenne ebből a kütyüből egyetemi projektet csinálni és kiegészíteni 3D-re...
Gyakorlatilag amit a srác megtalált az annyi volt, hogy amikor elküld a kütyünek egy $ karaktert, akkor az elkezd kommunikálni. A motor bekapcsoló funkciót már nem találta meg, inkább a motort direktben hajtotta meg, később pedig csak átverte az érzékelőt és adogatta neki az impulzusokat, mintha forogna. Meglátjuk mi lesz ebből, lehet, hogy semmi, de majd kiderül.
Sziasztok, kérdésem lenne:
Gd32f103rct6 -oson kellene kb 6-10 byte-ot tárolni kikapcsolt állapotban is. Van-e erre bevált rutin vagy hogyan lehetne megtenni a flash írását/olvasását? Külső soros tár nem jó, nincs már láb szabadon és hely sem. Előre is köszi.
Gigadevice oldaláról le lehet tölteni egy csomagot, GD32F10x_Firmware_Library a neve, abban examples\fmc alatt van erre példa.
Nagyon köszönöm, megnézem.
Hova érdemes tenni, amit a program újraírás sem töröl?
A programmemória végére szokták, de ez nem garantálja hogy egy újraprogramozás nem törli.
|
Bejelentkezés
Hirdetés |