Или с другой периферией на высокой скорости обмена?
Есть два канала GPDMA - приём и передача. Прерывание стоит по завершении приёма блока.
На одной из транзакций происходит следующее - после старта DMA, жду завершения, не дожидаюсь - таймаут,
смотрю регистры - вижу что передающий канал полностью отработал, а приёмный - не полностью - от 1-го до 4-байт
не принято. Такое ощущение, что теряется один из "burst request".
При понижении частоты CPU в два раза (со 100 до 50МГц) картина та же (SCLK соотв. тоже ниже).
На меньшей частоте SCLK - всё ок (проверено на неск. миллионах транзакций).
На другом процессоре (LPC1778, но это уже другое семейство), всё тоже ок на частоте SCLK==CPU_CLK/4, но в нём есть
регистр управления приоритетами арбитра AHB (и максимальный приоритет выставлен для GPDMA).
В LPC17xx нет возможности поставить GPDMA максимальный приоритет.
Или всё-таки есть? Может кто знает?
Управление SSEL через GPIO.
Неужто перегрузка шины AHB транзакциями CPU и GPDMA может приводить к потерям запросов DMA????
