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

 
 
> LPC17xx: использование DMA и SLEEP, несовместимо?
sonycman
сообщение Aug 25 2010, 18:40
Сообщение #1


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Доброго времени суток.

Сегодня весь вечер убил на то, чтобы понять, почему стала глючить передача по SSP с помощью DMA на LPC1768.

Под scmRTOS выполняются несколько процессов, и в определённый момент один из них использует DMA для работы с картой памяти.
А в Idle процессе есть инструкция __WFI(), чтобы остановить CPU, пока делать особо нечего.

Но после того, как выполняется WFI(), перестаёт нормально работать DMA - передача идёт и завершается нормально, только передаются нули вместо нужных данных.
Пробовал располагать данные в ОЗУ или во флеш - толку нет.

В принципе, правильно - DMA вроде тактируется от одного с CPU клока, который в SLEEP режиме останавливается.
Поэтому и не может DMA нормально работать.

Но это ведь облом получается - что-же, если пользуешься DMA, то режимы энергосбережения не получится включать?
В мануале только предупреждение о DEBUG, а о косяках DMA и слова нет sad.gif

Может быть, есть способ решить эту проблему?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Aug 25 2010, 19:02
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(sonycman @ Aug 26 2010, 00:40) *
Поэтому и не может DMA нормально работать.



Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
sonycman
сообщение Aug 25 2010, 20:22
Сообщение #3


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



rezident
Решил проблему - в режиме сна работает только "верхний" 32к регион памяти 1768 - так называемый AHB_RAM_MEMORY.
Именно с ним может работать DMA, а с нижней, обычной, половиной ничего не получится.

Спасибо за подсказку smile.gif
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 25th June 2025 - 02:46
Рейтинг@Mail.ru


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