Size: a a a

2019 January 30

T

Thorn in ELECTRONIX
источник

DS

Dolphin Soft in ELECTRONIX
Я если ты помнишь, сразу про барьеры сказал
источник

DS

Dolphin Soft in ELECTRONIX
барьер поменять чтением порта фиктивным?
источник

T

Thorn in ELECTRONIX
вот из другого источника (TI)
Because there is a write buffer in the Cortex-M processor, it may take several clock cycles before the interrupt source is actually cleared. Therefore, it is recommended that the interrupt source be cleared early in the interrupt handler (as opposed to the very last action) to avoid returning from the interrupt handler before the interrupt source is actually cleared. Failure to do so may result in the interrupt handler being immediately reentered (because the interrupt controller still sees the interrupt source asserted).
источник

GK

Grigorii Kuzmin in ELECTRONIX
А @pthorn вполне себе валидную инфу скинул по теме, я как раз на это и грешил
источник

DS

Dolphin Soft in ELECTRONIX
еще раз: имхо, решит - static register global_msec;
источник

DS

Dolphin Soft in ELECTRONIX
запись не фетчится, инкремент атомарный.
источник

GK

Grigorii Kuzmin in ELECTRONIX
Dolphin Soft
еще раз: имхо, решит - static register global_msec;
Мы про перенос флага уже говорим
источник

DS

Dolphin Soft in ELECTRONIX
дада, это я помню и жду, интересно.
источник

DS

Dolphin Soft in ELECTRONIX
Dolphin Soft
еще раз: имхо, решит - static register global_msec;
При этом такая комбинация априори невалидна:
The register keyword is required, and cannot be combined with static.
Об этом я тоже говорил ранее.
источник

DS

Dolphin Soft in ELECTRONIX
То есть само резервирование регистра и так подразумевает его ГЛОБАЛЬНОЕ использование. (для GCC)
источник

GK

Grigorii Kuzmin in ELECTRONIX
Thorn
вот из другого источника (TI)
Because there is a write buffer in the Cortex-M processor, it may take several clock cycles before the interrupt source is actually cleared. Therefore, it is recommended that the interrupt source be cleared early in the interrupt handler (as opposed to the very last action) to avoid returning from the interrupt handler before the interrupt source is actually cleared. Failure to do so may result in the interrupt handler being immediately reentered (because the interrupt controller still sees the interrupt source asserted).
А вот это разве про барьеры?
источник

DS

Dolphin Soft in ELECTRONIX
Grigorii Kuzmin
А вот это разве про барьеры?
Это скорее про неправильный сброс флага. Поэтому я бы и хотел позырить твой код ;)
источник

A

Aleksander in ELECTRONIX
Thorn
вот из другого источника (TI)
Because there is a write buffer in the Cortex-M processor, it may take several clock cycles before the interrupt source is actually cleared. Therefore, it is recommended that the interrupt source be cleared early in the interrupt handler (as opposed to the very last action) to avoid returning from the interrupt handler before the interrupt source is actually cleared. Failure to do so may result in the interrupt handler being immediately reentered (because the interrupt controller still sees the interrupt source asserted).
Тут похоже на супербыстрых процессорах с огпомным конвейером.  Надо в общем вдумываться в слова и проверять применимость к той архитектуре где  ты работаешь.
источник

A

Aleksander in ELECTRONIX
А то получаются "мифы" что флаг надо сбрасывать вначале прерывания
источник

T

Thorn in ELECTRONIX
Aleksander
Тут похоже на супербыстрых процессорах с огпомным конвейером.  Надо в общем вдумываться в слова и проверять применимость к той архитектуре где  ты работаешь.
это про cortex-M3, и конвейер (который в data path CPU) вообще ни при чем
источник

A

Aleksander in ELECTRONIX
Конвейер команд. При чем тут данные?
источник

A

Aleksander in ELECTRONIX
Команда исполнится позже чем произойдет выход из прерывания
источник

A

Aleksander in ELECTRONIX
По идее дожна быть блокировка
источник

A

Aleksander in ELECTRONIX
Команда reti должна ждать выполнения сброса флага
источник