В результате дискуссии с коллегой, понадобилось мне переделать мой давний проект безпроводного погодного датчика с EFM32 под EFM8SB1 архитектуры 8051. Ранее много программировал силлабовские c8051, но с тех пор прошло много лет и всё забылось. Сейчас смотрю на свои старые проекты и вспоминаю как разбирался с периферией силлабовской серии с8051, но многие вещи как первый раз читаю. Кроме того, инструменты, которыми пользовался ранее (Configuration Wizard 2 и Silicon Labs IDE) уже давно не апдейтились и не поддерживают новых серий EFM8 той-же фирмы.
Однако, нет худа без добра, поскольку всё силлабовское поддерживается в Simplicity Studio. В общем, позаимствовал с примеров в студио драйверы фирмы под интерфейсы I2C и SPI, а также конфигурирование переходов в глубокий сон с пробуждением от SmaRTClock. Потратил на это 3 дня с длинными перерывами, в общем, было даже интересно. Распаял на монтажку МК (EFM8SB10F8GA на оранжевой безпайке справа) на своём стенде разработки безпроводки, где также имеется радио SI4061 и сенсор. Студио, конечно, ускоряет разработку после того, как разберёшся как работать с её конфигураторами периферии (как всегда логика пользователя не всегда совпадает с логикой ПО разработки). Короче, рекомендую этот инструмент любителям с8051, если что смогу помочь. Он, правда, поддерживает только силлабовские 8051, но я считаю, что если сегодня эту архитектуру и использовать и есть выбор, то силлабовские 8051 в своём классе архитектуры лучшие. Вот несколько скриншотов конфигуратора ресурсов и фотка стенда (кликабельно):
Провода слева идут к лог. анализатору, которые для тестов на микропотребление следует отключить. В результате в паузах, когда МК, радио и сенсор засыпают, токопотребление всей системы менее 0.5мкА, что даже лучше, чем у EFM32, да и обвязки у EFM8 меньше.