Данный цикл изучения программирования МК STM32 осуществляется мной под установленной на VirtualBox операционной системой Windows XP SP3. Такой выбор обусловлен тем, что начиная заниматься изучением МК STM32, я сидел под Windows. И сейчас, когда сижу под Ubuntu, не стал разбираться с тем, как подготовить окружение для программирования STM32 на ней, решив продолжать изучение с CoIDE, на котором его и начинал, отложив рассмотрение вопросов о программировании для STM32 под Linux на возможное будущее. Думаю, проблем с ПО не должно возникнуть и на более современных версиях Windows, до 10 включительно. Дополнительно к операционной системе понадобятся следующие программы:
- CooCox CoIDE — Интегрированная среда разработки, сфокусированная на разработке кода для МК, базирующихся на ядрах Cortex-M0/M0+/M3/M4. Русскоязычная статья обзорно описывающая данную среду. Если кратко — среда простая в установке и изучении. Недостатки — отсутствие компилятора, который нужно устанавливать отдельно, отсутствие тонких настроек. По отзывам на форумах, CoIDE плохо подходит, или не подходит совсем для сложных профессиональных проектов. Но для изучения основ, на мой взгляд, в самый раз. А зная основы — что, вообще, собираемся программировать, как оно должно работать, как заливать прошивки и отлаживать код, какие параметры МК можно настраивать, какие дополнительные библиотеки использовать — можно взяться и за освоение более сложных профессиональных IDE. К тому же, CoIDE — свободная, совершенно бесплатная программа с открытым кодом. А это, помимо прочего, значить, что при желании можно загрузить исходный код, и, разобравшись что там к чему, попробовать встроить туда функции, которых нам не хватает.
- GNU ARM Embedded Toolchain — Кросс-компиля?тор, переводящий код, написанный на языках программирования Си, С++ и Ассемблер в набор машинных команд ARM ядер Cortex-R/Cortex-M. В качестве кросс-компилятора используется GCC с соответствующим набором binutils и он позволяет создавать исполняемый бинарный код для МК с ядрами ARM, работая на машинах, с различными архитектурами и операционными системами. Полученный бинарный файл затем может быть прошит в МК.
- STM32 ST-LINK utility — Утилиты для работы программатора/отладчика ST-LINK/V2, установленного на плате STM32F4DISCOVERY. Утилиты позволяют загружать прошивки в устройство и считывать их с него, очищать память, дают некоторые возможности отладки — отлаживать по исходному коду, как в CoIDE, возможности нет, но можно исполнять код по шагам, с просмотром содержимого регистров ядра. Сами утилиты могут и не понадобиться, так как CoIDE даёт так же возможность прошивки, и отладки на уровне исходного кода. Но, в некоторых случаях, может и понадобиться, например, если надо сгрузить прошивку с устройства, или, если возникла проблема в работе с программатором через CoIDE, можно проверить, работает ли он через утилиты. Но помимо программы утилит, их установщик устанавливает так же STLinkDriver программатора/отладчика. А он нужен обязательно, правда, можно установить его и отдельно. Подробнее на русском языке об утилитах.
- GIT — Свободная распределённая система управления версиями с открытым исходным кодом. Данная программа будет использоваться для загрузки примеров в удалённый репозиторий. Затем, при помощи этой программы примеры могут быть загружены в локальные репозитории. Система GIT является распределённой — она позволяет сохранять разные версии изменений на локальной машине, без обращения к удалённому серверу. Это даёт возможность вносить в код изменения, сохранять их как версии на локальной машине, и, в случае необходимости откатываться к предыдущим изменения. Вот ссылки на пару статей по русски:
Об установке и настройке указанных выше программ планируется рассказать в следующих заметках цикла.