Olimex STM32-P407 Печать
Добавил(а) microsin   

Платка STM32-P407 была куплена напрямую у Olimex, с целью подробного изучения платформы STM32F407 (на плате установлен микроконтроллер STM32F407ZGT6). Платка не только имеет роскошную документацию, подробную принципиальную схему, для неё также есть отличные примеры кода, демонстрирующие возможности различной установленной на плате аппаратуры.

Плата STM32-P407 с двухсторонним монтажом, выполнена очень качественно. Все коннекторы, кнопки, перемычки, светодиоды подробно документированы шелкографией. Имеется даже макетное поле, на котором можно соорудить свою конструкцию.

STM32-P407-IMG 2659 STM32-P407-IMG 2666

[Питание платы STM32-P407]

Я подключился через коннектор USB_OTG обыкновенным стандартным шнуром miniUSB, при этом перемычку PWR_SEL надо переставить в положение замыкания контактов 7-8. В плату по умолчанию был прошит пример, работающий с видеокамерой (Camera, см. ниже описание примеров кода Olimex), и он сразу запустился. На экране индикатора появилась картинка, которую выдавала видеокамера. Качество картинки было никакое, еле-еле угадывались очертания объектов, попавших в глазок камеры. При этом перемигивались разноцветными огоньками светодиоды STAT1..STAT3, а STAT4 постоянно горел зеленым.

[Чем отлаживаться - JTAG, SWD]

В руководстве пользователя [1] написано, что с платой STM32-P407 будут работать следующие аппаратные отладчики:

- Программатор/отладчик ARM-JTAG-COOCOX, поддерживаются интерфейсы JTAG и SWD, и отладка работает под управлением сред программирования CooCox IDE, Keil uVision и IAR EW с помощью плагина.
- Любой отладчик/программатор ARM-JTAG от Olimex (см. примечания к предыдущему пункту).
- Любой отладчик/программатор ARM-JTAG от Olimex + ARM-JTAG-SWD + Rowley CrossWorks.

Примеры, которые можно скачать с сайта Olimex, отлично работают с китайским J-Link [2] под управлением IAR 6.50. Можно загрузить программу в память микроконтроллера STM32F407ZGT6, выполнять её по шагам исходного кода на C, дизассемблированных инструкций, ставить точки останова, просматривать значения регистров и переменных, запустить выполнение программы на полной скорости - имеется полный набор стандартных функций, предусмотренных для отладки.

[Примеры, которые предоставляет Olimex для платы STM32-P407]

Примеры изначально заточены на IAR 6.50, отладчик J-Link и процессор STM32F207, но их можно запустить и на процессоре STM32F407ZGT6.

Название Описание
Audio Работа со звуковым трактом.
Camera Этот пример по умолчанию записан в плату STM32-P407, наверное как самый наглядный. Пример работает с видеокамерой и экраном LCD. На экране индикатора LCD при включении питания появляется картинка, которую выдает видеокамера. Качество картинки было никакое, еле-еле угадывались очертания объектов, попавших в глазок камеры. При этом перемигивались разноцветными огоньками светодиоды STAT1..STAT3, а STAT4 постоянно горел зеленым.
Ethernet Работа с сетью.
SDcard Работа с флеш-карточкой SD (на плате STM32-P407 установлен слот для карт microSD).
USB_mouse Демонстрация работы в качестве периферийного устройства USB.

[Примеры от IAR 6.50]

К сожалению, IAR 5.4 не поддерживает STM32F207 и STM32F407. Поэтому если у Вас Windows XP, то придется установить сначала Windows 7 (или Windows 8), и потом IAR 6.50 (дело в том, что IAR 6.50 не поддерживает Windows XP). Примеров очень много, но я не нашел работу с USB.

Примеры от IAR/STM можно открыть со стартового экрана IAR, если пройти по ссылкам EXAMPLE PROJECTS -> ST -> STM32F4xx. Далее можно пройти по ссылкам IAR-STM32F407ZG-SK или CMSIS and STM32F4xx stdperiph lib 1.1.0.

Таблица 1. Примеры для фирменной платы разработчика IAR-STM32F407ZG-SK.

Название Описание
Accelerometer Базовое использования сенсора ускорения, установленного на плате.
Buzzer Генерация звука с использованием пищалки.
LCD Базовое использование I/O, таймера, контроллера прерываний и LCD.
DSP Lib Как использовать библиотеку цифровой обработки сигналов.
Temperature Sensor Demo Показывает базовое использование сенсора температуры, установленного на плате.
Test Demo Демонстрационное программное обеспечение для платы разработчика IAR STM32F407ZG-SK.
lwIP Webserver Demo Демонстрация работы web-сервера с использованием библиотеки lwIP v1.3.2 для организации стека TCP/IP.

Таблица 2. Примеры CMSIS и STM32F4xx stdperiph lib 1.1.0.

Название Описание
DSP Lib Демонстрация использования библиотеки цифровой обработки сигналов.
ADC Работа с АЦП.
CAN Работа с шиной CAN.
CortexM CortexM (?).
CRC Вычисление контрольной суммы.
CRYP Использование периферии CRYPTO для шифрования и дешифровки данных.
DAC Краткое описание использования периферии ЦАП для генерации сигналов, с применением контроллера DMA.
DCMI Демонстрация использование Digital Camera Interface (DCMI) для управления модулем камеры OV9655/OV2640.
DMA Как использовать канал прямого доступа к памяти для передачи буфера данных в формате слова из памяти FLASH во встроенную память SRAM.
EXTI Пример конфигурирования линий внешнего прерывания.
FLASH Пример самопрограммирования памяти FLASH STM32F4xx, как включать и отменять защиту от записи.
FSMC Как конфигурировать и использовать Flexible Static Memory Controller (FSMC).
GPIO Как работать с ножками микроконтроллера (GPIO) и переключать их логический уровень, используя регистры BSRRH и BSRRL. Как использовать выводы JTAG/SWD как стандартные ножки портов GPIO. См. также [3].
HASH Как использовать периферию HASH для вычисление хеша.
I2C Как использовать библиотеку работу с аппаратурой I2C. Этот популярный интерфейс (иногда называется TWI, Two Wire Interface) используется для подключения стандартной клавиатуры PS/2, в качестве внутренней шины обмена данными в телевизорах и другой бытовой технике.
I2S Демонстрация базового обмена аудиоданными в режиме полного дуплекса, с применением метода опроса (polling).
IWDG Как обновлять период срабатывания независимого сторожевого таймера (Independent Watchdog, IWDG).
Lib_DEBUG Как декларировать динамические указатели на периферию, используемые в режиме отладки.
NVIC Использование контроллера вложенных векторных прерываний (Nested Vectored Interrupt Controller, NVIC).
PWR Как конфигурировать системные режимы пониженного энергопотребления STM32F4xx (Low Power modes), использовать PVD и BOR, измерять текущее энергопотребление.
RCC Как использовать в целях отладки функцию RCC_GetClocksFreq, чтобы получить текущее состояние и частоты чипа в разных режимах тактирования.
RNG Короткий пример с описанием использования периферии генератора случайных чисел RNG для генерации случайных 32-битных чисел.
RTC Краткое описание использования периферии счетчика реального времени RTC, а также периферии LSI и Backup Domain.
STDIO Базовый пример использования библиотеки стандартного ввода/вывода.
SPI Демонстрация обмена через SPI с чипом STM32.
SysTick Как конфигурировать системный счетчик времени (System tick timer).
TIM Работа с таймером.
USART Примеры работы с последовательным интерфейсом.
WWDG Как обновлять период срабатывания оконного сторожевого таймера (Windowed Watchdog, WWDG).
Template Предварительно сконфигурированный файл проекта с предоставленной структурой библиотеки STM.

[Ссылки]

1. 140808STM32F407.zip - документация по микроконтроллерам STM32F40x/41x, по плате Olimex STM32-P407, схема, примеры кода.
2. JLINK Emulator V8 site:ebay.com.
3. STM32F407: быстрый старт.