Fórum témák
» Több friss téma |
Bár látom, hogy megoldódott, de a mellékletbe feltettem egy alap cubemx / truestudio projectet a fekete f407zet boardhoz. A példa az SD kártyán levő tartalomjegyzéket nyomja ki printf -> SWO-n. Van egy másik példa is zippelve (töröld le a appSdDir.c -t és csomagold ki az appBmpToC.c -t). Ez meg a kártyán található 24bites BMP fájlokból készít 16bites színmélységre konvertált C forrást.
Nem tudom, hogy neked mi lehet a gond, de ez debug módban is megy.
Üdv benjami!
Meg szeretném kérdezni, hogy a Te boardodon van e 25Q16DVS: 16M-BIT SERIAL FLASH MEMORY WITH DUAL AND QUAD SPI ? És, hogy próbáltad e már ezt a QAD SPIt használni? Számomra még teljesen ismeretlen téma. Esetleg lenne hozzá valami példa alkalmazásod? Azt meg köszönném!
Van rajta 25Q16, de még sosem használtam. Négy bitesként (ha csak ki nem forrasztod) biztos nem fogod használni, mert abból 2 láb fixen a VDD-re van kötve (WP, HOLD). Két bitesként meg szerintem nincs hardveres támogatás hozzá a chipben, így csak a sima SPI mód marad. Azt nem tudom, hogy a 25Q16 négy bites protokollja használható-e vajon az STM SDIO perifériájával, de ha igen, akkor meg azokra a lábakra kellene átkötni, de úgy meg ugye az SD nem működne.
Nem régen beforrasztottam amúgy a boardra az 1MB SRAM-ot, az teljesen jól működik, csak először összeakadt a 8 bites vezérlésű adafruitos LCD-kel (FSMC módban használva). Kiderült, hogy ezek a lökött kínaiak az LCD piros panelján levő kétirányú illesztőt nem korrektül kötötték be, így az adatbuszra folyamatosan az is ráterhelt amikor az SRAM-ot olvastam volna. Közé kellett iktatni egy OR kaput, hogy az LCD buszmeghajtója csak akkor pofázzon visszairányba, ha az LCD CS lába is aktív.
Neked is a korábban linkelt fekete 407zet6-os boardod van?
Nekem egyből jól működött az Sram, csak szoftveresen az ChipSelect lábát kellett át írni. Szépen működik az írás olvasás. Flash szintén nagyon jól működik. Köszi a példákat, majd megnézem.
Ez szívás! Akkor le kel mondani a gyors flash kezelésről.
Nem hiszem, hogy érdemes lenne HW. átalakítással bajlódni, azért a kis sebesség többletért. Csak mert ott van a 4 bites SD foglalat mellett azért vettem természetesnek, hogy a flash is 4 bitesre van bekötve. (Mivel a programozó lusta ember, inkább keresgél, mint dolgozik!) Közben találtam: w25qxx SPI FLASH driver for stm32 HAL Bővebben: Link Legalább nem kel mindent az alapoktól kezdeni! Meg kérdezném, hol veted az SRAM-ot, milyen típusú, és milyen sebességet tudsz elérni vele? Feltételezem, hogy tft grafikához használod?
Szintén feltenném a kérdést.
Hol veted az SRAM-ot, milyen típusú, és milyen sebességet tudsz elérni vele? Kifejtenéd kicsít bővebben! Feltételezem, hogy tft grafikához használod? A hozzászólás módosítva: Márc 6, 2019
2 típust vettem tesztelésre.
IS62WV51216BLL-55TLI ezt SOP tokozású. IS66WVE4M16EALL ez TFBGA tokozásban. Sajnos az utóbbinál túl drága lenne a nyák kivitelezése, mert 6mil alatti nyáktervezést igényel, így azt nem tudtam még használni. Előbbit, hajtom már rég és belső feltöltése olyan gyors szinte mint ha csak az MCU memóriáját írnád. Sebességet nem mértem, de 1MB adat feltöltése SDIO segítségével kevesebb mint 3mp. De pontos mérést nem csináltam, nem volt rá szükség. Flash és SRAM közt azért van bőven, úgy néztem, hogy az eddigi legjobb Flash RAM amit használtam (50ms a teljes törlési idő) nagyjából 10-15%-al lassabb mint az SRAM. Átviteli sebességet néztem USB CDC segítségével, 512Byte-os csomagokkal, itt ügye a szűk keresztmetszet az USB CDC. 1. SRAM 1MB adat, 82236 Byte/s 2. Flash 1MB adat, 74962 Byte/s Osztottam egy képet is.
Ja még annyival egészíteném ki, hogy a flash ram, szektor törléssel működik, tehát írás közben, ha eléri a szektor végét, akkor a következő szektort törli és így tovább.
Ha feltöltés előtt törölném a memóriát, akkor lehet még gyorsabb lenne. Illetve még egy kiegészítés, a Flash ram tud buffert is írni, nem sokat, de egyszerre 16word-öt tud kiirni egy szekvenciával, lehet itt is tudnék még időt nyerni, ezek most nem kritikusak nekem, de később optimalizálni fogom a sebességet is. Nah nézem közben az adatlapot: Idézet: „Fast Erase Times:– Sector-Erase Time: 18 ms (typical)– Block-Erase Time: 18 ms (typical)– Chip-Erase Time: 40 ms (typical)” Vagy is sokat tudnék spórolni még mert 1MB adat felírása 32x18ms szektor törlési időt vesz igénybe. A hozzászólás módosítva: Márc 6, 2019
Köszi, szépen a tájékoztatást!
Ez is mutat valamit. Bár ennél a tesztnél azt hiszem az SD a szűk keresztmetszet. Engem inkább az SRAM <-> 16bites TFT LCD közötti sebesség érdekelt volna.
SDIO 8bit-en van hajtva, szerintem ez nem lehet a szűk keresztmetszet, vagy is nem a legszűkebb. Bár ha I/O közti sebességet nézzük, akkor igen. Közel számolhatsz akkora sebességgel, mint az MCU memória elérésének sebessége, mert egy az egyben úgy kezeli, legalább is az FSMC. Hardveresen van megoldva, nagyon penge és gyors.
Srácok van valakinek tapasztalata STM32F407ZET6 vagy 407-es bootloaderrel kapcsolatban?
Nem a DFU-ra gondolok, hanem normál bootloaderre.
Normál bootloader alatt azt érted, hogy te írsz egyet?
Olyan amelyet elsőnek fel kell tölteni és azon keresztül lehet majd feltölteni a frissítéseket.
Ha egy mód van rá nem írnám én meg.. Szóval olyan legyen mint a DFU, de ne keljen 2 program, az átalakításhoz és feltöltéshez.
Ezt nem egészen értem.
Minden STM32 eszköz tartalmaz ROM bootloadert. Az nem jó neked? Csak használni kell.
Az stm32CubeProgrammer már jól kezeli a DFU-t is, nem kell konvertálgatni.
Igazad van rosszúl fogalmaztam.
Olyan PC-s progi kellene, amivel fel tudom tölteni a lefordított hex állományt.
Sziasztok!
Az Atollic True Studiót szeretném beállítani úgy, hogy debug nélkül csak fölprogramozza a kontrollert ezen leírás alapján, de nem akar összejönni, a program a mellékelt képen látható hibaüzenetet adja futtatáskor. Tudna valaki abban segíteni, hogy mit csinálok rosszul? Köszönöm!
Használd a CubeProgrammert, SWD-n is tud programozni.
Bővebben: Link
A CubeProg-ot is tudod integrálni, ha úgy akarod használni:
Bővebben: Link
A CubeProgrammer működik önmagában, köszönöm; viszont a fejlesztőkörnyezetbe integrálva ugyanabba a hibába ütközök, mint a másiknál.
EmBitz installert keresek ui. a szerverükről (ami lehalt) nem lehet letölteni már egy ideje...
Előre is köszi.
Nem tudom hányas verziónál jár most a program, nálam az 1.11-es változat telepítője van meg, ha ez megfelel, innen letöltheted: Bővebben: Link
Sziasztok.
STM32H7 procin probalom elinditani az LTDC-t. Sync, DE jelek megvannak, Clk folyamatosan H szinten van. Zarlat nincs. CubeMX-el generalt kod, elmeletileg 12 MHz orajellel hajtom egyik PLLrol.
Vsz. ezt kerestem, köszi.
Gondolom a fórumbejegyzéseknek is annyi szerverükön, de remélem azért a forráskódot máshol tárolták...
Megoldodott. A cubemx-bol a pll beallitas valahogy nem kerult bele helyesen a kodba, a CLK~70 MHz volt, ez LOW speed I/O beallitassal szepen adta a 3V3-at.
Sziasztok.
Sehogy sem akar osszejonni az LTDC : Register reload Interrupt. Probalkozott ezzel eddig valaki ? Ez a fv allitja be es engedelyezi az interruptot.
IT lekezelese megvan ebben:
Handler megirva. Ebben ujra hivom a HAL_LTDC_Reload() fv-t.
A hozzászólás módosítva: Márc 27, 2019
Sziasztok!
Az mbed RTOS-ban a dinamikus memória kezelés a software-es objektumok (pl.: std:string) felé szálvédett? Mert bárhogyan keresetem a forrásban semmi erre utalót nem találtam. FreeRTOS felé csinálok egy C++ API amit ARM-hoz és PIC32-höz is használhatok. Mivel itt is rengeteg objektum (String, List, stb..) használna dinamikus memóriát és a FreeRTOS szávvédetten foglal memóriát és nekem úgy tűnik logikusnak hogy String is szávédetten férjen a heap-hez, de mivel ezt az mbed-ben nem látom nem tudom szükséges vagy nem?
Sziasztok,
Tudom, hogy a kérdésem nem ARM programozásról szól, hanem STM8-ról, de az már majdnem STM32 ami meg már ARM... Van jó néhány bontott CAN busz modulom STM8S208C8T6-al szerelve, amiknek a firmware-ében van egy nagy biztonsági rés, a gyár küldött helyette csere modulokat, a régi modulokra meg szeretnék saját firmware-t írni. Vásároltam egy klón ST-Link-et, a nyákon szereplő 5V, SWIM, GND, RESET felírat szerint összekötöttem az ST-LINK-kel, de a gond az, hogy nem akarja felismerni, logikai analizátorral nézve úgy tűnik, hogy az MCU nem válaszol az üzenetekre. Szerintetek mivel kezdjem a hibakeresést? Számomra teljesen újdonság az STM8 programozás, nem tudom, hogy merre induljak. A válaszokat előre is köszönöm! A hozzászólás módosítva: Ápr 14, 2019
Milyen programmal fejlesztesz? A tápellátás hogy van megoldva (bár a felvétel szerint az rendben van)? A felvételen olyan, mintha valami folyamatosan reset-ben tartaná, nem kellene alacsony szinten lennie.
|
Bejelentkezés
Hirdetés |