четверг, 28 апреля 2011 г.

32-битная "халява".


Многие фирмы сегодня рассылают бесплатные ознакомительные образцы своей продукции. Не остались в стороне и производители электроники. Продвигая свои новые разработки, они готовы делиться весьма серьезными вещами. Первой такой фирмой стала STMicroelectronics, рассылавшая плату STM32 Discovery. Делалось это под "соусом" конкурса разработчиков микроконтроллерных систем. Второй фирмой стала NXP. Изначально она также устраивала конкурс на лучший видеоролик уничтожения процессора от любого производителя. Но затем стала предлагать свой набор LPCXpresso без каких-либо условий.

После заказа LPCExpresso прошло порядка месяца. STM32 прислали через две недели. Сегодня с почты принесли два пакета от NXP. В первом лежала сама плата LPCXpresso, во втором только один микропроцессор LPC1102 в упаковке. Немного огорчили размеры последнего, так как поставить его для изучения в какое-либо устройство не представляется возможным - "домашних" технологий не хватит. Остается только использовать в качестве демонстрационного образца, маленького 32-разрядного микропроцесс
В принципе правильность такого шага – как рассылка бесплатных отладочных средств, пусть и самых простых и дешевых не вызывает сомнения. Возможность изучить продукцию и попробовать что-то создать самому является великолепным ходом поддержки будущих продаж. Лично я врядли бы в ближайшее время решился поробовать ARM-контроллеры, не будь подобных акций. Да и после получения удовольствия от разбирательства с STM32 Discovery, возникли мысли – а не забросить ли 8-ми битные системы. Сейчас буду пробовать LPC, а дальше посмотрим.

воскресенье, 10 апреля 2011 г.

Утро вечера мудрее или первый проект на ARM.

Проснуышись утром, почувствовал, что вчерашние впечатления от Atollic не совсем верны. За ночь мозг отдохнул и многие вещи встали на свои места.
Первое, о чем пришло осознание - в шаблонах проекта много лишней информации. Куча различных опрделителей позволяют использовать единый шаблон для разных устройств. Но в целом он вызывает отрицательное впечатление от сложной структуры. Убрал все лишнее и проблем не возникло.
Atollic TrueSTUDIO

Второе озарение связано с отладчиком. несколько неправильно к нему подходил, поэтому реальной работы не увидел. На самом деле все функционирует и процесс даже понравился.
Единственно что напрягает - постоянно выскакивающее окно, требующее обновить программу.
Окно отладчика
Следующим этапом стало создание первого проекта для ARM - микроконтроллера. Изучив исходные коды приложенных демонстрационных программ, написал свою, мигющую встроенными светодиодами. Использовал специальную библиотеку для STM32Discovery, поэтому пока напрямую к процессору не обращался. Задержка тоже реализована простым циклом. Дальше буду разбираться как все это сделать в командах процессора. Тем не менее плата STM32Discovery заработала и начала перемигиваться зеленым и синим светодидами.

Код первой программы для STM32Discovery:


#include <stddef.h>
#include "stm32f10x.h"
#include "STM32vldiscovery.h"
 static __IO uint32_t TimingDelay;
void Delay(uint32_t nTime);
int main(void)
{
STM32vldiscovery_LEDInit(LED3);
STM32vldiscovery_LEDInit(LED4);
STM32vldiscovery_PBInit(BUTTON_USER, BUTTON_MODE_GPIO);
STM32vldiscovery_LEDOff(LED3);
STM32vldiscovery_LEDOff(LED4);
while (1)
{
STM32vldiscovery_LEDOn(LED3);
STM32vldiscovery_LEDOff(LED4);
Delay(500000);
STM32vldiscovery_LEDOff(LED3);
STM32vldiscovery_LEDOn(LED4);
Delay(500000);
}
}
void Delay(uint32_t nTime)
{
TimingDelay = nTime;
while(TimingDelay != 0)
{
TimingDelay--;
}
}

суббота, 9 апреля 2011 г.

Первый запуск ARM проекта

Наконец-то решился запустить плату STM32 Discovery с ARM микроконтроллером. Под запуском понимается прошивка нового проекта. До этого плату только подключал кабелем к USB. В качестве среды разработки выбрал Atollic TrueStudio. Скачав ограниченную версию, установил на компьютер. Дальше пошли проблемы.
Без прочтения документации разобраться с ПО практически невозможно, во всяком случае новичку. Потыкавшись в кнопки Atollic, начал читать доки от STMicroelectronics. Самым первым стал файл UM0987 Developing your STM32VLDISCOVERY application using the Atollic TrueSTUDIO® software. В нем показано как настроить и запустить первый проект. Выполнив все действия, в итоге получил работающую программу. Решиться на создание собственного проекта, пока не смог. Испугала сложность структуры проекта, большое количество разнообразных файлов. Да и с языком С не очень пока дружу. Вполне возможно, что через какое-то время все эти "дебри" не будут представлять особой сложности. Кстати примерно так и было, когда начинал изучать 8-ми битные МК.
Сейчас пока есть желание попробовать другие среды разработки для ARM микроконтроллеров. Atollic  не понравился. Пусть у IAR или Keil есть ограничения на размер кода, думаю, для начала этого хватит. Да и поддерживают они не только STM32.