Fórum témák

» Több friss téma
Fórum » ARM - Miértek hogyanok
 
Témaindító: gtk, idő: Jún 26, 2007
Lapozás: OK   133 / 177
(#) benjami válasza don_peter hozzászólására (») Márc 5, 2019 / 1
 
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.
(#) kapu48 válasza benjami hozzászólására (») Márc 5, 2019 /
 
Ü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!
(#) benjami válasza kapu48 hozzászólására (») Márc 5, 2019 /
 
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.
(#) don_peter válasza benjami hozzászólására (») Márc 6, 2019 /
 
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.
(#) kapu48 válasza benjami hozzászólására (») Márc 6, 2019 /
 
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?
(#) kapu48 válasza don_peter hozzászólására (») Márc 6, 2019 /
 
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
(#) don_peter válasza kapu48 hozzászólására (») 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.

sebesseg.PNG
    
(#) don_peter válasza don_peter hozzászólására (») Márc 6, 2019 /
 
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
(#) kapu48 válasza don_peter hozzászólására (») 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.
(#) don_peter válasza kapu48 hozzászólására (») Márc 6, 2019 /
 
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.
(#) don_peter hozzászólása Márc 7, 2019 /
 
Srácok van valakinek tapasztalata STM32F407ZET6 vagy 407-es bootloaderrel kapcsolatban?
Nem a DFU-ra gondolok, hanem normál bootloaderre.
(#) vargham válasza don_peter hozzászólására (») Márc 7, 2019 /
 
Normál bootloader alatt azt érted, hogy te írsz egyet?
(#) don_peter válasza vargham hozzászólására (») Márc 8, 2019 /
 
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.
(#) vargham válasza don_peter hozzászólására (») Márc 8, 2019 /
 
Ezt nem egészen értem.
Minden STM32 eszköz tartalmaz ROM bootloadert. Az nem jó neked? Csak használni kell.
(#) ha1drp válasza don_peter hozzászólására (») Márc 10, 2019 /
 
Az stm32CubeProgrammer már jól kezeli a DFU-t is, nem kell konvertálgatni.
(#) don_peter válasza vargham hozzászólására (») Márc 11, 2019 /
 
Igazad van rosszúl fogalmaztam.
Olyan PC-s progi kellene, amivel fel tudom tölteni a lefordított hex állományt.
(#) fsub hozzászólása Márc 21, 2019 /
 
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!

hibaüzi.png
    
(#) rolandgw válasza fsub hozzászólására (») Márc 21, 2019 /
 
Használd a CubeProgrammert, SWD-n is tud programozni.
Bővebben: Link
(#) fsub válasza rolandgw hozzászólására (») Márc 21, 2019 /
 
Köszönöm, ki fogom próbálni!
(#) rolandgw válasza fsub hozzászólására (») Márc 21, 2019 /
 
A CubeProg-ot is tudod integrálni, ha úgy akarod használni:
Bővebben: Link
(#) fsub válasza rolandgw hozzászólására (») Márc 22, 2019 /
 
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.
(#) edigi hozzászólása Márc 25, 2019 /
 
EmBitz installert keresek ui. a szerverükről (ami lehalt) nem lehet letölteni már egy ideje...
Előre is köszi.
(#) fsub válasza edigi hozzászólására (») Márc 25, 2019 / 1
 
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
(#) gtk hozzászólása Márc 25, 2019 /
 
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.
(#) edigi válasza fsub hozzászólására (») Márc 25, 2019 /
 
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...
(#) gtk válasza gtk hozzászólására (») Márc 27, 2019 /
 
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.
(#) gtk hozzászólása Márc 27, 2019 /
 
Sziasztok.
Sehogy sem akar osszejonni az LTDC : Register reload Interrupt. Probalkozott ezzel eddig valaki ?

Ez a fv allitja be es engedelyezi az interruptot.
  1. HAL_LTDC_Reload(hltdc, LTDC_RELOAD_VERTICAL_BLANKING);


  1. HAL_LTDC_Init()
es
  1. HAL_LTDC_ConfigLayer()
utan van meghivva.


IT lekezelese megvan ebben:
  1. HAL_LTDC_IRQHandler(LTDC_HandleTypeDef *hltdc)


Handler megirva. Ebben ujra hivom a HAL_LTDC_Reload() fv-t.
  1. void HAL_LTDC_ReloadEventCallback(LTDC_HandleTypeDef *hltdc)
A hozzászólás módosítva: Márc 27, 2019
(#) cross51 hozzászólása Márc 30, 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?
(#) david10 hozzászólása Ápr 14, 2019 /
 
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
(#) Peter65 válasza david10 hozzászólására (») Á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.
Következő: »»   133 / 177
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