KnightIgor
Nov 12 2010, 22:18
Привет всем.
Имею EK c AT91SAM3U4E (Cortex-M3). Попробовал передавать что-нибудь через USART (в обычном асинхронном режиме).
Если записывать в USART программно, по готовности, передается все, как надо (принимаю в HyperTerminal). Попробовал с использованием DMA (периферийный DMA называется там PDC) - тоже передает требуемое количество символов, но значения всегда 0. Указатель на буфер записывается правильно: под отладчиком на железе проверял. Интересно, что под симулятором DMA "работает" правильно, то есть в окне, соответствующем USART виден правильный вывод. Почитал ERRATA - никакого упоминания.
Кто сталкивался?
Спасибо.
Dron_Gus
Nov 13 2010, 20:49
А DMA имеет доступ в этот регион памяти?
KnightIgor
Nov 14 2010, 11:43
Цитата(Dron_Gus @ Nov 13 2010, 21:49)

А DMA имеет доступ в этот регион памяти?
Вопрос я себе тоже задал, но нигде не нашел упоминания о запрете доступа для PDC (PDC - это DMA, жестко связаный в SAM3x с той или иной периферией) к той или иной памяти. Пробовал указывать на буфер как во Flash, так и RAM. Результат тот же: выплевываются только нули.
MrAlex
Nov 15 2010, 14:09
Возможно неверно передаете указатель на данные.
Смотреть указатель адреса после передачи.
KnightIgor
Nov 20 2010, 22:50
Цитата(MrAlex @ Nov 15 2010, 15:09)

Возможно неверно передаете указатель на данные.
Смотреть указатель адреса после передачи.
Под отладчиком смотрел, какие значения и куда грузятся: все красиво.
AndreyKar
Mar 4 2011, 11:12
У к.н. есть рабочие примеры работы DMA c SSC или SPI? Насколько я понял для этой периферии у них нет PDC.
DpInRock
Mar 4 2011, 11:45
Нули будут, если есть ошибка в привязка старта цикла DMA к событию(Слишком часто, в частности). (При этом пошагово вполне может работать).
Цитата(AndreyKar @ Mar 4 2011, 14:12)

У к.н. есть рабочие примеры работы DMA c SSC или SPI? Насколько я понял для этой периферии у них нет PDC.
Примеры (все) из поставки IAR EWARM 6.10.
Там есть проект "basic-ssc-i2s-wm8731-project". Где есть связка DMA - SSC
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.