Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кармин Новиелло - Освоение STM32.pdf
Скачиваний:
2743
Добавлен:
23.09.2021
Размер:
47.68 Mб
Скачать

3. Hello, Nucleo!

Не существует книги по программированию, которая не начиналась бы с классической программы «Hello world!». И эта книга будет следовать данной традиции. В предыдущей главе мы настроили среду разработки, необходимую для программирования плат на основе STM32. Итак, теперь мы готовы начать написание кода.

В данной главе мы создадим достаточно простую программу: мигающий светодиод. Мы будем использовать плагин Eclipse GNU MCU для создания законченного приложения в несколько шагов, не затрагивая на данном этапе аспекты, связанные с уровнем аппаратной абстракции ST (Hardware Abstraction Layer, HAL). Я знаю, что не все детали, представленные в данной главе, будут понятны с самого начала, особенно если вы полностью новичок во встроенном программировании.

Тем не менее, этот первый пример позволит нам познакомиться со средой разработки. Дальнейшие главы, особенно следующая, прояснят много неясных моментов. Поэтому я предлагаю вам набраться терпения и постараться извлечь лучшее из следующих параграфов.

Замечание по плагину Eclipse GNU MCU

Опытные программисты могут заметить, что данные плагины не являются строго необходимыми для генерации кода для платформы STM32. Вполне возможно начать импорт HAL в пустом проекте C/C++ и соответствующим образом настроить инструментарий. Более того, как мы увидим в следующей главе, лучше напрямую использовать код из последней версии HAL и код, автоматически сгенерированный инструментом STM32CubeMX. Тем не менее, плагин GNU MCU имеет несколько функций, которые упрощают управление проектом. Более того, я думаю, что для новичков рекомендуется начинать с автоматически сгенерированного проекта, чтобы избежать путаницы. При написании кода для платформы STM32 нам нужно иметь дело со множеством инструментов и библиотек. Некоторые из них являются обязательными, а другие могут привести к путанице. Поэтому лучше начинать погружаться постепенно в весь стек. Когда вы ознакомитесь со средой разработки, вам будет очень легко адаптировать ее к вашим потребностям.

Если вы полностью новичок в Eclipse IDE, в следующем параграфе кратко объяснены ее основные функциональные возможности.

Hello, Nucleo!

87

3.1. Прикоснитесь к Eclipse IDE

Когда вы запускаете Eclipse, вы можете быть немного озадачены ее интерфейсом. На рисунке 11 показано, как выглядит Eclipse при первом запуске.

Рисунок 1: Интерфейс Eclipse, запущенной впервые

Eclipse – это многовидовая среда разработки, организованная таким образом, что все функции отображаются в одном окне, но пользователь может свободно настраивать интерфейс в соответствии со своими потребностями. Когда Eclipse запускается, отображается экран приветствия. Содержимое данной вкладки приветствия Welcome называ-

ется представлением (view).

Рисунок 2: Как закрыть представление Welcome, нажав X.

Чтобы закрыть представление Welcome, щелкните на значок с крестиком, как показано на рисунке 2. После того, как представление Welcome исчезнет, появится перспектива C/C++, как показано на рисунке 3.

1 Начиная с данной главы, все скриншоты, если не требуется иное, сделаны на Mac OS, поскольку именно эту ОС автор использует для разработки приложений STM32 (и для написания данной книги). Однако они также применяются к другим операционным системам.

Hello, Nucleo!

88

Рисунок 3: Представление перспективы C/C++ в Eclipse (с загруженным позже файлом main.c)

В Eclipse перспектива (perspective) является способом упорядочить представления таким образом, чтобы связать их с функциональными возможностями перспективы. Перспектива C/C++ посвящена написанию кода и предоставляет все аспекты, касающиеся редактирования исходного кода и его компиляции. Она разделена на четыре представления.

Представление слева, называемое Project Explorer (Обозреватель проектов), показывает все проекты в рабочей области.

Если вы помните из предыдущей главы, когда мы впервые запустили Eclipse, нам пришлось выбрать каталог рабочего пространства. Рабочее пространство (workspace) – это место, где хранится группа проектов. Обращаю ваше внимание, что мы говорим о группе проектов, а не о всех проектах. Это означает, что у нас может быть несколько рабочих пространств (то есть каталогов), в которых хранятся разные группы проектов. Тем не менее, рабочее пространство также содержит конфигурации IDE, и мы можем иметь различные конфигурации для каждого рабочего пространства.

Представление в центре, являющееся более крупным, представляет собой редактор C/C++. Каждый файл с исходным кодом отображается в виде вкладки, при этом одновременно можно открыть много вкладок.

Представление в нижней части окна Eclipse посвящено нескольким действиям, связанным с написанием кода и компиляцией, и оно подразделяется на вкладки. Например, вкладка Console показывает выходные данные компилятора; вкладка Problems организует все сообщения, поступающие от компилятора, удобным для их проверки способом; вкладка Search содержит результаты поиска.

Представление справа содержит несколько других вкладок. Например, вкладка Outline показывает содержание каждого файла с исходным кодом (функции, переменные и т. д.), которое позволяет быстро перемещаться по содержимому файла.

Hello, Nucleo!

89

Доступны и другие представления (и многие другие, предоставляемые пользовательскими плагинами). Пользователи могут увидеть их, зайдя в меню Window → Show View → Other….

Иногда случается, что представление «свернуто», и оно исчезает из IDE. Если вы новичок в Eclipse, это может привести в замешательство при попытке понять, куда оно делось. Например, при рассмотрении рисунка 4 кажется, что представление Project Explorer пропало, но оно просто свернуто, и вы можете восстановить его, нажав на значок, обведенный красным. Однако иногда представление действительно было закрыто. Это происходит, когда в данном представлении активна только одна вкладка, и мы закрываем ее. В этом случае вы можете снова включить представление, перейдя в меню Window → Show View → Other….

Рисунок 4: Представление Project Explorer свернуто

Для переключения между различными перспективами вы можете использовать специальную панель инструментов, доступную в правой верхней части Eclipse (см. рисунок

5).

Рисунок 5: Панель инструментов переключения перспектив