Size: a a a

Maxwell's Demons

2021 August 21

D

Dr Zlo in Maxwell's Demons
Косвенно могу судить что так сделано даже у крутых чуваков типа Juniper Networks
источник

TK

Timur Khasanshin in Maxwell's Demons
Эту айпишку я не только у ст видел, ещё в других мк
источник

D

Dr Zlo in Maxwell's Demons
Еще раз, переотсылание работает если ты не вычитал данные.

Все реализации USB что я вижу сначала вычитывают данные а потом дергают твой коллбек "посмотри что пришло"

В этой схеме реализация "не вычитывать пока я не обработал" протсо невозможна
источник

TK

Timur Khasanshin in Maxwell's Demons
Отрубай прерывания или меняй приоритеты
источник

A

Anton in Maxwell's Demons
да нефига. Ты просто собери проект из куба. и в обработчик поставь эхо и точку останова.
После в терминале отправь пару кбайт теста, посмотри что будет
источник

TK

Timur Khasanshin in Maxwell's Demons
Вот как это возможно
источник

D

Dr Zlo in Maxwell's Demons
Я не могу, помимо CDC есть другие интерфейсы которые я не хочу тормозить
источник

TK

Timur Khasanshin in Maxwell's Demons
Тоже юсб?
источник

D

Dr Zlo in Maxwell's Demons
Да
источник

D

Dr Zlo in Maxwell's Demons
Да господи, я не могу обрабатывать данные напрямую в прерывании, мне их надо передать в ос
источник

TK

Timur Khasanshin in Maxwell's Demons
Вряд ли ты будешь их прям тормозить, крит секции обычно маленькие, и плюс, у каждого юсб интерфейса свои эндпоинты, стало быть, свои отдельные фифо внутренние, они этого не заметят даже пока копировать будут
источник

A

Anton in Maxwell's Demons
ты запарил. Ты можешь хоть сутки не читать данные и они никуда не денутся. зачем тебе их обрабатывать если памяти для хранения нет.
источник

D

Dr Zlo in Maxwell's Demons
Потому что все драйвера не спрашивая меня вычитывают данные САМИ
источник

TK

Timur Khasanshin in Maxwell's Demons
Там скорее бутылочное горлышко это само IP, оно одно, а интерфейса три
источник

TK

Timur Khasanshin in Maxwell's Demons
А твой мк работает на частоте наверняка выше
источник

TK

Timur Khasanshin in Maxwell's Demons
Так что быстро выключив и включив прерывание ниче не испортишь
источник

TK

Timur Khasanshin in Maxwell's Demons
Можно даже выключить прерывание от чего то конкретного
источник

TK

Timur Khasanshin in Maxwell's Demons
Посмотри, там вроде можно конкретную точку выключить на время
источник

D

Dr Zlo in Maxwell's Demons
Ок, допустим ты прав и эти говнокостыли это нормальное решение.

В текущем STшном чипе я натыкался на то что операции с NVIC могут случайно выжечь часть чипа, после старта сопроцессора. Выключать прерывания я просто не могу.
источник

TK

Timur Khasanshin in Maxwell's Demons
Никогда о таком не слышал)
источник