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

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> иструкции cortex-m3 DMB/DSB/ISB/LDREX/CLREX/TBB, читаю книгу вижу фигу
Golikov A.
сообщение Jan 23 2014, 11:12
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



а там статусного флага в регистре нет, который надо подождать?
просто задержка - не есть верно. Должен быть либо статус, либо в описании должно быть сколько ждать в тактах, секундах и т.д.

не строго как-то просто барьер воткнуть... ИМХО
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Jan 23 2014, 18:42
Сообщение #32


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Что-то мне подсказывает, что вот это
Цитата
computation done in 4 AHB clock cycles (HCLK)

надо относить и к тому, когда CRC калькулятор будет готов принять данные не только после записи очередного байта, но и к тому, когда он будет готов после RESET.

Сообщение отредактировал Genadi Zawidowski - Jan 23 2014, 18:42
Go to the top of the page
 
+Quote Post
BioWolf2000
сообщение Oct 3 2017, 17:11
Сообщение #33


Частый гость
**

Группа: Свой
Сообщений: 89
Регистрация: 11-01-05
Из: Беларусь, Минск
Пользователь №: 1 897



Наткнулся на интересный баг в STM32F767. Эзернет работает, но иногда в Wireshark проскакивают пакеты TCP DUP ACK и Retransmission. Ложится передача на 0.3с, что для моего устройства с модбас критично.

Проблема устраняется редактированием файла stm32f7xx_hal_eth.c
В функции HAL_StatusTypeDef HAL_ETH_TransmitFrame(ETH_HandleTypeDef *heth, uint32_t FrameLength)
перед

Код
/* When Tx Buffer unavailable flag is set: clear it and resume transmission */
  if (((heth->Instance)->DMASR & ETH_DMASR_TBUS) != (uint32_t)RESET)
  {
    /* Clear TBUS ETHERNET DMA flag */
    (heth->Instance)->DMASR = ETH_DMASR_TBUS;
    /* Resume DMA transmission*/
    (heth->Instance)->DMATPDR = 0;
  }


вставляем инструкцию __DSB();
Подозрение, что не успевают обновляться данные в DMASR и получаем ложную ошибку


--------------------
ex740104/103 БГУИР
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 16:56
Рейтинг@Mail.ru


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