Плата №0

В те давние-предавние, ветхие времена, когда народ занимался своими приземленными делами, Великий Гуру указал народу новые пути — на столько же светлые, как и загадочные. Скромный подмастерье, в меру сил своих, внимал каждому слову Великих и искал свой путь, дабы обрести покой души и сладкую радость от содеянного. И вот уже маленькие трудолюбивые гномы, через хитрых бояр, взялись изготовить подмастерью невиданные доселе чудо-штуковины. За несколько невзрачных зелёных фантов хитрые бояре доставили подмастерью чудеса трудолюбивых гномов, и подмастерье зделал первые шаги к неизведанному. Но закончились у подмастерья невзрачные зеленые фантики, а с ними, как известно, заканчивается и сказка.

Читать дальше
  • +4
  • 23 апреля 2011, 13:30
  • psv
  • 1

Затарился (update)

Пришла сегодня посылка с ништяками. SK-MLPC1768 и SK-MSTM32F107.






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

Погружаемся

Вчера придумал себе такую задачу, чтобы меньше работы с макеткой. Итак, периодически заставляем DMA пересылать два байта с ADC, настроенного на датчик температуры, в USART. Итого: один проводок от макетки к преобразователю уровня на RS232 (+ земля, конечно).

Читать дальше
  • +2
  • 17 апреля 2011, 14:53
  • psv
  • 1

Разгоняемся

Пробуем HSE * PLL на 72MHz (как завещал нам великий мануал) и немного похулиганим. Вобщем, алгоритм следующий:
1 мигаем 10 раз светодиодом на HSI
2 мигаем 20 раз на HSE*PLL9
3 мигаем 10 раз на HSE
4 мигаем 1000 раз на HSE*PLL16
где HSE=8MHz

Читать дальше
  • +2
  • 13 апреля 2011, 12:10
  • psv

Вместо светодиода (часы)

Разрабатывая это простое устройство, мы пощупаем кое-что из периферии и освоим принципы доступа к ней. Итак, что мы берем для часов. Естественно, rtc, который считает только секунды.

Читать дальше
  • +2
  • 10 апреля 2011, 23:16
  • psv

STM32VLDISCOVERY+mbed NXP LPC1768+RTOS+KEIL



Начало.

Среда разработки: MDK ARM 4.14 + RL-ARM 4.12

Голый проект:

STM32
#include "stm32f10x.h"

int main (void)
{
   return 0;
}


В папку с проектом кладем:
C:\\Keil\\ARM\\INC\\ST\\STM32F10x\\stm32f10x.h (в файле разкоменчиваем одну из строк с 50 по 57)
C:\\Keil\\ARM\\Startup\\ST\\STM32F10x.s

Это пустышка достаточная для начала создания ЛЮБОЙ программы, все что нужно еще, это reference manual.

LPC1768
#include "LPC17xx.h"

int main (void)
{
   return 0;
}


В папку с проектом кладем:
C:\\Keil\\ARM\\Startup\\NXP\\LPC17xx\\startup_LPC17xx.s
C:\\Keil\\ARM\INC\NXP\\LPC17xx\\LPC17xx.h

Опять же пустышка для любой фантазии.



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

Вместо первой программы

Светодиодом мигать не будем. Нет у нас ни светика, ни портов. Голое ядро. Окунемся т.с. в чистый асм, чтобы проняться духом его. А что ближе к ядру? Правильно — ось.

Читать дальше
  • +4
  • 30 марта 2011, 13:54
  • psv

Записки "маньяка" или почему асм

Асм для stm32? Все сразу кричат — МАНЬЯК!!! Давайте разберемся. Асм для AVR — не маньяк. Но сразу поправляют — для быстрых фрагментов и не больших программ. Почему не больших? И где критерий большая программа или нет. Ведь на асме и не большая может весить десятки страниц. А большая под С вроде как и не очень для асма (по коду). Сложность восприятия асм текста? Так документировать и разбивать на блоки, файлы, драйвера никто не запрещает. Да и пишется много чего на макросах, что уже и на С смахивает. Возможность использовать чужие наработки, библиотеки. Тут да, облом. На асме и свои то наработки часто переделывать приходиться для разных avrок.

Читать дальше
  • +4
  • 29 марта 2011, 23:08
  • psv
  • 1

Воспроизведение звука на STM32-Discovery при помощи Speex

Многие уже воспользовались известным конкурсом, и заказали себе плату STM32-Discovery. Я тоже заказал себе такую. Захотелось сделать на ее основе какую либо конструкцию. Меня заинтересовал AN2812 от ST, в котором описывалось воспроизведение звука с использованием библиотеки Speex для STM32. Однако недостатком аппноута было то, что в нем использовалась stm32f103, более мощная чем stm32f100, установленная в discovery. Также аппноут рассчитан на работу с более сложной отладочной платой. Поскольку я только начинал изучать STM32 (это мой первый проект, до этого я только светодиодом мигал), я решил не пытаться запустить код аппноута, а собрать весь проект с нуля. Проект был создан в IAR.
Вид получившейся конструкции:




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