воскресенье, 23 декабря 2012 г.

Главный недостаток компилятора mikroC.

Компилятор mikroC для процессоров ARM представляет собой законченную среду программирования, поддерживающую большое число процессоров Stellaris и STM32. Простота установки и большое количество встроенных библиотек выделяют его из ряда подобных программ. Большим достоинством mikroC является поддержка STLink, что позволяет программировать такие платы как STM32 Discovery.
Но при всех достоинствах, mikroC не лишен недостатков. Главный из них не совместимость с библиотеками STMicroectronics. Это не позволяет использовать весь богатый арсенал готовых решений для STM32. Проблема заключается в том, что Mikroelektronika создала свое описание регистров, а прямое подключение стандартных CMSIS не возможно, по причине отсутствия некоторых определений. Конечно можно вручную переопределить все имена регистров, но это достаточно трудоемкая задача. Второй вариант - адаптация CMSIS, требует хороших знаний библиотеки. Попытка решить эту задачу в лоб не прошла.
В процессе подключения пока CMSIS были обнаружены следующие проблемы:
1. Отсутствие файла stdint.h, который можно найти в поставке какого-либо другого компилятора. После его записи в папку библиотеки проявилась следующая ошибка.
2. Не определенность константы _I. В microC определено только _IO и _О. Удаление данного типа привело к продолжению компиляции, но вылезли новые ошибки.
Далее пока нет сил разбираться и есть большое желание перейти на другой компилятор, что опять же не хорошо. Радует, что разработчики знают о проблеме и обещали выпустить новую версию компилятора до конца года. Правда год уже почти кончился, а результатов пока нет, хотя для других процессоров новые компиляторы появляются. В общем остается пытаться разбираться и ждать.

вторник, 18 декабря 2012 г.

Неудачи - путь вперед.

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

суббота, 15 декабря 2012 г.

STM32F4 Discovery


STM32F4 Discovery
В последнем заказе Farnell, кроме рассыпухи радиодеталей и нового паяльника приехали две платы STM32F4 Discovery. После появления в продукции STM этих изделий, желание получить возникло сразу. Но по разным причинам это сделать долго не удавалось. Пришедшие платы несколько удивили и разочаровали одновременно. Удивление вызвал в первую очередь увеличившийся, по сравнению с STM32VL Discovery размер. На рекламных фото это как-то не заметно. Разочарование постигло, когда мысли начали крутиться вокруг использования плат. Конечно посмотреть как работает аудио-обработка можно, но возможности процессора здесь попросту огромны. И главное что не хватает плате - дисплея. При этом в состав процессора входит и дисплейный интерфейс и интерфейс камеры. Разработчикам платы следовало бы вывести эти элементы на отдельные разъемы и цены бы набору не было.

Рассмотрение интернета показало несколько возможностей по увеличению возможностей Discovery. Первая была найдена опять же на Farnell, но на момент последнего заказа не доступна. Представляет она собой продукцию EMBEST в виде платы носителя с разъемами STM32F4DIS-BB, дисплея и камеры. В общем все то, что хочется. Но к сожалению в предварительном заказе были выставлены весьма невкусные цены. Все вместе зашкаливало далеко за 100$. Сам STM32F4DIS-BB есть в предварительном заказе по цене 28$ без доставки, что в принципе приемлемо, но поезд пока ушел.

STM32F4DIS-BB
Набор от Embest
Второй вариант нашелся на китайском сайте Aliexpress в виде конструктора Open407. По своей сути он представляет собой ту же плату носитель для Discovery, к которой создано свыше десятка модулей расширения, в том числе дисплей, камера, беспроводные модули и т.п. Китайцы предлагают все это как по отдельности, так и в виде набора. При этом полный набор включая плату STM32F4 Discovery стоит 130$. Единственный его недостаток - все потроха раскладываются "звездой" на столе, тогда как STM32F4DIS-BB позволяет собрать более компактную конструкцию, которая может потянуть на законченное устройство. 
Китайский набор Open407
Третий вариант - и пока по моему мнению - самый лучший - плата mikroMedia for STM32F4. Данная плата имеет точно такой же процессор как и STM32F4 Discovery, дисплей, аудиопроцессор, слот карты памяти, датчик движения. Также к ней предлагается множество модулей расширения. Стоит она 99$ без доставки. Единственное чего в ней пока нет - видеокамеры. Ну и Discovery к ней не прикрутить.
Сейчас заказан Open407 и несколько интересных плат к нему, включая камеру и дисплей. Все вместе с доставкой обошлось в 82$. Возможно что в январе месяце уже можно будет пробовать китайскую продукцию на вкус.
Кстати у китайцев есть аналогичные платы и для других вариантов Discovery. Также они предлагают собственные модели под процессоры STM и многие другие. Есть и еще несколько интересных устройств, купить которые - жаба душит, да и заниматься времени нет.

понедельник, 10 декабря 2012 г.

Посылка от Farnell

Пришла очередная посылка от Farnell. В общем-то ничего необычного кроме двух моментов. Первый - шло на удивление долго. С чем связано - сказать сложно. Одновременно ждал три посылки и все были задержаны. Одна вообще не дошла - вернули деньги. От Farnell  шла больше месяца, хотя ранее доходила дней за 10. Третья была задержана отправителем по неизвестным причинам и пока все еще в пути. Возможно проблемы связаны со снегопадом и проблемами в дороге на трассах. Но хотелось бы большей оперативности. Здесь в укор Farnell следует поставить отсутствие трек-номеров для отслеживания. Во всяком случае мне их не сообщают.
Второй момент - упаковка. В огромной коробке были положены три технологические кассеты для микроконтроллеров. При этом в каждой из них находились один или два процессора. Здоровенные пластмассовые "фиговины" придали весу практически на килограмм. К счастью у Farnell доставка в Россию имеет фиксированную стоимость, и повышенная масса никак не сказалась.
Технологическая кассета
Кассета и процессоры в ней

Да еще одно - посылка пришла поврежденной. Аккуратный надрез шел через одну из сторон коробки. Но все было на месте - возможно поигралась таможня.