STM32Cube a pooled/IRQ/DMA operace

Marek Sembol hwm.land na gmail.com
Pondělí Květen 21 10:12:26 CEST 2018


Jo, myslim, ze jste tu moji matlaninu poc;hopil tak jak jsem ji myslel.
Diky za odpoved, pomohla.
Marek

On Sun, May 20, 2018 at 7:34 PM Jaroslav Buchta <jaroslav.buchta na hascomp.cz>
wrote:

> Nevim, jestli uplne chapu vas dotaz, ale myslim, ze to obecne lze, pokud
> mate na mysli jednou treba pouzivat verzi s poolingem, jednou IT a pak
> treba DMA. Ono se to vzdycky kompletne nakonfiguruje, jen je potreba to
> prislusne nastavit v CubeMX na maximalni variantu, tedy DMA.
> Taky HAL nemam rad ale asi neni jina cesta pro F7 a vyse, na takove ty
> nekriticke aplikace to funguje a snadno se to pouzije.
> Co se tyce kombinace preruseni od periferie a od DMA, tak to asi bude
> trosku HW zavisle ale IMHO to netreba resit, proste pouzit API tak jak je
> to v prikladech a bude to nejak fungovat. V tom HAL jsou ruzne FSM pro
> periferie a co jsem zatim potreboval zkoumat, tak to vzdycky po dokonceni
> operace skonci v nejakem vychozim stavu. Jen implementovat prislusne
> callback funkce pro indikaci dokonceni prenosu.
> Ted jsem zprovoznoval QSPI a tam me stve jina vec, strasna rezije pro
> jednotlive operace, kdyz kouknu osciloskopem na signaly tak je to jako noty
> na buben. Zase ale operace E/W trvaji z principu dlouho, tak to tolik
> nevadi ale narocnejsi cteni by uz bylo dost zdrzovane. Vim, ze to lze
> namapovat do pametoveho prostoru a bude po problemu, ale u ostatnich
> periferii to asi nebude lepsi.
>
> Dne 20.05.2018 v 18:00 Marek Sembol napsal(a):
>
> Zdravim,
> zacal jsem si hrat s STM32, pouzivam (minimalne zatim) projekt
> vygenerovany STM32CubeMX, HAL drivery.
>
> Otazku smeruji na I2C, ale predpokladam, ze to plati pro vsechny periferie.
> Hraji si s STM32F407, ale predpokladam, ze to plati pro vsechny STM32Fxxx)
>
> Zajimalo by mne, zda mohu kombinovat pooled/IRQ/DMA operace pro jednu
> periferii (napr I2C1) V dokumentaci jsem nic rozumneho nenasel (ale
> nerikam, ze to tam neni, mozna jen neumim hledat) Rekneme, ze "naklikam"
> I2C kanal pro DMA transfer. Pak mohu pouzit funkci
> HAL_I2C_Master_Transmit_DMA. Mohu pouzit i "pouze IRQ" verzi  HAL_I2C_Master_Transmit_IT
> pripadne poolovanou  HAL_I2C_Master_Transmit?
>
> A druha vec: vcera jsem hodne casu stravil nez se mi podarilo I2C DMA
> prenosy rozjet. Problem byl v tom, ze pri nastaveni DMA  STM32CubeMX
> vynuti irq pro DMA (a ten nejde ani vypnout), ne vsak pro samotny I2C.
> Delam neco spatne a ty I2C preruseni nemusim zapinat, nebo je to
> nedopatreni v  STM32CubeMX, ze je taky nevynuti?
>
> predem diky,
> Marek
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.czHw-list na list.hw.czhttp://list.hw.cz/mailman/listinfo/hw-list
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20180521/71b4bb29/attachment-0001.html>


Další informace o konferenci Hw-list