Использование STM32-MAT/TARGET

Относительно недавно STMicroelectronics выпустила пакет (тулбокс) STM32-MAT/TARGET для генерации кода к STM32 прямо из Simulink-a. Т.е. теперь можно создавать программы для микроконтроллеров STM32, вообще не прикасаясь к исходному коду и не написав ни одной строчки кода — просто рисуя блок-схему в Simulink!

Я попытался попробовать запустить самый простой пример к STM32-MAT/TARGET, но у меня сходу не получилось (надо было почитать readme =)). Поэтому может быть описанное будет кому-то полезным…

0. Что нужно сделать да установки STM32-MAT/TARGET:
– Установить Matlab R2014a или старше
– Установить STM32CubeMX (это необходимо чтобы к сгенерированным исходникам создать проект для компилятора). В пути установки не должно быть русских букв и пробелов (мне пришлось переустанавливать)
– Установить компилятор — поддерживаются Keil MDK-ARM 4.73, IAR EWARM 6.70, TrueSTUDIO 4.3.1

1. Установка STM32-MAT/TARGET
– После установки STM32-MAT/TARGET необходимо настроить пути в Matlab. Нажать кнопку “Set Path” и добавить папку куда был установлен STM32-MAT/TARGET вместе со всеми входящими подпапками, нажав кнопку “Add with Subfolders”

2. Генерация кода для примера
Я взял пример SimpleGPIO, это просто мигание светодиодом.
– после того как Simulink открыл проект, возможно будет много сообщений типа “No GPIO_MODE_OUTPUT configured pin” и подобного — ничего страшного
– В свойствах блока STM32_Config (который выделен голубым цветом) надо нажать на кнопку “Select STM32 configuratio file” и выбрать файл имя_проекта.ioc (100% там будет изначально неправильный путь)
– Открыть через меню Simulation\Model Configuration Parameters параметры модели и там будет путь STM32CubeMx installation path — изменить его на настоящий, куда был установлен STM32CubeMX
– Для генерации кода нажать Ctrl+B или в меню Code\ C/C++ Code\ Build model
– Появиться отчет — Code Generation Report, нажать OK, еще подождать
– После чего должен открыться STM32CubeMX
– на предложение обновить библиотеку Firmware Package, я выбрал Migrate (появление этого запроса зависит от сочетания версий)
– возможно, что при первом запуске STM32CubeMX будет предложено скачать STM32Cube FW_F4 Firmware Package — оно само скачивает и устанавливает библиотеку драйверов с сайта
– Дальше, после того как проект отрылся в STM32CubeMX, надо выбрать чере меню Project \ Settings компилятор, для которого будет сгенерирован проект — Toolchain / IDE
– Нажать в меню Project \ Generate Code
– После генерации кода выведется сообщение об окончании, в котором будет кнопка Open project — и проект откроется в IDE компилятора

Проект SimpleGPIO был скомпилирован и залит в STM32F4Discovery плату и действительно — светодиод мигает))

12 thoughts on “Использование STM32-MAT/TARGET

  1. Спасибо за статью.
    Можно ли выполнить простой математический расчет используя этот инструмент?

    • Ну я синус генерировал и PID-регулятор реализовывал. Вроде работает нормально)
      Единственное работа с периферией не такая гибкая. Ну т.е. мне нужно было АЦП запустить в непрерывном режиме — чтобы оно преобразовывало постоянно без моего участия. Если использовать симулинковский блок обращения к АЦП, то там блокирующая процедура — т.е. все останавливается и ждет окончания преобразования АЦП.
      Поэтому я тупо генерирую процедуру которая обсчитывает всю модель, а для работы с периферией пишу свой код. Так получается более гибкий подход…

      • Приветствую. Пытаюсь освоить данных функционал. Однако при входе блок STM32_Config нет возможности ничего настроить и выбрать. В чем причина? Заранее спасибо

  2. Hello sir,
    Can you post video or photos and imya_proekta.ioc file for the matlab stm32 block configuration. because it still shows problems.

  3. Добрый день! Попытался повторить описанное, но наткнулся на ошибку:
    An installed compiler was not detected. Certain simulation modes, as well as host-based coder builds require that a compiler be installed. Please install one of the supported compilers for this release as listed at:

    http://www.mathworks.com/support/compilers/R2015a/win64.html

    MATLAB must be restarted after the compiler is installed.

    Установка компилятора ничего не изменила, может вы знаете как решить эту проблему?

    • Советую поставить 32-х битный Matlab.
      По крайне мере, у меня была схожая проблема и ее удалось решить переустановкой 32-х битной версии.

      • Примеры с АЦП у вас корректно работают? У меня не получается запустить ни один. Ошибка:
        For S-function ‘ADC_Read’, the number of defined parameters, 112, does not match the number of parameters on the dialog of ‘TestADCTrippleMode/ADC_Read’, 138. These two values must be identical.

  4. Приветствую. Следую вашему примеру и видео примерам из интернета, однако в настройках блока STM32_Config нем мог ничего настроить и выбрать. В чем причина? Там просто ничего нет. Заранее спасибо

  5. Приветствую. Пытаюсь освоить данных функционал. Однако при входе блок STM32_Config нет возможности ничего настроить и выбрать. В чем причина? Заранее спасибо

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s