Урок 38
Плата NUCLEO STM32F401RE и оценочные платы
Общий вид отладочной платы STM32 NUCLEO-64 следующий
Оценочная плата X-NUCLEO-IKS01A1 выглядит следующим образом
Распиновка лапок портов на отладочной плате, к сожалению, не указана, как это, к примеру, сделано в случае платы STM32 F4 Discovery. Но найти распиновку не трудно в документации, также она указана на рисунке в упаковке платы.
А вот и распиновка нашей платы
К плате NUCLEO оценочная плата подсоединяется с помощью разъёма типа Arduino.
Первым делом скачаем ПО osx Motion FX
Для этого вводим это на официальном сайте st.com в поисковую строку и переходим Tools & Software. Скачиваем osxMotionFX по ссылке. Для скачивания нужно будет авторизоваться или зарегистрироваться.
Скачается архив zip. Распакуем его куда-нибудь, ну или установим прямо из архива, так как там только один файл. При установке советую выбрать папку с путём попроще, т.к. её потом придется нередко посещать. Я, например установил данное ПО по пути «D:\ISH\ARM\OpenSoftwareX». Галку мастера установки лицензии не снимаем.
OSX LicenseWizard устанавливаем по тому же пути, куда установили всё ПО.
От установки ST Link Utilities можете отказаться, если у Вас он уже установлен и версия новее. Остальное лучше не трогать.
Перед запуском мастера установки лицензии подключите свою отладочную плату. Запускаем мастер. Заполняем информацию здесь:
Из выпадающего списка выбираем единственный продукт для лицензирования
Жмем следующую кнопочку
Слева появится код устройства.
Жмем следующую кнопочку
Соглашаемся с лицензией. Затем жмем следующую кнопочку,
появится отправка по электронной почты запроса на лицензию. Соглашаемся и отправляем письмо. Через некоторое короткое время придет письмо приблизительно такого содержания
Копируем участок, где все Ваши коды и вставляем его вместо подобного участка с нулями в файле D:\ISH\ARM\OpenSoftwareX\Workspace\Middlewares\ST\STM32_OSX_MotionFX_Library\osx_license.h
У Вас наверно будет путь другой. А если бы мы установили ПО по пути по умолчанию, то путь был бы еще длиннее.
Также из вышеназванного файла удалим строку
#error «NOTE: this is a dummy license file. Use the osx.LicenseWizard to request a valid license»
Сохраним файл и продолжим.
Также на официальном сайте st.com введем в строке поиска x-cube mems и скачаем таким же образом, как и предыдущее ПО, X-CUBE-MEMS1. На момент написания данной статьи последняя версия 2.1.0.
Содержимое папки «STM32CubeExpansion_MEMS1_V2.1.0» в скачанном архиве скопируем в папку «D:\ISH\ARM\OpenSoftwareX\Workspace» (ну конечно у Вас будет путь другой».
Ну теперь вроде у нас есть проект примера для интересного теста. Но не тут то было. У нас нет среды программирования.
Но у нас же есть Keil! Ан нет. Здесь превышение размера 32к, ограниченного бесплатной версией Keil. Специалисты ST Microelectronics пришли к выводу, я также к ним охотно присоединяюсь, что в таком случае целесообразно использовать System Workbench в связке с Eclipse, ибо они бесплатны. Ну и также пример есть в папке с проектом и для этой среды разработки.
Поэтому начнем устанавливать эти компоненты.
Вводим, как всегда, в поисковой строке st.com вот это «SW4STM32» и скачиваем данное ПО. Для этого st.com переместит нас на http://www.openstm32.org/ к хозяину IDE. Скачиваем System Workbench for STM32 installer для своей операционной системы. Устанавливаем, запускаем, указываем рабочее пространство для проектов. Затем жмем слева правой кнопкой мыши и выбираем «Import».
Выбираем Existing Projects Into Workbench. Далее в «Select root directory» указываем папку с проектом “D:\ISH\ARM\OpenSoftwareX\Workspace\Projects\Multi\Applications\DataLogFusion\SW4STM32\STM32F401RE-Nucleo” и жмем Finish. Проект появился у нас в рабочем пространстве слева.
Можно открыть main.c и посмотреть.
Теперь попробуем скомпилировать проект. Нажимаем меню Build -> Build Project.
Проект у нас должен собраться. Зайдем внизу во вкладку Console и увидим вот такую строчку
arm-none-eabi-objcopy -O binary «STM32F4xx-Nucleo-DataLogFusion.elf» «STM32F4xx-Nucleo-DataLogFusion.bin»
В принципе можно воспользоваться данным бинарным файлом (файлом с расширением bin) прошить его через STM32 ST-LINK Utility в нашу отладочную плату и все будет работать.
Но мы все же попробуем прошить через среду разработки System Workbench.
Не забываем вставить в отладочную плату NUCLEO STM32F401RE плату расширения X-NUCLEO-IKS01A1.
Жмем кнопку Run в System Workbench.
Выбираем gdbserver
Контроллер должен прошиться. Иногда бывают и ошибки из-за неправильных драйверов и прочих случаев. У меня такие были на первых порах, но я уже не помню что я делал. Порой помогает обновление прошивки ST-LINK.
Также может помочь такой метод.
Необходимо зайти в свойства проекта. Щелкаем правой кнопкой мыши по самому верхнему уровню дерева проекта и выбираем «Properties»
Там заходим в «Run/Debug Settings» и удаляем оттуда конфигурацию (нажмите на картинку для увеличения).
Создаем ее заново, нажав кнопку «New» справа и выбрав верхний пункт в списке «Ac6 STM32 Debugging».
Оставляем все по умолчанию. На вкладке «Debugger» Свойство «Port number» должно быть 3333.
Жмем «OK» и пытаемся прошить проект. Теперь должно все получиться.
Проект у нас прошит.
Запустим утилиту визуализации данных Sensors_DataLog, находящуюся в папке D:\ISH\ARM\OpenSoftwareX\Workspace\Utilities\PC_software (у Вас может быть другой путь)/
Запускаем в папке Sensors_DataLog файл Sensors_DataLog.exe (System Workbench лучше закрыть, а то кнопки в приложении могут стать неактивными). Жмем в приложении кнопку «Start Sensor Fusion» и вертим нашу отладочную плату (нажмите на картинку для увеличения)
Также можно нажать во время работы приложения кнопку Show Scatter Plot и посмотреть, как перемещаются три координаты.
Предыдущий урок Программирование МК STM32 Следующий урок
Отладочную плату можно приобрести здесь Nucleo STM32F401RE
Оценочную плату можно приобрести здесь STM32 X-NUCLEO-IKS01A1
Смотреть ВИДЕОУРОК в RuTube
Смотреть ВИДЕОУРОК в YouTube
Добавить комментарий