wb_editors
367
правок
(→Новый формат версионирования прошивок: RC -> SUFFIX) |
|||
Строка 1093: | Строка 1093: | ||
Изменения относительно старого формата: | Изменения относительно старого формата: | ||
* Диапазон регистров «Модель устройства» расширен до 20 регистров | * Диапазон регистров «Модель устройства» расширен до 20 регистров | ||
* Версия формируется согласно semver и имеет формат <code>MAJOR.MINOR.PATCH</code> с опциональным суффиксом <code>- | * Версия формируется согласно semver и имеет формат <code>MAJOR.MINOR.PATCH</code> с опциональным суффиксом <code>(-rc|+wb)SUFFIX</code> | ||
*: | *: Суффикс <code>-rc</code> означает, что прошивка предназначена для тестирования и может быть нестабильной. Хранится в регистре с отрицательным знаком | ||
* Цифры версии доступны по отдельности в формате u16 (регистры 320-323 | *: Суффикс <code>+wb</code> добавляется, когда к прошивке, зафиксированной в релизе, требуется выпустить фикс. Хранится в регистре с положительным знаком | ||
* Цифры версии доступны по отдельности в формате u16 (для суффикса - i16), регистры 320-323 | |||
* Доступно число u32, содержащее комбинацию цифр версии и позволяющее за одно сравнение понять, увеличилась или уменьшилась версия прошивки | * Доступно число u32, содержащее комбинацию цифр версии и позволяющее за одно сравнение понять, увеличилась или уменьшилась версия прошивки | ||
*: | *: Число рассчитывается по формуле: | ||
*: <syntaxhighlight> | |||
if (SUFFIX >= 0) { | |||
SUFFIX = SUFFIX + 128; | |||
} else { | |||
SUFFIX = -1 - SUFFIX; | |||
} | |||
VERSION = (MAJOR << 24) + (MINOR << 16) + (PATCH << 8) + SUFFIX; | |||
</syntaxhighlight> | |||
*: Число доступно для чтения в little-endian и big-endian форматах | *: Число доступно для чтения в little-endian и big-endian форматах | ||
*: Число для более свежей версии всегда будет больше, чем для предыдущей, в том числе, когда прошивка переходит из тестовой в стабильную: <code>1.2.3 | *: Число для более свежей версии всегда будет больше, чем для предыдущей, в том числе, когда прошивка переходит из тестовой в стабильную | ||
*: Таким образом обеспечивается корректное сравнение версий: <code>1.2.3-rc1 < 1.2.3-rc10 < 1.2.3 < 1.2.3+wb1 < 1.2.3+wb10</code> | |||
{{Wbincludes:Header Registers}} | {{Wbincludes:Header Registers}} | ||
Строка 1149: | Строка 1157: | ||
| | | | ||
| | | | ||
| | | SUFFIX | ||
| | | | ||
| | | |