Высказывания и цитаты:

Поклонись до земли своей матери,
И отцу до земли поклонись.
Мы пред ними в долгу неоплаченном,
Помни свято об этом всю жизнь.

  • 25Ноя

    Урок№1. Вот и у меня появилось время написать первую статью о микроконтроллерах STM32, которые я так расхваливал в
    С чего начать: программируемая электроника. Свое первое представление о STM32 я получил, когда рассматривал на сайте aliexpressа различные development boards (платы разработчика) на основе какого-нибудь семейства микроконтроллеров. Все платы содержали стандартные наборы элементов, которыми никого не удивишь в наш современный век технологий. И тут я увидел на картинке дисплей от моего китайского телефона — плата называлась Hy-Mini STM32. hy-mini
    Дисплей HY32D (SSD1289) 320×240 точек с 65535 цветами плюс резистивный touchscreen в 2010 году меня просто поразили. На плате был установлен микроконтроллер STM32F103VCT6, как потом узнал, семейства Cortex M3, выполненного по архитектуре ARM. То, что процессоры с этой архитектурой применялись для изготовления сотовых телефонов, я тогда знал. — И у меня сразу загорелись глаза!

    Потом я нашел плату разработчика  HY-Smart STM32 с видеокамерой в комплекте и mp3 декодером:hy-smart

    А сейчас вышла еще New HY-MINI STM32V с меньшим по размеру дисплеем

    new_hy_mini

     

    Все эти платы поставляются с CD-диском, на котором есть электрические схемы, достаточное количество интересных проектов для них, и, конечно, среда разработки Keil. Keil — очень мощная среда разработки, обладающая такими возможностями для отладки, каких не было тогда ни у PIC, ни у AVR, к тому же она быстра и удобна . Один раз ее установив, я не хотел возвращаться к другим микроконтроллерам.

    И вот — мне пришли платы, на них был записан демонстрационный пример, который просто впечатляет ! ! !  Но который скачать я не смог. —  К сожалению, программатор ULINK2, который я заказал, совместим лишь с Keilом, который не может считывать прошивки, как и заливать HEX файлы напрямую в контроллер без проекта. Для таких целей надо покупать ST-LINK и через ST-Link Utility делать это. Тогда ничего этого я не знал и мне надо было научиться программировать STM32, а не заниматься reverse-инжинирингом.

    Итак, устанавливаем Keil Uvision 4, для этого запускаем файл MDK.exe или он может иметь другое название. Вводим любые имена и email в процессе установки. В конце установки инсталлятор предложит установить драйвер программатора ULINK, делаем это (у меня такой программатор). Всё — готово! Запускаем программу через меню пуск — если у вас Windows XP просто нажимаем на ярлык, если у вас установлена Windows 7 или новее, то жмем на иконке ярлыка Uv4.exe правой кнопкой там выбираем запуск от имени администратора. Дальше выбираем меню Файл->Менеджер лицензий. У меня английская версия, поэтому будем использовать английские наименования, и в первую очередь вся техническая документация (manuals) пишется на английском, без него никуда, поэтому учим. Итак выбираем меню File-> License Management. В открывшемся окошке находим Computer ID CID: копируем его. Потом открываем keygen.exe и выбираем из списка Target ARM, вставляем CID, внизу опять список — например Prof.Developers Kit/RealView MDK. Жмем Generate, и появившийся код копируем в окно License Management в New License ID Code (LIC). Нажимаем на Add LIC. Если все сделали правильно, в Support Period пишется срок действия лицензии и закрываем окно лицензий.

    Теперь находим на диске папку с проектами под именем Example и разархивируем. Выбираем понравившийся проект — в нем три папки. Libraries — это описание ядра и перифирии микроконтроллера, его желательно не трогать. User — эта пользовательская папка, в которой будем хранить наши собственные исходные коды. Нам сейчас надо открыть MDK-ARM и запустить файл проекта Project.uvproj. Он открылся.

    Теперь Выбираем в меню Project -> Options for Target ‘HY-Mini STM32V’. В Device указан тип микроконтроллера и его характеристики для проекта. В Target опорная частота внутреннего RC генератора 8 Мгц, на ней он запускается, а после в программе он может перестроиться на внешний кварц и поменять коэффициент, например на 72 Мгц; в ячейках IROM1 указывается с какого адреса начинается flash память и какой ее объем, IRAM1 -соответственно только ОЗУ. На вкладке Output обратите внимание, чтобы стояла галочка Create Hex File, иначе нам нечего будет зашивать в микроконтроллер. На вкладке С/С++ в Include Paths прописаны все пути к папкам, которые участвуют в проекте, чтобы посмотреть какие — нажмите  на кнопке с многоточием. На вкладке Debug выбираем Use Simulator для того, чтобы просмотреть симуляцию проекта программно или выбираем аппаратный отладчик Use ULINK2/ME Cortex Debugger в моем случае. В Utilities Use Target Driver for Flash Programming укываем программатор тот же что и отладчик. Вот и все настройки проекта, жмем OK, и они сохраняются.

    Перед заливкой проекта необходимо сделать компиляцию. Project->Build target или Rebuild all target files. В первом случае заново компилируются только файл main и измененные, а во втором все — если вы подключаете еще и другие библиотеки ядра. Компилятор выдает сообщение что ошибок нет, а мы выбираем меню Flash->Download. Проект зашит в микроконтроллер. Благо программатор подключается к разъему на Development board однозначно и здесь трудно что-либо сделать не так.

    Все написал очень коротко,потому что эта информация есть в интернете. Продолжение в следующей статье….

Ваш ответ

Внимание: Модератор оставляет за собой право редактировать или удалять комментарии.

Подтвердите, что Вы не бот — выберите человечка с поднятой рукой: