Home > ARM, Контроллеры, Общее, stm32 > STM32F103ZET6 Dev board – Программирование контроллера

STM32F103ZET6 Dev board – Программирование контроллера

Сегодня будет самое интересное. А именно, заливка прошивки в эту девайсину. Китайские ребята из openmcu.com постарались и сделали на плате возможность программирования через UART. Эта прекрасная новость означает, что покупать JTAG-программатор ULINK за 50 баксов нет необходимости. Хотя это вещь полезная и в хозяйстве пригодится.

Давайте теперь зальем  контроллер измененную прошивку, которая выводит на экран адрес этого сайта (argrento.org). Последовательность действий такова:

  1. Скачать MDK-ARM.  Нужен не IAR или что-то подобное, а именно Keil, потому что проекты подготовлены для последнего.
  2. В папке номер 9 (см. предыдущую запись) найдем архив uCOS+uCGUI(FSMC)3.2出厂程序.rar. И распакуем в какую-нибудь папку по легкозапоминающемуся пути. В моём случае это C:\argrento.
  3. Дважды кликнем по файлу uCOSDemo.uvproj – откроется uVision4 (IDE от Keil) и будет выглядеть примерно так:

    Окно uVision4

    Окно uVision4

  4. Пытаться билдить проект бесполезно – выдаст кучу ошибок об отсутсвующих файлах. Необходимо содержимое папки \Source\FWLib\inc скопирвать в  \Source\App. 
  5. Теперь в uVision4 в правой части окна надо выбрать ucGUI/Demo и далее файл GUIDEMO_Intro.c. В этом файле правим строку №61, чтобы она была такой:

    GUI_DispStringHCenterAt("ARGRENTO.ORG", 140, LCD_GET_YSIZE() - 40);

  6. Теперь можно спокойно получать hex-файл (Project -> Build Target или просто нажать F7).
  7. Следующий шаг – подготовка платы к прошивке через UART. В правом нижнем углу платы (прямо рядом с дисплеем) находятся два маленьких джампера – JP9 – BOOT0 и JP10 – BOOT1 (см рис.)
    Расположение джамперов

    Расположение джамперов

    По умолчанию джамперы на BOOT0 и BOOT1 охватывают выводы 1 и 2. Это нормально для работы, но делает невозможным программирование. Необходимо переставить джампер BOOT0 на выводы 2 и 3. Теперь плата готова к прошивке.

  8. Далее подключаем плату к ПК через USB (для питания) и через COM-порт (для программирования). На плате com-кабель подсоединяем к разъему CON1.
  9. Запускаем программу Flash Loader Demonstrator, которую качаем с диска или с сайта STM. Устанавливаем конфигурацию порта и жмем Next.

    Выбор порта

    Выбор порта

  10. Если возникла ошибка, перезагрузите устройство и проверьте хорошо ли кабели входят в гнезда. В случае успешного соединения появится следующее окно с сообзение о готовности девайса.

    Соединение успешно.

    Соединение успешно.

  11. Жмем Next. Следующее окно покажет нам карту флеш-памяти, доступной для программирования.

    Flash mapping.

    Flash mapping.

  12. Жмем Next. Следующее окно предоставляет нам возиожности по стиранию, программированию, скачивания прошивки, включения/отключения блокировки флеш-памяти. Мы хотим лишь запрограммировать устройство. Для этого ставим точку напротив “Download to Device”, указваем путь к hex-файлу и ставим точку рядом с “Erase necessary space”. И смело жмем Next – начинаем прошивку.
  13. Появляется вот такое окно:

    Процесс прошивки.

    Процесс прошивки.

  14. Ждем, пока надпись “Downloading data … ” сменится вот такой: 
  15. Прошивка закончена. Отключаем питвние платы и джампер BOOT0 переставляем с 2-3 на 1-2. И включаем питание. На экране появляется те же надписи на синем фоне, да вот только одна из них теперь наша собственная, argrento.org.

    Результат работы.

    Результат работы.

Advertisements
  1. potsik
    04.10.2011 at 00:15

    Молоток!!!!!!!Так держать.

  2. dima
    03.06.2016 at 15:55

    а можно hex для теста, пожалуйста?

  1. No trackbacks yet.

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s

%d bloggers like this: