Базовая плата для STM32 Discovery

Намутил себе тут базовую плату с переферией для STM32 Discovery.




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

Используем CMake и GCC для программирования uC STM32 в линуксе.

Всё у армов хорошо, одна беда — все рассчитано на работу в определенных пропиетарных м платных IDE, которые, естественно, никто портировать на linux не собирается. Для линукса есть такая хорошая вещь — ODeV Idea используются make + gcc + eclipse + openocd. Однако, я решил пойти немного другим путем — разобратся, из чего состоит проект для stm32 и использовать cmake для сборки проектов.
UPD: Теперь всё лежит на github'е — https://github.com/ObKo/stm32-cmake
UPD2: Данный текст слегка устарел (но общий принцип сохранился), актуальные доки на github'е


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

Выбор RTOS в домашних условиях для AVR, STM8 и немного STM32 :)

Нити, потоки...Задумался о выборе RTOS. Первая цель — обучение, следующая — использование в своих проектах. В процессе поиска и чтения понял, что запомнить всё не могу, пришлось делать табличку сравнения. Когда таблица была готова, решил выложить её сюда. Во-первых, потому, что кому-то ещё она может быть полезна, во-вторых, я мог что-то пропустить, в комментариях подскажут :)



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

STM32 и 7-сегментники (RTOS и RTC).

Давно валялись, все руки не доходили, а счас понадобились, нужны часы и термометр, чтобы значения были видны в темноте и из далека.



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

Атомарные операции в Cortex-M3


Часто возникает ситуация, когда одна и та-же переменная используется и изменяется из разных потоков или из островного потока и прерываний. В этом случае модификацию такой разделяемой переменной необходимо осуществлять атомарно. Простейший способ обеспечения атомарности — это запрет прерываний на время операции, но это не наш метод — в ядре ARM Cortex-M3 есть более интересные средства для этого.


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

Магазин Waveshare Electronics и EMS России

Всем привет.

Забрел я месяц назад в небольшой магазинчик Waveshare Electronics www.wvshare.com/index.html
Торгует отладочными платами и, наверное, микросхемами. Наверное, потому, что не нашел ценников. Только списки.
Отладочные платы — для для широкого круга процессоров — AVR, STM8, STM32, 8051, AVR32.
Особенно понравилась плата периферии — DVK501.


Читать дальше
  • 0
  • 22 мая 2011, 10:16
  • mzw

Добавляем spi

Уже пощупаны rtc, timer25, adc, dma, usart. Теперь потестим spi. Поскольку новая тестовая плата еще не готова, попробуем применить плату №0 с минимумом подключений. Итак, схема теста следующая: terminal PC -> usart1 stm32 -> DMA1 ch.5 stm32 -> spi1 stm32 -> 74HC164(8 leds) -> spi1 stm32 -> DMA ch.2 stm32 -> usart1 stm32 -> terminal PC. Да, прицепим к spi1 регистр, нагруженный светодиодами

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

Все pdf'ки на STM32 одной кучей

Вот, собрал все даташитики и аппноты на STM32 в 1 архивчик, и переименовал в более-менее читаемые названия, чтобы всё было под рукой. Юзайте.

pdf_STM32.zip (59,6 МБ)

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

А зачем мне понадобились STM32?


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

Особенности использования прерывания Half transfer при работе с DMA

Если обрабатывается большой массив данных например от АЦП, то удобно применить для этого прямой доступ к памяти(ПДП). С использованием ПДП данные складываются в массив и потом могут быть обработаны. Если необходим непрерывный сбор данных и их обработка, то сбор можно вести с использованием ПДП, а обрабатывать их в прерывании ПДП. Данные пишутся в буфер циклически. По заполнении данными больше половины буфера, выставляется Half Transfer Interrupt Flag (HTIFx), По заполнении всего буфера выставляется Transfer Complete Interrupt Flag (TCIFx). Прерывания генерируются по установке любого из этих флагов (если разрешены). В обработчике прерывания эти флаги могут быть прочитаны и выяснено, насколько заполнен буфер — наполовину или целиком. Если буфер заполнен наполовину — то обрабатывается первая половина буфера. Данные в это время пишутся во вторую половину. И наоборот. Таким образом можно осуществить непрерывную обработку данных.

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

Использование gcc для stm32f100

Примерно полгода назад я обзавелся самым мелким контроллером stm32f100c4. Здесь я хотел бы изложить свой опыт применения средств разработки gcc вживую, без графической оболочки. Описывается установка, создание проекта — использование Makefile, прошивка через UART, отладка через gdb на stm32vldiscovery, ну и самое главное — грабли

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