Сегодня обнаружил ошибку в Em::Blocks. Актуально для тех, кто, как и я, использует эту IDE. Найденное также справедливо и для EmBitz 1.11, специально проверил.
При создании проекта для STM32F100RB в определениях оказывается STM32F10X_LD_VL (low-density value line), в то время как STM32F100RB в действительности относится к medium-density value line. Это приводит к тому, что stm32f10x.h оказывается сконфигурирован неверно. Например, невозможно настроить SPI2, т.к. соответствующее определение оказывается отключено через #ifdef.
Вот так выглядит строка вызова компилятора (вывод полного пути в HTML-файл включается в настройках):
И, соответственно, поменять на -DSTM32F10X_MD_VL. Как это сделать из графического интерфейса, я не нашел.
Багрепорт разработчику не писал, т.к. не нашел простого способа это сделать. Если кто напишет - будет хорошо.
UPD:
Ошибку можно исправить коренным образом. Настройки устройств лежат в файле devices.xml, который упакован в архив st.zip, находящийся в папке %PROGRAM_FILES%\EmBlocks\2.10\share\EmBlocks\templates\wizard\arm\st (для Em::Blocks 2.10) либо %PROGRAM_FILES%\EmBitz\1.11\share\EmBitz\templates\wizard\arm\st (для EmBitz 1.11).
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 36
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения