Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
ARM9, DMA и ОС.
Отправлено
H90 (81.23.195.106) 22 октября 2010, г. 09:17
При программировании контроллера DMA требуется указать адрес приёмника (буфер в памяти). Под ОС (Линух) память можно выделить, например, через new(), но это будет не физический адрес и передавать контроллеру ДМА его нельзя.
Можно ли как-то преобразовать этот адрес в тот, который можно передать контроллеру ДМА, или каким-то образом по-другому получить физический адрес? Или как это вообще надо делать?
Попытки использовать __virt_to_phys результатов не дают - не получается откомпилить проект с хидерами, использующими эту и подобные функции и макросы, да и оперируют эти функции с простым вычитанием или сложением констант.
Буду благодарен за проверенный пример.
Составить ответ | Вернуться на конференцию
Ответы