Старая версия сайта

микроконтроллеры от ведущих мировых производителей

 

О возможностях графических контроллеров FTDI мы уже не раз рассказывали ранее и в этой статье не будем останавливаться на этом. Далее речь пойдет о простом и быстром способе познакомиться с работой FT8xx самостоятельно.

Одним из первых вопросов, которые встают на этапе освоения новой элементной базы – это необходимость переноса и конфигурации примеров производителя на свою платформу. При использовании МК на базе ядра ARM одним из удобных способов может быть специализированный ресурс для разработчиков – ARMmbed (https://developer.mbed.org/). Данный ресурс объединяет производителей микроконтроллеров на базе ARM, производителей отладочных средств на базе этих МК и различных плат расширения для них, а также разработчиков, кто работает с ARM-контроллерами. Все представленные на сайте аппаратные платформы полностью поддерживают работу с универсальными набором программных средств – mbed SDK. Это дает возможность запустить любой из примеров, представленных на данном сайте, на выбранном МК, если периферия нашего МК позволяет это сделать.

В нашем примере покажем работу с двумя отладочными платами: Wiznet WIZwiki-W7500P и SiLabs EFM32 Happy Gecko. Обе эти платы имеют статус mbed Enabled. Это говорит о том, что они прошли все необходимые тесты на совместимость с тем набором программных и аппаратных средств, которые представлены на сайте ARMmbed.

На сайте ARMmbed представлена переработанная и размещенная в общем доступе библиотека FTDI для работы с контроллерами FT80x. На базе этой библиотеки реализован небольшой проект FT800_RGB_demo2, который мы и попробуем запустить на наших платах: https://developer.mbed.org/users/dreschpe/code/FT800_RGB_demo2/ . Для доступа к ресурсам ARMmbed необходимо пройти простую регистрацию, после чего можно приступать к работе.

Первым шагом будет добавление в наш список требуемых платформ. Добавим себе плату Happy Gecko. Для этого нам потребуется найти плату в списке поддерживаемых аппаратных платформ, открыть страницу с ее описанием и нажать кнопку “Add to your mbed Compiler”: https://developer.mbed.org/platforms/EFM32-Happy-Gecko/

 

Далее переходим на страницу с интересующим нас примером проекта для FT800 (см. ссылку выше). Перед нами откроется следующая страница:

Данный пример может быть открыт в онлайн-режиме в mbed компиляторе (что осуществляется нажатием кнопки “Import this project”) или на ПК в поддерживаемой среде разработки (при нажатии кнопки “Export to desktop IDE”). На примере EFM32 импортируем проект в Simplicity Studio. Выбираем “Export to desktop IDE”, и на следующей странице выбираем платформу и среду разработки. В выпадающем списке платформ “Choose platform” будут доступны только те отладочные платы, которые мы добавили себе на первом шаге:

После нажатия кнопки “Export” нам будет предложено скачать архив с проектом. Распакованный проект добавляем стандартной процедурой  File – Export в Simplicity Studio:

В файле main.cpp заменяем имена и назначение выводов МК на те, что доступны на нашей плате. Выбранные линии выведены на разъем EXP:

FT800 TFT(PE10,PE11,PE12,PE13,PD5,PD4);  // mosi, miso, sck, ss, int, pd

     Это все изменения, которые необходимо сделать в проекте перед его компиляцией. Собираем проект, программируем наш МК штатными средствами Simplicity Studio и убеждаемся, что все работает.

Теперь запустим данный проект на плате WIZWiki-W7500P. Добавим плату в список наших платформ: https://developer.mbed.org/platforms/WIZwiki-W7500P/, а затем перейдем на страницу с проектом FT800_RGB_demo2. Для данного микроконтроллера откроем проект в mbed компиляторе:

Заменяем имена и назначение выводов для МК W7500P:

FT800 TFT(D11,D12,D13,D10,D7,D6);  // mosi, miso, sck, ss, int, pd

Компилируем проект, по окончании компиляции нам будет предложено загрузить файл прошивки с расширением bin. Процесс программирования заключается в следующем. При подключении платы WIZwiki-W7500P к персональному компьютеру она определяется как внешний диск с именем “MBED”: https://developer.mbed.org/teams/WIZnet/wiki/How-to-write-the-firmware-into-WIZwiki-W Скачанный файл прошивки с расширением bin копируем на этот диск. По окончании записи МК автоматически перезагружается и начинает выполнение загруженной программы.   

Использование ресурсов сайта ARMmbed может помочь в короткий срок подготовить, например, прототип для показа будущего устройства. Не следует считать ARMmbed универсальным инструментом на все случаи жизни. В частности, пример работы с FT8xx, показанный выше, использует библиотеку одного из пользователей сайта. В этой библиотеке присутствуют небольшие отличия от фирменной библиотеки FTDI, и это не позволит в прямом виде использовать те примеры, которые дает FTDI. Но бывают ситуации при первом знакомстве и начале работы с новыми компонентами, когда сложно локализовать ошибку в программе или “железе” при использовании штатных средств, которые предоставляется производителями используемых компонентов. Альтернативный вариант, предлагаемый ARMmbed, может помочь в решении проблемы.