Рейтинг
27.02
голосов: 29

О блоге

Работа с ядром CortexM3 и периферией STM

Администраторы (1)

Модераторы (0)

Модераторов здесь не замечено

Читатели (261)

ploop _YS_ m3hc Krieger Tabke marvin_yorke Ultrin WildCat hexanaft Vga Alatar mzw Reverb grand1987 dievgen woogle PahanMenski anper citizen ZiB

Все читатели блога

STM32 и Питон

Оказывается, существует реализация интерпретатора Python3.х для STM32. Сайт проэкта находится здесь. Проэкт стартовал на Кикстартере, были собраны средства (в декабре 2013 года) и софт на данный момент уже доступен для свободного скачивания в GitHub (Прямая ссылка для скачивания архива с исходниками).



Читать дальше

Модернизация STM32VL DISCOVERY STlink в STM32F103 DISCOVERY Stlink/V2

    Одной из первых отладочных плат от STMicroelectronics была выпущена плата STM32VLDISCOVERY с процессором STM32F100RB и программатором  STlink. Недостатком данного программатора является отсутствие процесса трассировки. И кроме того в качестве отлаживаемого  применен не очень быстрый процессор, работающей на предельной тактовой частоте 24 Мгц.
    Данную плату довольно легко можно модернизировать. Процессор, стоящий на плате без каких либо изменений можно заменить на например STM32F103RB или другой подобный из 103 серии в корпусе QFTP64. Данная замена оправдана тем, что данная линейка процессоров полностью поддерживается в отладчике Keil. Кроме того существует огромное количество примеров для работы с этим типом процессоров.
    Для переделки STlink в STlink/V2 необходимо сделать следующее:

1. Необходимо заменить прошивку микросхемы STM32F103C8 на которой  собран программатор. Для этого можно воспользоваться Flash loader demonstrator которая позволяет с помощью штатного загрузчика изменить прошивку в самом программаторе. Для этого нам необходимо подключиться к выводам USART1_TX она же PA9 (30 вывод) и USART1_RX она же PA10 (31 вывод) — по ним будет осуществляться программирование процессора. А также к выводам BOOT0 (44 вывод) для перехода в режим встроенного загрузчика в системной памяти процессора и RST (7 вывод). Выводы 31 и 30 лучше всего подсоединить к пустым выводам (NC) на плате соответственно слева и справа (2-е выводы сверху). Процедура программирования описывалась тут и тут. Вывод BOOT1(PB2) подключаем к земле (после прошивки не забываем убрать это соединение) — для того, чтобы заставить процессор после старта перейти на запуск встроенного в системную память загрузчика. Прошивку для заливки в процессор программатора можно скачать тут. А саму программу Flash loader demonstrator тут.
2. После этого необходимо на процессоре программатора соединить PB12 (вывод 25)  и PB14 (вывод 27).
3. Соединить вывод PB3 он же JTDO (вывод 55 отлаживаемого процессора STM32F103RB) и PA10 он же TSWO (вывод 31 процессора программатора).
    В результате данной модернизации в среде Keil данный программатор определяется как STlink/V2.

Разработка для STM32F4Discovery с помощью mbed в QtCreator

В последнее время библиотека mbed набирает обороты. Одновременно с этим у замечательного C/C++ IDE от команды Qt средства работы с голым железом достигли нового уровня. Осторожно, много картинок (меньше 1Мб).


Читать дальше

STM32F103C8 + ChibiOS + uGFX + LCD WH1602 пример

Всем привет, решил разобраться с STM32, в качестве ОС выбрал ChibiOS, а в качестве задания для себя решил подключить текстовый экранчик (WH1602B) используя библиотеку uGFX (думаю использовать все это в будущих проектах). Использовал отладочную плату Pinboard II, купил её уже давненько, еще вначале осени, но только недавно нашел время и сел разбираться.
Это моя первая статья, раньше нигде не писал. Конструктивная критика была бы кстати.





Читать дальше

Многозадачный программный таймер, ver 2.0

Программный таймер, некогда описанный мною в блоге здесь неожиданно получил продолжение. Так как в системе с ARM на борту присутствуют приоритеты прерываний, стало необходимостью выживать в данных условиях. Ну обо всем по порядку:


Читать дальше

DevBoard STM32 light - сделай сам, бюджетно, часть 1

Хочешь сделать хорошо — сделай сам.

Тема выросла из чисто практических соображений. Поскольку я не поклонник лазерного утюга — места под хим. процессы нет, да и нервов и времени этот ЛУТ забирает немало, было решено найти что-нибудь готовое. Требования простые: дешево, много ножек, мощь и порядок.

В первую очередь отпали AVR — мощи мало, ножек тоже, порядка — никакого.

Далее были отсеяны msp430 — люблю я msp430, но опять же мощи мало и цена кусается: корпус 20 ног с 16кб памяти стоит 100-200 р. И это только сам МК! Дешевле ланчпад с ti.com заказать.

В результате было решено обратиться к камням stm32f. Мощи достаточно, ножек — сколько желаешь, порядок — присутствует, что показали опыты программирования. Цены — почти сказочные (но не в России).

Поиск недорогих development board's под stm32 не увенчался успехом. Борды под интересующие камни на 64-100 ножек наши восточные братья продают минимум за $10. Рассмотрение их фоток с увеличением привело к выводу — паяют в гараже. Куда там роботы, волновая пайка и космические технологии! Я и сам так паять умею. А PCB, все-таки закажу, китайцы лучше меня их делают.

Под катом схема и подробности.


Читать дальше

Автомобильный трекер

Опубликовал все по своему автомобильному трекеру
ссылка
Остались 10 пустых плат от версии ....-Rx — могу отправить обычным конвертом по почте. Объяснений и пояснений не будет. Всё в схемах, разводке и программах.
Протокол GpsGateTrackerOne (часть команд только).
  • 0
  • 12 марта 2014, 21:09
  • x893

Простой проект на STM32F030F4P6 (CoCoox IDE) перенос программы с ATMEGA48

Давно был сделан проект мед.прибора (проверка зрения) на ATMEGA48PA.
Приборчик совсем простой, есть 4 цветных светодиода, кнопками выбираем какой, следующей кнопкой яркость свечения, и следующей режим предявления (короткий импульс, пост.горение и триггер)В методу особо не вдавался, да и забыл.(давно было) :)
Короче заказчик говорит, что надо изготовить новую версию прибора с небольшими изменениями в алгоритме и добавить управление от ком порта (планирую Андроид планшет через USB OTG) Так как партия приличная и я имею с выпуска royalty, то имеет смысл сократить расходы.Поиск подходящего чипа привел к STM32F030F4P6 (в партии стоит около 17 рублей) Практически в 2 раза дешевле ATMEGA48 и корпус мельче (20 pin)
Проект перенес практически за пол дня.Все работает.Думаю для мелких поделок этот чип вполне гут. Отладку или прошивку можно делать по SWD или зашить через встроенный bootloader. Проверил работу через Андроид планшет (пока терминалом) 9600 все ок. BootLoader тоже со встроенным генератором работает. Выкладываю схему и тестовый проект на CoCoox. Использую PWM,UART с прерываниями и работу с GPIO. Все стандартными библиотеками.
Схема контроллера:


Схема BootLoader и консоли к Андроид планшету



Гуру этого дела прошу не «возбуждаться», топик для начинающих или переходящих с 8-32.
  • +4
  • 19 февраля 2014, 20:30
  • alexhi
  • 1

STM32 Nucleo

ST разродилось новой ардуинообразной платой Nucleo:




Читать дальше

UART (USART) на STM32L (STM32)

Введение
На момент написания данной статьи в сети существовало множество примеров по работе с UART’ом на микроконтроллерах серии STM32. В основном данные примеры сводятся к приему/передачи одного байта без использования прерываний. Основной акцент в статьях делается на инициализации портов ввода/вывода и UART’а, с небольшими примерами. В некоторых статьях описывается работа прерываний, но не создаются полноценные функции приема/передачи.

Однако все эти примеры достаточно разрознены и мне не удалось найти одного исчерпывающего примера по работе с UART'ом. Поэтом, в данной статье ставиться целю объединение воедино накопившегося опыта и создание полноценных функций для работы с UART с использованием прерываний, для чего детально разбирается устройство интерфейса применительно к микроконтроллерам STM32L.



Читать дальше