Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
neo333 писал(а):
Выходит, сколько нибудь приличный видео-контроллер из STM32 не сделать
Что-то ты очень много хочешь от STM32... Вроде на базе CortexM4F пока только у NXP LPC43xx есть поддержка RGB панели. Сегодня еще и Infineon разродилась своим CortexM4F, я пока еще не смотрел, как у него. Если у чипа только FSMC, то нужен контроллер.
neo333 писал(а):
Что за контроллер Epson? Посмотрел на сайте Epson, там не нашел чипов с поддержкой VGA и HDMI
Тута они. Можно купить на маузере. Я и не говорил, что те чипы с поддержкой VGA и HDMI. Для поддержки D-Sub у меня ЦАП от Cadeka 3404, под HDMI стандартная TPF410 (ее надо будет еддидить по I2C).
Увидел там ATxmega256A3BU решил заказать вместе с STM32F4DISCOVERY. Но чето не разберусь с доставкой. Еще из-за бугра ничего не таскал. 120/50$ что то многовато, если есть другие варианты подскажи плиз.
Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
max0000000 писал(а):
Еще из-за бугра ничего не таскал
Бугор у каждого свой. Для конкретного бугра: http://eu.mouser.com/EstimateShipping/EstimateShipping.aspx Для Европы при заказе от 75 евро (это для Старой Европы, 150 - для новой) Fedex бесплатный. Россия под бесплатную раздачу не попадает, зато для нее UPS дешевле, чем для новой Европы. Не надо забывать, что каталожный ценник показан без ндс (хотя это смотря куда тащить).
Если деревня назначения более-менее крупная, наверняка в ней есть конторки, которые аккумулируют заказы и за долю малую (20-30% от каталога) работают с мелкими заказиками и рассылают в мелкие деревни, поискать их надо для своего региона.
Нашел STM32F4DISCOVERY и ATxmega256A3BU в Москве по 818р и 654р соответственно на http://www.electronshik.ru/. Только на xmegу сроки поставки уточняют, а DISCOVERY как я понял есть на складе.
Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
Потратил три недели на изучение формата JPEG. Как-то давно запало в памяти высказывание (ЕМНИП независимой группы jpeg), что-то типа "Если вы считаете, что разобрались с пониманием формата JPEG, это означает, что вы еще далеки от настоящего понимания его возможностей". В общих чертах теоретию JPEG я понимал, но вот в детали не вникал. С появлением в моем хозяйстве STM32F4 возможность декодирования этого формата уже не представляется бессмыссленной затеей. Разумеется, речь идет не о работе в среде готовых OC, для которых уже существуют отлаженные библиотеки.
Странно, что в открытом доступе JPEG-декодера для работы с армами без ОС не нашлось, может, просто плохо искал. Платных - навалом, включая и для Cortex-M3. Поэтому скачал рекомендации T.81 комитета CCITT (что в просторечье есть стандарт JPEG) и на C# написал декодер базового режима по принципу "что вижу, о том пою". Скорость декодирования (PC Core2, 2.66) в один поток (а алгоритм можно хорошо распараллелить) 500 тысяч пикселов (24 bpp) в секунду, с учетом конвертации в формат BMP, медленно, конечно, но работает. Понимается большинство файлов, но попадаются, которые не дешифрируются, вероятно, сделанные в каких-то продвинутых редакторах. Так как планировалось портирование на embedded, то до начала непосредственно данных изображения(т.е. кодов Хаффмана), необходимо получить сегмент SOF с данными о размере файла и т.д., хотя стандарт разрешает размещать его и после, что для PC фиолетово, так как буфер может быть любого размера. Для MCU была поставлена задача обойтись наименьшим размером памяти, поэтому такие файлы не декодируются (пока, так как технически это можно решить). Кроме того, не дешифрируются (пока) файлы с использованием DRI (у меня всего один такой файл нашелся). С другой стороны, пересохранение капризных файлов через Paint.Net делает все файлы читаемыми.
Порт на STM32F4 пока делался безотносительно к типу процессора и DSP, т.е. код будет работать и на AVR. Требуется всего примерно 3 килобайта RAM в пике (плюс-минус пара сотен байт в зависимости от размера таблиц, память выделяется динамически). Плюс буфер для файловой системы. Для FATFS и STM32F4 размер буфера абсолютно не критичен для быстродействия, выше 512 байт скорость IO не растет. Идет подкачка в буфер по мере надобности, а для чтения из памяти буфер не нужен. То есть, фактически возможно декодирование на MCU c RAM в 4КБ.
Сейчас сделаю перерыв на изготовление печатных плат, а то уже почти полгода как застрял, а после причешу код и подключу к процессу декодирования CCM и DSP.
Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
Никак не могу заставить себя заняться нудятиной по трассировке плат Попробовал SIMD инструкции Cortex-M4 на своем STM32F4 JPEG Decoder. Получение компоненты Y, Cr или Cb теперь стало выглядеть более элегантно. Обратное косинусное преобразование, дезигзагирование, центровка и проверка насыщения сводятся теперь к очень простому виду, вот как сейчас у меня выглядит функция получения в массив 8х8 (outArray) итоговой компоненты:
Встроенный в CMSIS враппер __SMUAD(...) выполнят попарное умножение и сложение двух половин от 4-х байтного uint (половины трактуются как знаковые short), что требует выполнение только 32-х таких инструкций вместо 64-х при (при соответствующих пойнтерах на шорт у входного массива (64 int) и массива коэффициентов(4K int))
Код:
s+= *ptr++**ptr_in++;
И хотя последний вариант в ассемблерных кодах немножечко короче, за счет уменьшения общего числа операций небольшой, но выигрыш. Можно, конечно, заинлайнить и внутренний цикл развернуть, но это не сильно ускорит. __USAT16 отлично подходит для контроля попадания в беззнаковый байт у шорта.
Оптимизированный вариант уже подойдет и для видеодекодера.
Сейчас пока не могу придумать, как лучше оптимизировать табличные поиски, ничего умного пока в голову не лезет. Визуально полноэкранное 320х240 декодирование и вывод по SPI на LCD стандартных jpeg-файлов (качество 30-50, размер около 10 КБ) с SD карты пока проигрывает в скорости чтению и выводу на экран стандартных 24bpp bmp-файлов порядка 30-40% (что вполне естетственно, bmp декодер почти ничего и не декодирует, правда и размер у bmp-файла 225 КБ).
По большому счету, на этом можно с JPEG и остановиться. Может, PNG попробую, хотя там в 4КБ RAM не уложиться, надо минимум 40КБ.
Все картинки - формата JPEG, за исключением собора, он для сравнения в bmp. Все файлы на SPI SD карте, за исключением гусеницы - она во флэш-памяти МК. IO буфер для работы с FATFS - 512 байт STM32F4 работает на частоте 216 МГц, дисплей 320x240. DMA в примере не используется (а это серьезно увеличит скорость), при декодировании BMP буфер вывода на LCD размером в одну строку, у JPEG - 16 строк.
Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
Попробовал у декодера основную таблицу коэффициентов (4К) перенести из флэш в CCM. Это дает прирост всего примерно в 2%, так как данные во флэше линейно расположены и шина 128 бит, что обеспечивает 0WS, хотя и пара процентов тоже на дороге не валяются. Хотя если перенести стек в CCM, то быстрее становится уже на 25%. Но все равно я на чистом С больше не вижу вариантов, как декодировать быстрее, чем за полсекунды на разрешении 240х320 точек, при последовательном алгоритме. По мелочи можно много улучшить, например, самый оптимальный вариант приведенной выше функции GetDecodedComponent выглядит так:
Причем, если разворачивать внутренний цикл с другими параметрами (скажем, 2 раза по 16, или 8 раз по 4), то будет медленнее. Нужно переходить на ассемблер и разворачивать структуры в CCM, ширее использовать DSP-инструкции. А то уж как-то радикально быстрее бенчмарки других DSP-процессоров (в т.ч. виртуальных) на сопоставимых частотах.
Но можно взять и готовый аппаратный jpeg кодек, я добил сегодня маузеровцев, а то они его выставили как FCBGA-161, да еще при переписке настаивали, что он именно такой, хотя по даташиту обозначение было, как у QFP. Теперь они признались, что не правы были. FCBGA-161 на двухслойке тяжело исполнить (надо делать меньшие площадки под шарики и проводники 0.1мм). Поэтому все ближе час, когда я наконец-то займусь бордой под STM32F4. К тому же как раз получил для нее PSRAMки 128 Mbit, 104 MHz (но в рандомном асинхроне 70нс, а страничный доступ 20нс). А то я платы без элементной базы на руках не делаю. Поэтому уже скопилась куча разных МК, которые так навсегда и останутся в коробке .
Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
Сегодня вышла новая версия AVR Studio 5.1. Странно, что она ставится не как апгрейд, а только отдельно, параллельно могут работать обе версии. Новый тулчейн, добавлена возможность работы на плюсах и импорт С++ проектов из AVR32, фиксинг багов, поддержка новых МК и т.д. В списке поддерживаемых процессоров можно увидеть ряд еще неанонсированных, вроде XMEGA128A1U. Странно, что Atmega8 не попал в список поддерживаемых отладчиком Dragon (вероятно, описка). Но по-прежнему дракону не дали самые маленькие шестиногие Tiny, хотя ISP их и программирует. Ну да не очень то и хотелось, разве что для прикола, а можно и свой прогер написать, если заняться нечем.
Жаль, под арм они свой дармовой тулчейн не делают.
...Да, и пока запустил отладку в симуляторе - чуть не забросил Кейла, без магических настроек ini-файла под STM32F407VG, отладчик сыпал ошибки - день убил на выяснение, что не так...
Та же проблема . Будь добр подскажи настройки ini-файла.
Решился тут на покупку Open Logic Sniffer после прочтения вашей статьи, 50 баксов вроде сумма не ахти какая. Пару дней назад получил его в руки и что то он у меня странно себя ведет, то работает без проблем, то вдруг сам отключается потом снова появляется в системе, но программа его уже не видит, пока либо компьютер не перезапустишь либо раз двадцать сброс на плате не нажмешь и клиент столько же не перезапустишь... Хотел было прошивку обновить, но прошивальщик плату не видит, не читает и не пишет, хотя пид и вид вроде правильные.
Ваш как работает, это просто мне удачный экземпляр попался)?
Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
avco Вообще-то глюки случаются, но не так, чтобы уж совсем невозможно работать. Проблема с драйверами и видимостью может зависить и от ОС/компа/подсоединения. Попробуйте подключть к другому USB-разъему на матери, кабель покороче, если не поможет, то проверить его с отдельным питанием.
Я прошивку не менял, клиент от http://www.lxtreme.nl/ols/. Глюков в клиенте тоже хватает, но автор на мыло отвечает, у него есть и родмап по проекту. В январе вышла новая версия 0.95, но я пока ее не смотрел.
Пробовал с разными компьютерами, у меня их много), кабели тоже разные были, история одна и та же. Работать можно, но в какое то время может произойти "затык". Самое неинтересное, что он никак до поры до времени не виден, и если стоит триггер то непонятно, то ли события нет, то ли сниффер "ушел". Выяснить это получается только если попытаться его перезапустить, или просто сбросить - тогда вылазит окно с ошибкой. Попробую ваш клиент, у меня сейчас Jawis-OLS...
Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
SiLabs (нравится мне эта компания своими мелкими чипами - радио, датчики, вч и т.д.) сегодня анонсировала свои 80 МГц Cortex-M3 серии Precision32. Позиционирует их как самые энергоэффективные, из интересного - для USB FS не требуется кварц, шесть сильноточных выходов (300мА), 16 тачсенсорных каналов, плюс стандартный набор интерфейсов. И бесплатная эклипсная среда разработки (похоже, адаптированная кодередовская), с широким набором визуального программирования. Емнип, Cyan со своими МК был в этом одним из первых. Решил скачать и посмотреть, инсталлятор странный, восемь шагов, но для перехода к следующему нужно щелкать кнопку. Дальше 7 шага (создание ссылок) установка не пошла, к восьмому шагу так и не перешло.
Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
Сегодня анонсирован Raspberry B - 700Мгц ARM11 компьютер размером с визитку по цене Arduino (35$), 256МБ памяти, SD, HDMI, RCA-выход видео, USB, в комплекте донгл на беспроводную клаву и мышь и сама мышь, кажет Full HD видео. Оф сайт говорит, что наплыв такой, что он загибается, равно как и сайты распространителей (Farnell). Я на Farnell успел посмотреть, появятся они в течние месяца. Не знаю, по этой ли причине, но его сайт уже встал. На самом деле, классная штучка, обязательно куплю при случае.
Сегодня анонсирован Raspberry B - 700Мгц ARM11 компьютер размером с визитку по цене Arduino (35$)
Спосибо за инфу. А то тут друган прикупил ноут с intel core i5 за 27р. так тормоза еще круче стали. Если с доставкой проблем не будет, то тож освою до 60$, чтоб отомстить. А с одной ATxmega256A3BU меня кинули с растройства и STM32F4DISCOVERY заказывать не стал.
Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
Цитирую сам себя от 18.02:
zauropod писал(а):
Жаль, под арм они свой дармовой тулчейн не делают.
Не прошло и двух недель, как таки сделали!
Вышла бета версия Atmel Studio 6.0, которая содержит все то, что уже было в AVR Studio 5.1 и плюс добавлены все атмеловские ARM из серии Cortex, включая последние Cortex-M4. Интеграция плавная, все в одном флаконе. Правда, пока еще симулятор под ARM не сделан, но это вопрос времени. Естественно, для армов нужен дебаггер SAM-ICE, но их есть у меня. Порадовали атмеловцы. Хотя последние кортексы у них побледнее, чем у конкурентов, но полноценная бесплатная среда разработки - это просто здорово.
К слову, CooCox объявила, что поддержка STM32F4 появится в середине текущего месяца. Я пока их тулчейн вообще не щупал, будем посмотреть, что это за зверь.
Спасибо за интересный дневник. Видимо в связи с переездом на новый дизайн персональных страниц перестали работать ссылки на ваши статьи. Не могли бы направить в новое русло? Очень бы хотелось их почитать.
Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
maxxTech В связи с переездом на новый формат ПС: 1) напрочь исчезло ощущение уютного места (ПС), где хотелось бы иногда бывать и что-то там из своих материалов размещать 2) у меня пропал доступ к своей странице, а многие материалы есть только там, так как конечная верстка и многочисленные правки делались непосредственно на ПС
В принципе, я уже больше года плачу за хостинг (без ограничений на число доменов, трафик и т.д), но пока так руки и не дошли , хотя фтп для размещения своих писулек не требует особых затрат.
"Радостные" новости от Atollic - версия Lite для STM32 прекращает существование, вводится 3.0 Lite for ARM для всех ARM, с ограничением по коду в 32К. Прощай, Atollic! Хотя, если смотреть по уже давно исчезнувшему Lite for AT91SAM3, который по-прежнему работает, уже установленные версии продолжат работу, но не будет обновлений.
Кстати, у Atollic обнаружилась еще одна неприятнось - впервые за пару лет пропадал инет, так он в оффлайне не работает! За нами следят! Хотя и не только они...
Тем не менее моя гора рождает очередную мышь - почти завершил разводку своей платы на STM32F4. На плату будут установлены SRAM (с расширением до 64MB, хотя это экономический нонсенс), NAND 16Gb, Ethernet, Wi-Fi, ZigBee, 2 слота под микро SD, слот под камеру и сенсоры, RS-232, IRDA, FM радио, стереокодек I2S+аналоговые входы, HS USB OTG, FS USB OTG и т.д. Стоит видеоконтроллер с 16MB видеопамяти, видео DAC c выходом на RGB D-Sub и компонентное видео), предусмотрена установка сменных плат под различные разъемы LCD-панелей, HDMI encoder etc.
Надеюсь, в конце этого - начале следующего месяца платы будут уже на руках.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения