Fórum témák
» Több friss téma |
Már megtettem...semmi eredmény!
A kártyára töltve teljesen jól működik. Ott korrekt a stop watch is és jól megy minden. Csak a szimulátorban fut 10x gyorsabban. Végül is ha leveszem target órajelt 16 Mhz-re minden OK. csak nem értem. Lehet, hogy a Keil bug-os ? A HAL annyi mindent állít...azért illő lenne tudni visszabogoznia. Egyébként sokan fikázzák a Cube-ot, de nélküle kibitezgetni mindent hiba nélkül nagyon nagy gáz lenne. A hozzászólás módosítva: Márc 4, 2016
Marad a debug... végignézel mindent az órajel kiolvasásáig.
Én inkább kibitezgetem a dolgokat, de már az usb-t én is inkább a cubemx-el generáltam.
Sziasztok!
STM32F429 eval-boarddal játszok. A problémám az OpenOCD (v0.9) használatával támadt. Akkorára nőtt a flash image, hogy az IWDG alapértelmezett beállítása (reset után ~2sec) nem elegendő a letöltéshez. Emiatt a watchdog keresztbe vágja a letöltést. Valamiért a debug esetén működő
Próbáltam a
Így tehát az OpenOCD-t csak úgy tudom flash írásra használni, ha az IWDG ki van kapcsolva. Kérdésem, hogyan lehetne rávenni az OpenOCD-t, hogy bekapcsolt watchdog esetén is működjön a letöltés?
Discovery F407 kártyával cumizok a Keil alatt.
Próbálom a Cube által legenerált kódot minden beavatkozás nélkül. Időalapot TIM2-vel generáltam. Elméletileg 1 msec kellene, hogy legyen az interrupt-ja. Beállítottam az STLink tracet. Szerintem jól. Töréspontokat tetem és néztem a stop watch-ot. A SysTick_Handler teljesen jól megy 1 msec-el. A TIM2_IRQHandler viszont össze vissza ugrál. Mit csinálhatok rosszul ? A stop watch törlést nem lehet gombra vagy hotkey-re tenni ?
__STATIC_INLINE a headerben definiált függvényeknél pontosan mit jelent ?
Jól gondolom, hogy ez a függvényt azonnal beilleszti a kódba ( akár többször is ) és nem szubrutinként hívja ?
Mindenki a tavaszi kerti munkákat végzi ????
Esetleg van valakinek tapasztalata RTOS ügyben ? Egyenlőre 2 maradt a szitán : CMSIS RTOS RTX Viszonylag sok oktató anyag van, elég jól tanulható. Keil támogatja a DEBUG-ot. FRERTOS ST ezt nyomja (CubeMx). Dugdossák a doksit. Illetve jó pénzért megvehető. Nem találtam ingyen letölthető normális tutorial-t. Csak azt ne írjátok hogy nem kell RTOS, mert a Bare Metal vagy Superloop.. a király.. Jelenleg fut egy PID PWM szabályzó, kitudja mennyi timer, kijelző, gombok kapcsolók , stb... Mindezt grafikus TFT-re szeretném portolni és IOT-t is szeretnék. Még nagy kérdés a grafika ! Eszméletlen meló lenne megírni egy saját rendszert. Van uGUI, uGFX vagy a profibbak emWin illetve Microchip GFX. Egyedi kinézetet szeretnék. A Microchip widgetjei kifejezetten csúnyák és elavultak. Viszont ott a forrás ami szerintem nem túl nagy melóval portlható STM32-re. Egyenlőre vettem egy F7 discovery-t illetve ebay-ról rendeltem egy olcsó 3.2 vezérlős resistive tft ( ehhez találtam FSMC driver minta példákat F4 discovery-hez ).
A Microchip szoftvereinek licenszében többnyire az a kitétel áll, hogy legálisan csak a Michrochip mikrovezérlőihez használhatod. Ha kereskedelmi terméket készítesz, akkor nem célszerű ezt figyelmen kívül hagyni...
A CMSIS RTOS API-nak az lenne a lényege, hogy a mögötte álló RTOS lecserélhető legyen. Hogy melyik a szimpatikus, az ízlés dolga.
Köszi az infót a Microchip-ről. Erre nem is gondoltam......biztosan nincs az a pénz amiért megengednék.
Végül is az uGFX nagyon tetszik. Jól dokumentált...igaz ez is fizetős kereskedelmi termékben. Nem is olcsó! JPEG-et még nem tud. Viszont a fontokat nagyon jó kezeli van élsimítás és kerning is. Kicsit kutakodtam és már van jópár "CMSIS compilant RTOS". Olvashatóbbak és nekem jobban megjegyezhetők a CMSIS függvények. Kicsit lassabb a plusz hívások miatt, de a szabványosítás sokat jelent. A Keil-ben ( csak STM32 procikat néztem ) már megvan a CMSIS driver API is.
Megjött az F7 DISCO. Kipróbáltam az uGFX-t. Szépen működik CMSIS RTOS RTX alatt de nem az ST HAL libeket használja.
Sziasztok!
Kaptam egy stm32f429i-disco boardot. Most kezdtem el ARM-mel ismerkedni, eddig AVR-rel és FPGA-kkal foglalkoztam belépő szinten. Az a gondom, hogy nem tudok életet lehelni egy sima kis villogóba sem, olyan mintha a while(1){} ciklusom csak egyszer futna le, ugyanis próbálgattam olyan kódot is írni, amikor a gombnyomásra gyullad ki valamelyik LED (lenyomom piros, felengedem zöld). Ha reset mellett lenyomom a gombot, akkor megfelelően a piros világít, vagy ha felengedve resetelek, akkor a zöld, ebből arra következtetek, hogy a feltételek jól értékelődnek ki. Néztem millió meg egy oktatóvideót, oktató cikket, de nem sikerül. Kezdi nagyon a kedvem szegni. Tudnátok segíteni? Valami beállítási probléma lehet? Toolchain: MDK_ARM uVision5.18a-t használok Ez a villogó kódom, a for ciklusban lévő értéken is változtatgattam, hátha az a baj:
A hozzászólás módosítva: Ápr 14, 2016
Lehet, hogy az üres for ciklusodat optimalizálja ki a fordító?
Próbálj valmit rakni a ciklusba.
Köszönöm a gyors választ!
Megpróbáltam úgy, hogy létrehoztam egy változót, for ciklusban inkrementáltam, de így sem jó sajnos. Bár a gombnyomós-világítós programomban sem volt for ciklus, és az sem működött megfelelően. Youtube-os oktatóvideókban amiket néztem működik a kód, ők is Keilel csinálták. Szerk: Sőt while ciklust is próbáltam a for helyett A hozzászólás módosítva: Ápr 14, 2016
Akkor mégis tudni kellene, hogy mit telepítettél?
Ajánlanám: STMicroelectronics STM32F4 Series Device Support, Drivers and Examples Telepítését!
Simán fel-le kapcsolni tudod egyébként?
Lépésről-lépésre végrehajtás esetén mit mutat? Először csak kapcsolgasd magad. KEIL-ben nyomod?
Egyébként meg hagynám a fenébe a CMSIS-t elsőre.
Nyisd ki az adatlapot és bare-metal programming.
Ha azt szeretnéd, hogy a várakozási ciklusodat ne optimalizálja ki a fordító, akkor használj volatile változót:
Installáltam a uVisiont, azon belül pedig az alap ARM-es dolgokat, amiket magától feltelepített, utána pedig leszedtem a boardomhoz tartozó package-eket (így letöltötte az egész stm32 F4 szériához tartozó packot).
STM32CubeMX-et feltettem, ott pedig a STM32CubeF4 releases közül a legújabb firmware packaget, bár ezt a progit nem használom. Feltelepítettem az St-Link driverét.
Nem tudom sajnos simán fel-le kapcsolgatni sem, csak úgy működik, ahogy az első hozzászólásomban írtam, hogy resettel együtt nyomva/nem nyomva választom ki melyik LED-et kapcsolja fel. Ezért tűnik úgy, mintha csak egyszer futna le a while() ciklus.
Igen Keil-ben próbálkozom. Ehhez tudsz valami jó doksit ajánlani? Néztem az oldalon a datasheetet, csak 200 oldalas volt, de konkrét regiszterekről, mi mit csinál nem nagyon találtam infót.
Megpróbáltam volatile változóval is, de sajnos így sem működik.
Lásd a melléklet.
Szerintem kimaradt a main() elején az órajelek beállítása!
??? STM32F429I-Discovery Board A hozzászólás módosítva: Ápr 15, 2016
Getting Started
Create Applications with MDK Version 5 for ARM® Cortex®-M Microcontrollers ]Bővebben: Link
Köszönöm szépen, hasznos kis ppt!
Köszönöm! Az órajel beállításokkal lehetett valami gond, mert az Stm32cubeMX-el grafikusan beállítottam az órajeleket, és az általa generált templatet használva működik.
Uraim, most kezdtem el ARM-el foglalkozni..
Jelenleg egy STM32F103ZE ARM-el rendelkező fejlesztő panelen gyakorolgatok: Bővebben: Link Ez csak tényleg gyakorlásra van, és a végeredményt amit fejlesztek, egy STM32F103VCT6-os MCU-n akarom használni. Több kérdésem is lenne, ha tudtok segíteni benne. Az első az maga a programozás, illetve a lábak amiket ki kell hozni. Vissza fejtettem és 20lábas csatlakozóban ezek vannak sorrendben: VCC - VCC GND - NJTRST GND - JTDI GND - JTMS GND - JTCK GND - NC GND - JTDO GND - NRST GND - NC GND - NC Ez ha jól tudom, akkor JTAG-nak nevezik. Van ennek egy egyszerűbb bekötése, vagy ezek a lábak mind kellenek a sikeres programozáshoz? Foglalkozott már valaki kimondottan STM32F103VCT6 típusú ARM-el? Van róla tapasztalat? Elsődlegesen NOR Flash memóriát akarnék vele kezeltetni, de ügye ez csak 100lábú, és a memória címbitjei nincsenek maradéktalan kihozva. Ilyen esetben, valamelyik protra kell bekonfigurálnom a kimaradt 16bit címbitet? Azért ez a kérdés, mert amin gyakorlok 144 lábú ARM a hiányzó címbit lábak megvannak. Mire érdemes figyelni ennél az MCU-nál? Az elsőre nyilvánvalóvá vált, hogy kicsit nehezebb konfigurálni mint a PIC-eket, van valami bevált forrás ahonnét gyűjthetek alapokat a regiszterek megfelelő kezeléséhez? Pl.: SPI, I2C, beépitett RTC, ilyesmik... Előre is köszi a segítséget. ui: jaj majdnem lemaradt. IAR Embedded Workbench-el fejlesztek.. :Bővebben: Link
Nem foglalkoztam még ilyen mikrovezérlővel, de Geoffrey Brown: Discovering the STM32 Microcontroller jegyzete biztosan segít az alapozásban.
|
Bejelentkezés
Hirdetés |