Тривалість тика можна налаштувати та зазвичай становить від Від 1 мілісекунди до 100 мілісекунд.
Частота «тикання» ядра — це все як часто ядро має перевіряти, який процес запущено, який процес хоче запуститися і що з цим робити. Очевидно, що це має бути набагато повільніше, ніж фактична швидкість виконання інструкцій на машині.
FreeRTOS використовує підрахунок тактів, щоб відстежувати час у системі. Підрахунок тиків представляє кількість тактів, які відбулися з моменту запуску системи. Тривалість тику визначається конфігурацією FreeRTOS, і у вашому випадку це 1 мілісекунда (частота тактів 1000 Гц).
Ядро Zephyr надає багато API з параметром «тайм-аут». Концептуально це вказує час, коли відбудеться подія. Наприклад: операції блокування ядра, такі як k_sem_take() або k_queue_get(), можуть передбачити тайм-аут, після якого процедура повернеться з кодом помилки, якщо дані недоступні.
Функції синхронізації можна використовувати для отримання часу виконання частини коду для допомоги в аналізі та оптимізації. Будь ласка, зверніть увагу, що функції синхронізації можуть використовувати таймер, відмінний від таймера ядра за замовчуванням, де таймер, який використовується, визначається архітектурою, SoC або конфігурацією плати.
Одна галочка означає сто наносекунд або одна десятимільйонна частка секунди. Існує 10 000 тактів за мілісекунду (див. TicksPerMillisecond) і 10 мільйонів таків за секунду.