Работа с MicroXplorer

У всех контроллеров STM32 очень много ног. Это конечно же хорошо, отпадает необходимость наращивать количество ножек при помощи сдвиговых регистров и расширителей портов. Но иногда из-за их большого количества возникает путаница. Большинству периферийных устройств типа АЦП, UARTов итд необходимы ноги контроллера для работы, и бывает такая ситуация когда два блока периферии претендуют на одну и ту же ногу. Естественно одновременно использовать её они не могут и тут у нас есть два выхода из ситуации:

  1. Использовать другой аналогичный блок периферии (второй UART например) 
  2. Использовать ремап

С первым пунктом всё понятно, а вот что же такое remap в STM32 ? В двух словах: Ремап позволяет какому-либо блоку периферии использовать для своих целей другие (но тоже жестко заданные) ноги контроллера. Чтоб смотреть что куда ремапится надо лазить в даташит и искать это там. Для того чтоб узнать какая периферия использует одинаковые ноги надо опять смотреть даташит. А можно не открывать его по таким пустякам, а просто заюзать неплохую программку от ST под названием MicroXplorer

MicroXplorer

Как с этим работать ?

Первым делом надо выбрать контроллер. Сделать это можно двумя способами: File -> New config или Tools -> MCUs Selector. В первом случае вы должны знать как называется ваш контроллер и просто выбрать его из огромного списка. Второй способо позволяет вам найти контроллер с заданным набором периферии. Хочу я контроллер контроллер с эзернетом и поддержкой NAND флешек и вуаля: 

MCUs Selector

Когда контроллер выбран можно начинать планирование использования ножек. У меня на всех картинках ниже выбран контроллер STM32F100RB, так что если вы выбрали что-то другое не удивляйтесь различиям. В панели слева выберем что мы хотим использовать USART3, и сразу же станет ясно, что если мы юзаем USART3 то одновременно с ним не получиться использовать I2C2 который висит на тех же самых ногах. 

MicroXplorer usart

 

Но можно сделать ремап ног USART3, для этого удерживаем CTRL и нажимаем на любую из двух ног. Синим цветом будет подсвечиваться нога куда можно перетащить ту ногу на которую мы жмем в данный момент. При перетаскивании одной ноги вместе с ней перетащится и вторая, это нормально. После перетаскивания ноги PB10 и PB11 освободятся, и можно будет настроить на них I2C2: 

MicroXplorer usart remap

Желтый треугольник около USART3 означает, что при такой конфигурации ножек нельзя заюзать некоторые режимы USARTa, поскольку они требуют дополнительных ног, а они видимо не ремапятся. Программа явно не доработана, в ней отсутствуют некоторые функции, а кнопки для них уже сделаны но недоступны. Из доступных функций есть еще функция сохранения отчета в формате PDF и TXT, считаю её не очень полезной. В завершении всего этого хочу сказать что программа в целом нужная, рекомендую скачать. 

P.S. Ей для работы нужна установленная Java-машина