Войти
Life Engine

Программирование под ARM для STM32

Автор:

Времени на возню с железками очень мало в последнее время, что весьма огорчает, но оно есть и я его использую )  Т.к. с ARM я вообще не работал, то стартонуть даже получилось не сразу, т.к.  не имел даже понятия с чего стартовать :D

Начать я решил с поисков тулчейна для разработки. Компилеры разношёрстные конечно есть ) Но что выбрать и какой IDE?

Нашёл следующие IDE:
Keil, IAR, CooCox

Первые 2 оказались платными да и их интерфейс показался мне не очень дружелюбным. Зато CooCox приятно удивил! Основан он на Eclipse и заточен для разработки под ARM. В нём встроено ооочень удобное добавление в проект модулей библиотеки CMSIS!  Нажал галочку - файлы добавились в проект! Инклудь и юзай - красотень же )  Там есть и модули инициализации камня и модули работы с переферией и т.п. плюшки, есть даже своя RTOS !!!

Первая компилляция проекта отвалилась  с ошибкой, что gcc тулчейн не настроен!  С IDE он само собой не идёт )  Поэтому его сначала надо поставить отдельно! http://www.coocox.org/CoIDE/Compiler_Settings.html

После чего конечно установить и выбрать в настройках компилера CooCox IDE.  И теперь всё шикарно собралось!  Залилось! И даже заработало ))

Но вот дебаггер не завёлся : \  При запуске процесса дебага появлялись 2 ошибки, одна из них говорила, что tasklist.exe не был найден и не может быть запущен. В PATH он действительно не виден, однако лежит он в C:\Windows\System32\  - достаточно добавить этот путь в PATH и всё заведётся )

Качество дебаггера я ещё не успел нормально проверить, но то, что он работает - это факт! ^^

В комментах к этому посту буду рассказывать о дальнейших ресёрчах, проведённых на моём борде STM32VLDISCOVERY.  Первым делом я хочу подключить и прочитать/записать EEPROM память, вторым делом - найти дисплей от мобилы какой-нибудь и подключив к GPIO платы вывести картинку.

UPD: Удача с EEPROM )
Таки разобрался как работать с I2C на этом контроллере! Сделал чтение и запись - побайтово и постранично )  Немного правда ещё допилить надо но в общем всё клёво весьма!

Использовал 24C04WP микруху памяти на 512 байт (2 блока по 256 байт). Не сразу вдуплил как выбирать нужный блок памяти в ней, но таки всё получилось!! На очереди работа с дисплеем ^^ Надо с какой-нибудь мобилки бы его снять.
Изображение

#arm, #железо, #программирование, #ST, #STM32

13 декабря 2012 (Обновление: 16 дек 2012)

Комментарии [6]