Вместо введения

Микроконтроллер STM32F746 является одним из представителей старшего семейства STM32F7. Помимо стандартной для таких моделей периферии (Ethernet, USB OTG, USART, SPI приемопередатчики), она содержит ядро графического ускорителя, что позволяет разрабатывать с ее помощью UI на манер того, что используется в современных мобильных устройствах - с переходными эффектами, многоточечными жестами и т.п.

Сама отладочная плата STM32F746-GDISCO имеет достаточную программную поддержку со стороны производителя. На рынке существует ряд встраиваемых операционных систем: FreeRTOS, mbed-os; тулкитов для быстрого создания UI: microEJ, STWin.

Подготовка инструментария

В качестве IDE, как и во всех предыдущих случаях, рассмотрим связку GNU ARM Embedded Toolchain+Eclipse+OpenOCD под операционной системой Ubuntu Linux 14.04.

Под другими операционными системами эта связка может быть настроена аналогичным образом, Под Windows и OS X существуют преднастроенные готовые сборки вроде Atollic TrueStudio или CooCox IDE. Подобные сборки позволяют начать быстрее, но скрывают подробности под капотом, что не всегда удобно.

Исторически сложилось так, что в комплекте с дистрибутивом ОС поставляются старые версии нужных нам пакетов, поэтому придется их собрать из исходников. При этом важно не "завалить" систему установкой бинарников без участия пакетного менеджера. Стратегия предлагается следующая - все что можно быстро превратить в пакеты при помощи checkinstall - превращаем, остальное устанавливаем в /opt по отдельным каталогам для каждого компонента.

Для этого сначала установим зависимости

$ sudo apt-get install build-essential libusb-1.0-0-dev git-core checkinstall libtool autoconf p7zip-full

 

Сборка и установка OpenOCD

Скачаем последнюю версию openocd (в которой появилась поддержка stm32f7xx) и соберем пакет:

$ git clone https://github.com/ntfreak/openocd.git  \
    && cd openocd                                 \
    && ./bootstrap                                \
    && ./configure --enable-stlink                \
    && sudo checkinstall

 

В процессе сборки checkinstall задаст ряд вопросов - в большинстве случаев на них можно ответить просто Enter'ом, кроме выбора версии, которая обычно выглядит как "0.10.0-dev", что не соответствует стандартам пакетов debian, нужно указать, например "0.10.0-1dev" или "0.10.0-1stlink". После успешной сборки пакета можно установить его в системе штатным образом.

$ sudo dpkg -i openocd_0.10.0-1stlink-1_i386.deb

 

OpenOCD при работе с st-link требует привилегий суперпользователя. Удобнее всего предоставить их ему при помощи SUID-бита:

$ sudo chmod +s /usr/local/bin/openocd

 

Установка GNU ARM Embedded Toolchain

Этот тулчейн необходимо скачать с сайта arm.com и распаковать в /opt:

$ sudo tar xf gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2 -C /opt

 

Установка и настройка Eclipse

Для корректной работы Eclipse лучше использовать java8 от Oracle:

$ sudo add-apt-repository ppa:webupd8team/java        \
  && sudo apt-get update                              \
  && sudo apt-get install oracle-java8-set-default

 

Установка самого Eclipse:

$ sudo apt-get install eclipse-cdt

 

По окончании установки среда доступна по команде  eclipse , но требует дополнительной настройки на работу с отладчиком GDB. Для этого нужно подключить репозиторий Juno CDT (меню Help -> Install New Software...) :

 

© ООО "Контроль-В" 2012 - 2021