Я исхожу из 8-битных микроконтроллеров и использовал системный таймер для генерации периодического прерывания, которое, по-видимому, является мотивацией таймера Cortex M SysTick?
Есть ли какое-то архитектурное значение в использовании таймера SysTick по сравнению с любым другим таймером на микроконтроллерах Cortex M?
Это просто вопрос предпочтения кодирования, что программисты использовали таймер SysTick в качестве основного таймера каждые несколько мс?
Справочное руководство на 800 страниц почти ничего не говорит о SysTick, кроме того, как вы применяете post/prescalars.
Я вижу, что это прерывание с высоким приоритетом по умолчанию, так что это своего рода путь наименьшего сопротивления для системного тика. Но приоритет прерывания можно установить.
(Происхождение этого вопроса заключается в том, что я использую STM32CubeMX для создания шаблона проекта, и когда вы добавляете FreeRTOS, Cube генерирует предупреждение о том, что FreeRTOS должна использовать отдельный таймер от SysTick... что заставляет меня задаться вопросом, есть ли что-то еще в игре здесь?Я просто предположил, что вы будете использовать SysTick, потому что это «то, как все делается» ...).
Как ответили в комментариях.
SysTick, если он присутствует, является частью ядра ARM, остальные таймеры предоставляются поставщиком чипа. SysTick имеет более прямое событие (например, прерывание) для ядра, тогда как другие времена приходят через прерывания, но это не имеет значения. И другие таймеры, как правило, имеют больше возможностей.
Вы пометили Cortex-M, так что это, скорее всего, микроконтроллер, что означает, что вы можете делать «голое железо», что означает, что вы можете делать все, что хотите, вы решаете, какие таймеры делают что. Если вы возьмете уже созданную RTOS или ОС для этого чипа, то они уже решили, какие ресурсы они хотят потреблять и почему. Прежде всего мнение, основанное на том, что идет.
Таймер systick намного проще и проще в использовании, и он не всегда присутствует, некоторые ядра вообще не имеют его в качестве опции, а некоторые в качестве опции (поставщик чипа должен решить во время компиляции), поэтому он имеет это преимущество. , хотя в некоторых чипах могут быть и такие же простые таймеры.
Таймеры поставщиков чипов могут иногда управлять выводами ввода-вывода или иметь какое-то внешнее участие, когда систик, насколько я знаю, содержится в ядре.
Евгений Ш.
Лерой105
Евгений Ш.
Евгений Ш.
придурок
Лерой105
Евгений Ш.
Лерой105
придурок
придурок
Евгений Ш.
придурок
браханы
Евгений Ш.
придурок
Евгений Ш.
придурок
Лерой105
Евгений Ш.
Лерой105
браханы
Старожил