Например TDA7294

Форум РадиоКот • Просмотр темы - Отладчик ломает чтение по DMA
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Сб фев 28, 2026 12:35:41

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Отладчик ломает чтение по DMA
СообщениеДобавлено: Вс сен 16, 2018 02:32:06 
Родился

Зарегистрирован: Вт июл 31, 2018 00:11:06
Сообщений: 4
Рейтинг сообщения: 0
Всем привет. Читаю данные из SPI флэш через USART с использованием DMA. Один канал DMA пишет 1024 байта во флэш, второй одновременно принимает 1024 байта и сохраняет в буфер. Когда все 1024 байта отправлены и получены DMA передает контроллеру запросы прерываний TX и RX и вызываются их обработчики. Читаю где-то по 100 килобайт за секунду со скоростью 4 млн бод.

Проблема в том, что при запуске прошивки через отладчик через какое-то время возникает ситуация, когда на приеме последний 1024-й байт посылки куда-то теряется и перестает вызываться обработчик RX прерывания. Причем обработчик TX прерывания вызывается стабильно.
Что вижу в отладчике:
1. Счетчик DMA переданных байт равен 0, а прочитанных 1. То есть по DMA передано 1024 байта, а прочитано только 1023. DMA ждет последний байт посылки и так как его нет - нет и прерывания.
2. Флаги ошибок равны 0
3. В регистре чтения USART лежит последний байт посылки (0x89). То есть последний (1024-й) байт посылки похоже таки пришел в контроллер. Но счетчик DMA почему-то не обнулился и как следствие DMA не запросил RX прерывание контроллеру.

Самое интересное: такая истуация возникает только при запуске прошивки через отладчик. Может возникнуть в любой момент: через несколько секунд или позже (но, как правило, работает не больше 20 минут). А когда запускаю девайс без отладчика - все нормально работает по несколько часов (самое долгий тест 16 с чем-то часов).
Я в недоумении. Это косяк в моем коде, косяк в отладчике или косяк контроллера? У кого-нибудь возникали подобные ситуации? В чем может быть проблема?


Вернуться наверх
 
 Заголовок сообщения: Re: Отладчик ломает чтение по DMA
СообщениеДобавлено: Вс сен 16, 2018 12:10:15 
Мудрый кот

Карма: -8
Рейтинг сообщений: 196
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1704
Рейтинг сообщения: 0
Это косяк в моем коде, косяк в отладчике или косяк контроллера?

Какой контроллер?


Вернуться наверх
 
 Заголовок сообщения: Re: Отладчик ломает чтение по DMA
СообщениеДобавлено: Вс сен 16, 2018 15:11:48 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
spaum33, многие флаги чистятся чтением, в том числе и отладчиком...


Вернуться наверх
 
 Заголовок сообщения: Re: Отладчик ломает чтение по DMA
СообщениеДобавлено: Вс сен 16, 2018 16:16:53 
Родился

Зарегистрирован: Вт июл 31, 2018 00:11:06
Сообщений: 4
Рейтинг сообщения: 0
spaum33, многие флаги чистятся чтением, в том числе и отладчиком...

Поясните, пожалуйста, к чему вы клоните.
Если допустить, что флаги ошибок были очищены чтением или отладчиком, то при установке оных DMA в любом случае должен выдать запрос на прерывание RX. Но прерывания как раз таки и нет и обработчик не запускается. А флаги я проверяю именно в обработчике.
Опять же, без отладчика, в таком случае, тоже ведь должен быть сбой.
Тгда получается, отладчик чистит какой-то другой флаг, который, например, инициирует запрос DMA на чтение? Но тогда непонятно почему это просиходит именно на последнем байте


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
 Заголовок сообщения: Re: Отладчик ломает чтение по DMA
СообщениеДобавлено: Вс сен 16, 2018 17:13:06 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Озвучьте сперва чип,IDE и отладчик. А так же как отлаживаете , в каком режиме.


Вернуться наверх
 
 Заголовок сообщения: Re: Отладчик ломает чтение по DMA
СообщениеДобавлено: Вс сен 16, 2018 18:55:31 
Родился

Зарегистрирован: Вт июл 31, 2018 00:11:06
Сообщений: 4
Рейтинг сообщения: 0
Озвучьте сперва чип,IDE и отладчик. А так же как отлаживаете , в каком режиме.

Контроллер: MB96600 Series http://www.cypress.com/file/241411/download
IDE: Softune Workbench
Отлаживаю через эмулятор в цепи MB2100-01-E http://www.fujitsu.com/downloads/CN/fss ... 0-01-E.pdf
Что имеется в виду под режимом отладки?


Вернуться наверх
 
 Заголовок сообщения: Re: Отладчик ломает чтение по DMA
СообщениеДобавлено: Вс сен 16, 2018 19:43:15 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Ну здесь помочь ни чем не могу, ибо ни камень ни среда абсолютно не знакомы.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y