В этой заметке рассказывается о том, как создать проект в CoIDE и сохранить его в локальную версию репозитория, а так же некоторые сведения о пользовании системой помощи CoIDE, как источником документации при программировании МК STM32 на Си.
Создание проекта CoIDE
Открываем CoIDE. Выбираем в верхнем меню:
Project->New Project
Появляется диалог мастера создания нового проекта.
Убираем галочку Use default path, и жмём кнопку с тремя точками для выбора пути. В открывшемся диалоге выбора папки переходим в папку с клонированным проектом, и выбираем папку gpio. Естественно, вы можете выбрать и любую другую, в которой хотите создать проект.
Жмём ОК. В окне мастера создания проекта выбираем имя проекта, например lab1_1. Это же имя добавляем к пути проекта, так как автоматически отдельная папка для проекта добавлена не будет.
Жмём Next. Открывается диалог выбора, того, что мы берём за основу проекта — чип или плату. Выбираем чип.
Жмём Next. На открывшейся странице выбираем чип — STM32F407VG. Он находится в пути: ST->STM32F4x->STM32F407VG.
В правой стороне диалога можно прочитать некоторые характеристики выбранного чипа, а так же есть ссылки на более подробную информацию. Жмём Finish.
После этого в центральной части главного окна IDE появляется вкладка Repository на которой можно выбрать используемые библиотеки и драйвера для проекта. При их выборе их исходники будут добавляться в папку проекта и собираться вместе с ним. Если бы вместо чипа выбрали плату, то среди вкладок Repository была бы вкладка для платы с драйверами и примерами.
Для вкладки Peripherals интересуют три пункта — CMSIS BOOT, RCC и GPIO. При их выборе автоматически добавляется M4 CMSIS Core.
CMSIS — Cortex Microcontroller Software Interface Standard — стандарт программного интерфейса микроконтроллеров с ядрами Cortex — независимый от производителя уровень абстракции от оборудования для микропроцессорных систем на базе ядер Cortex-M, определяющий так же интерфейсы отладки. Коротко о CMSIS по русски.
Подключённые нами библиотечные компоненты являются реализацией данного стандарта, служащими для определённых целей. CMSIS BOOT — представляет код для инициализации системы, установки системной тактовой частоты, обработчики прерываний и сброса по умолчанию. RCC — предоставляет код для дополнительнного управлением различными типами сброса и управления тактированием системы, отдельных её компонентов, и выбором его источников. GPIO — предоставляет структуры и функции для работы с портами ввода/вывода общего назначения — их конфигурацией, чтением и установкой значений. CMSIS Core — поддерживает код для работы ядра с периферией, управление контроллером прерываний, функциональностью отладки.
Выбирая каждый компонент можно увидеть на панели помощи его краткое описание, ссылки на предоставляемые им функции с кратким описанием, по которым можно перейти и получить более подробную информацию. Ссылки на исходники компонента.
Теперь на панели Project выбираем созданный мастером файл main.c
Как видите он состоит из одной функции в которой крутится бесконечный цикл. Открываем файл main.c из клонированного проекта lab1 и копируем его содержимое в main.c нового проекта. Сохряняем. Cntr+R — собираем. Прошиваем в устройство, как описано в предыдущей заметке. Если всё прошло успешно, то мы дополнительно убедились в работоспособности конфигурации нашей системы для изучения STM32.
Сохранение проекта в локальный репозиторий
Теперь можно открыть консоль командной строки, перейти в корневую папку локального репозитория клонированного проекта(там, где содержится скрытая папка .git), и выполнить некоторые дополнительные действия по настройке Git, а потом закоммитить созданный проект в локальный репозиторий. Итак, набираем, заменив, соответственно, имя и email на Ваши:
>git config --global user.name "your_name" >git config --global user.email your_name@example.com
Эта информация будет автоматически добавляться к каждому коммиту. Без неё Git работать не будет, хотя, если Вы не планируете вести по проекту совместную разработку с кем-либо и сохраняете изменения в репозиторий только для личного пользования, Вы можете указать произвольные данные.
По умолчанию Git под Windows использует Vi, если это Вам не удобно, можно указать другой. Я установил notepad++. Если установить просто notepad, то у отображение редактируемого файла с информацией о коммите будет не очень, из-за нераспознавания Unix-стиля конца строк.
>git config --global core.editor "\"c:\Program Files\Notepad++\notepad++.exe\""
Теперь можно добавить созданный проект CoIDE в репозиторий и сделать локальный коммит.
>git add . >git commit
После ввода git commit откроется выбранный редактор и в нём нужно добавить информацию о коммите. После закрытия редактора, если всё пройдёт успешно, новая версия кода проекта будет добавлена.
Русскоязычная статья из документации Git о работе с удалёнными репозиториями в том числе и несколькими — Работа с удалёнными репозиториями.
Небольшое отступление о том, почему я уделяю в цикле заметок, посвящённых программированию STM32, внимание работе с Git. Тому есть три причины:
- Проекты, приводимых здесь примеров, сохраняются в удалённом Git-репозитории и могут быть желающими из него получены.
- Я считаю, что планомерно и целеустремлённо заниматься в наше время изучением программирования без использования систем контроля версий просто неэффективно с организационной точки зрения. Ни в плане сохранения и дальнейшего использовани наработок, ни в плане формирования стиля работы программиста.
- Я сам недавно взялся за Git, до этого работал с SVN и P4. И, так как для этого цикла заметок используется Git, привожу, заодно, описания работы с ним, чтобы самому получше разобраться.