Дальнейшие действия описаны на сайте http://www.rapidstm32.com в качестве вводного урока.
Они относятся к варианту, когда имеется плата отличная от FiO STD, например, stm32vl или другая, на основе микроконтроллеров серии stm32F10xxx (возможно есть поддержка и других, не знаю).
В конечном результате с помощью стандартных блоков simulink и элементов библиотеки RapidSTM32 мы запрограммируем мигание двух светодиодов на плате.
Создание модели в MATLAB/Simulink
Открываем MATLAB и создаём новую модель в отдельной папке.
Открываем параметры конфигурации (Ctrl+E)
И изменяем настройки Workshop'а под наши нужды
В появившемся подменю Workshop'а выбираем под какую плату мы собираемся делать программу. В нашем случае это STM32VLDISCOVERY, в качестве неизменяемого параметра видим наш микроконтроллер STM32F100RB.
Если отладочная плата другая, то выбираем из вариантов Generic, и выбираем из списка установленный на плату микроконтроллер.
Приступаем к созданию самой модели. Если установка библиотеки RapidSTM32 прошла успешно, то в браузер библиотек должен появиться соответствующий пунки с необходимыми блоками.
Управление светодиодами будем осуществлять с помощью генераторов импульсных сигналов с различными периодами и скважностями.
Устанавливаем из библиотеки RapidSTM32 блок настройки Setup System Clocks & SysTick и блок цифрового выхода Digital Output.
Чтобы понять на какие выводы подавать сигнал для изменения состояния светодиодов, открываем описание платы. Находим, что два светодиода LED3 и LED4 доступны через порт C на 8 и 9 битах.
Открываем настройки блока Digital Output и меняем настройки в соответствии с изложенным.
Добавляем два генератора прямоугольных сигналов из библиотеки Sources, и подключаем их к выводам C8 и C9. Изменяем параметры этих генераторов как угодно. Выставим у обоих скважность 2 а периоды 1 и 0.2 секунды.
Нажмём на кнопку Update diagram, расположенную на панели инструментов
В результате получаем следующее сообщение:
Оно сообщает нам, что ввиду того, что раз наша плата не была куплена за 100$ у производителя используемой библиотеки, то и полный функционал нам доступен не будет. Настройки блока Setup System Clocks & SysTick автоматически изменятся.
Данную операцию (обновления) необходимо провести дважды. На блоках параметр Ts должен стать отличным от 0.
Модель готова к тому, чтобы из графического вида перейти в C-код. Выбираем на панели инструментов пункт Tools --> Real-Time Workshop --> Build Model или (Ctrl-B). Блоки модели примут разные цвета (?разные цвета говорят о том, что блоки тактируются разными таймерами с наиболее подходящими частотами). Посмотреть эту зависимость можно по нажатию сочетания Ctrl-J. Можно поменять период генераторов и посмотреть изменения в данном окошке.
В результате последнего действия создались исходные файлы (*.с *.h *.s) для последующей их компиляции в hex-код и записи на память микропроцессора.
Сборка проекта из полученных файлов в Keil uVision4 и загрузка их на плату.
Открываем uVision и создаём новый проект (Project --> New uVision Project...).
Сохраняем проект в туже папку, где появились исходные файлы для проекта (папка с окончанием _rapidstm32).
В появившемся диалоговом окне выбираем наш микроконтроллер (в нашем случае STMicroelectronics -- >STM32F100RB).
На вопрос создания заготовочного кода, выбираем NO.
Добавляем в наш проект исходные файлы (*.c и *.s)
Открываем настройки проекта нажатием сочетния Alt-F7.
Выставляем параметры так же, как на следующих рисунках.
Билдим проект.
И проверяем в окне Build Output наличие строчки "project_name.axf" - 0 Error(s), 0 Warning(s).
Загружаем программу в флеш-память.
Запускаем отладку (Ctrl-F5) и нажимаем кнопу "RESET" на плате.
В итоге получаем следующую картину.
Они относятся к варианту, когда имеется плата отличная от FiO STD, например, stm32vl или другая, на основе микроконтроллеров серии stm32F10xxx (возможно есть поддержка и других, не знаю).
В конечном результате с помощью стандартных блоков simulink и элементов библиотеки RapidSTM32 мы запрограммируем мигание двух светодиодов на плате.
Создание модели в MATLAB/Simulink
Открываем MATLAB и создаём новую модель в отдельной папке.
Открываем параметры конфигурации (Ctrl+E)
И изменяем настройки Workshop'а под наши нужды
В появившемся подменю Workshop'а выбираем под какую плату мы собираемся делать программу. В нашем случае это STM32VLDISCOVERY, в качестве неизменяемого параметра видим наш микроконтроллер STM32F100RB.
Если отладочная плата другая, то выбираем из вариантов Generic, и выбираем из списка установленный на плату микроконтроллер.
Приступаем к созданию самой модели. Если установка библиотеки RapidSTM32 прошла успешно, то в браузер библиотек должен появиться соответствующий пунки с необходимыми блоками.
Управление светодиодами будем осуществлять с помощью генераторов импульсных сигналов с различными периодами и скважностями.
Устанавливаем из библиотеки RapidSTM32 блок настройки Setup System Clocks & SysTick и блок цифрового выхода Digital Output.
Чтобы понять на какие выводы подавать сигнал для изменения состояния светодиодов, открываем описание платы. Находим, что два светодиода LED3 и LED4 доступны через порт C на 8 и 9 битах.
Открываем настройки блока Digital Output и меняем настройки в соответствии с изложенным.
Добавляем два генератора прямоугольных сигналов из библиотеки Sources, и подключаем их к выводам C8 и C9. Изменяем параметры этих генераторов как угодно. Выставим у обоих скважность 2 а периоды 1 и 0.2 секунды.
Нажмём на кнопку Update diagram, расположенную на панели инструментов
В результате получаем следующее сообщение:
Оно сообщает нам, что ввиду того, что раз наша плата не была куплена за 100$ у производителя используемой библиотеки, то и полный функционал нам доступен не будет. Настройки блока Setup System Clocks & SysTick автоматически изменятся.
Данную операцию (обновления) необходимо провести дважды. На блоках параметр Ts должен стать отличным от 0.
Модель готова к тому, чтобы из графического вида перейти в C-код. Выбираем на панели инструментов пункт Tools --> Real-Time Workshop --> Build Model или (Ctrl-B). Блоки модели примут разные цвета (?разные цвета говорят о том, что блоки тактируются разными таймерами с наиболее подходящими частотами). Посмотреть эту зависимость можно по нажатию сочетания Ctrl-J. Можно поменять период генераторов и посмотреть изменения в данном окошке.
В результате последнего действия создались исходные файлы (*.с *.h *.s) для последующей их компиляции в hex-код и записи на память микропроцессора.
Сборка проекта из полученных файлов в Keil uVision4 и загрузка их на плату.
Открываем uVision и создаём новый проект (Project --> New uVision Project...).
Сохраняем проект в туже папку, где появились исходные файлы для проекта (папка с окончанием _rapidstm32).
В появившемся диалоговом окне выбираем наш микроконтроллер (в нашем случае STMicroelectronics -- >STM32F100RB).
На вопрос создания заготовочного кода, выбираем NO.
Добавляем в наш проект исходные файлы (*.c и *.s)
Открываем настройки проекта нажатием сочетния Alt-F7.
Выставляем параметры так же, как на следующих рисунках.
Билдим проект.
И проверяем в окне Build Output наличие строчки "project_name.axf" - 0 Error(s), 0 Warning(s).
Загружаем программу в флеш-память.
Запускаем отладку (Ctrl-F5) и нажимаем кнопу "RESET" на плате.
В итоге получаем следующую картину.


















