реклама на сайте
подробности

 
 
> DM3730, DMA, CMEM, драйвер Linux
C6x
сообщение Apr 25 2016, 11:36
Сообщение #1





Группа: Участник
Сообщений: 10
Регистрация: 1-02-07
Пользователь №: 24 956



Добрый день.
Имеется DM3730, работающий под Linux. Имеется желание использовать DSP-ядро в DM3730 и обрабатывать с помощью него данные, поступающие с McBSP в буфер посредством DMA (под управлением ARM). Для организации памяти используется модуль CMEM, с помощью которого получаем физический адрес для DMA. Вопрос в следующем: как использовать этот адрес на уровне ядра Linux, чтобы не только DMA настроился, но и ARM имел доступ к этим данным на уровне ядра?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 1)
C6x
сообщение Apr 29 2016, 08:23
Сообщение #2





Группа: Участник
Сообщений: 10
Регистрация: 1-02-07
Пользователь №: 24 956



Сам отвечаю: вроде работает такая конструкция
Код
if (!request_mem_region(phys_address, size, "bsl"))
    {
                printk(KERN_INFO "can't reserve i/o memory at 0x%08X\n", (unsigned int)phys_address);
                err = -ENODEV;
                goto fail;
    }
    virt_address = ioremap_nocache(phys_address, size);

где phys_address - физический адрес области памяти, которая выделяется посредством CMEM и используется для DMA; virt_address - виртуальный адрес в пространстве ядра.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 16:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.01461 секунд с 7
ELECTRONIX ©2004-2016