Автоматизация инкремента версий в keil

Опишу небольшой заголовочный файлик, который помогает мне не заботиться о том, что бы у каждой вновь скомпилированный прошивки была новая версия.

Люблю Visual Studio за механизм, позволяющий инкрементировать версию собранного проекта, и также сильно ненавижу Keil за отсутствие таковой возможности .

Для чего это нужно? Представим ситуацию, когда очень много устройств, а ПО всё время дорабатывается, или же прошивкой новой версии занимается другой человек, ... много может быть причин, но не всегда можно отследить в каком устройстве какая версия зашита. Да и не всегда при сборки проекта вспоминаешь что нужно увеличить номер версии.

Стало интересно?

Немного о форматировании кода и другие советы

Некий свод советов по оформлению кода, которые помогут легче читать и поддерживать код, а также спасут от некоторых ошибок.

Данная заметка это некий свод советов по оформлению кода, которые помогут легче читать и поддерживать код, а также спасут от некоторых ошибок, своего рода компиляция многих источников которые были прочитаны за время профессиональной деятельности и некоторых своих домысливаний.

В который раз о портах совмещенных с JTAG. STM32

Не работает PB3 на stm32f103? Тогда мы идём к вам. Расскажу как не наступить на эти грабли.

У меня была одна из заметок про подобную тему, но то был контроллер Миландр. На этот раз его собрат от компании STMicroelectronics - stm32f103rc. Необходимо было задетвовать ножки порта PB3, PB4 и PB5 - на них висит SPI1, с помощью которого планировалось управлять переферийной микросхемой.

Миландр 1986ВЕ1Т. Проблемы с прошивкой.

Небольшая заметка о том: как решить проблему загрузки прошивки; причем здесь J-link; и как снова подружить его с Миландром

Cover Image

Использую последнюю версию Keil (5.25) и программатор ST-Link V2, и никогда не замечал проблем с прошивокой микроконтроллеров Миландр. Правда раньше работал только с семейством ВЕ9х (91, 92, 93) и их пластиковыми аналогами. Всё хорошо ровно до тех пор пока не добрался до ВЕ1Т. Мало того, что он на ядре которое предназначено для прошивания во всевозможные ПЛИС, так ещё и никак не хотел шиться. Постоянно выдавая ошибку Invalid ROM Table.

Отступать некуда, пришлось разобраться и решить эту проблему.