ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
4 декабря
97629 Топик полностью
AlexandrY (24.08.2007 00:02, просмотров: 305) ответил vesago на Правильно я понял, что это вроде аппаратного memcpy? А обычно дма работает только с срам или со всем адресным пространством, включая периферию?
Не..., у современного DMA гораздо больше и разнообразнее функции. Во первых сразу надо понять, что у разных uC DMA может иметь очень разные возможности. Во вторых, с чем DMA работает а с чем нет надо смотреть в datasheet-е на конкретный чип. С периферией DMA работает если в периферии есть интерфейс к DMA. DMA не обязательно работает быстрее memcpy. Я чаще видел обратное. DMA, конечно, разгружает процессор. Но не факт, что разгрузка будет значительной. Гораздо интереснее такие фишки DMA как 2D пересылки, цепочечные и пересылки по требованию от периферии. 2D пересылки требуются при приеме видео стримов разных форматов, цепочечные когда идет прием пакетных данных. По требованию от периферии полезно когда uC работает с периферией в режиме слэйва. Например, аудиокодек формирует импульс фрейма точно когда ему нужен следующий отсчет. Мы запускаем на кодек DMA и не заботимся с какой частотой выборки работает кодек. DMA сам обслужит кодек и вовремя отправит ему все данные. А мы тем временем по другому каналу DMA читаем с SD карты блок аудиофайла который надо воспроизвести. Когда кодек заберет все данные DMA взведет флаг окончания и мы укажем ему адрес нового блока для отправки кодеку. Флаг можем и полингом опрашивать это не принципиально. Так работают аудиодрайвера на смартфонах. И такой у меня выложен пример в проекте http://aly.projekt …nator/ARMDominator.htm Кстати STR912FW44 весьма дешевый камень. Можно реально в розницу уже по 9$ взять.
INDEMSYS