Войти
Life EngineКатегории

STM32

Смотрите также категорию STM32 для всех разделов

Программирование под 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 байт). Не сразу вдуплил как выбирать нужный блок памяти в ней, но таки всё получилось!! На очереди работа с дисплеем ^^ Надо с какой-нибудь мобилки бы его снять.
Изображение

Ссылка | Комментарии [6]
13 дек 2012

Приобрёл Raspberry Pi и STM32VLDISCOVERY, новые исследования, новые возможности ^^

На днях приобрёл себе 2 замечательных борда - Raspberry Pi и STM32VLDISCOVERY!

Raspberry Pi по-моему не нуждается в представлении : )  Купил для более извращённого оттачивания скиллов программирования дрова под линукс и для оттачивания скиллов собирания своих девайсов : ) 

Изображение

Основные задачи для Raspberry Pi - освоить линукс моим движком, в частности OpenGL ES 2.0, а так же реализовать подобие 4-ногого робота (думаю насчёт двигателей пока), ещё, собсно, помочь мне дальше постигать черезжопно написание дров : )

Сразу после покупки передо мной стало несколько проблем - нечем запитать борд (питание через micro USB, 5.0V, 700mA) : \  У меня ни кабеля ни блока питания!  Вторая проблема - отстутсвие дисплея у меня. Да, нету его! Потому что у меня ноутбук :D Без каких либо видео входов. Печаль (  Но разве это проблема?  Я привык уже работать через консоль! Чтож, решил подключить консоль )  А куда???  Тут и её нет.

Посмотрел по распиновке платы - выведен ли наружу UART? И он действительно выведен! Ура! )  Rx, Tx, GND, больше, собсно, ничего и не надо )  Вот только у меня на ноуте нет COM порта :D  Снова проблема. Хотяяя..  ну какая же это проблема? Нет? - Будет!

Взял конвертер FT232RL и сделал себе виртуальный COM-порт через USB, который теперь шикарно работает! На данный момент я смог загрузить Raspberry Pi, подключиться через свой COM порт и даже написать простую программу прям в консоли в nano :3

STM32VLDISCOVERY я взял ради изучения ARM архитектуры, точнее разработки под неё ) Именно на низком уровне, без ОС.  Оказалось тут всё сложнее, чем AVR, но это всё равно не проблема, разберусь )

На борту у него 32 разрядный ARM контроллер STM32F100RB, Cortex™-M3, 24 MHz, 128 Kbytes of Flash, 8 Kbytes of SRAM.

Изображение

Порадовало начилие прошивальщика и отладчика на борде и всё это через 1 mini USB порт.


В общем приобретением очень доволен, надеюсь выкроить для них время и сделать что-нибудь интересное )

Ссылка | Комментарии [32]
7 дек 2012

Архив