Обновить
311
0
Николай Шлей @CodeRush

Firmware Security Engineer

Отправить сообщение
Я тоже не думал, пока не столкнулся. На самом деле, тривиально там все только на первый взгляд, ведь нужно правильно эмулировать целый ворох чипов разных производителей с разными же командами, эмулировать режимы DualSPI и QuadSPI, которые аппаратно не поддерживает почти никто, да и сама по себе поддержка базы эмулируемых чипов в актуальном состоянии стоит приличных денег. Думаю сделать в качестве упражнения на коленке эмулятор ровно одного чипа — одного из самых распространенных на десктопных платах Winbond W25Q64BV/128BV в SPI-only режиме, ибо даже такого хватало бы сейчас на 90% плат, с которыми приходится работать.
Забыл написать про производительность: Linpack — 15,5 MFLOPS, у RPi — 22,7. Могу проверить еще через openssl speed, если нужно.
Про 30 Мгц написано в даташите:
The device contains a low noise, wide bandwidth track-and-hold amplifier that can handle input frequencies in excess of 30 MHz.

Посоветуйте, что почитать по теме, может быть и сделаю что-нибудь простое в качестве упражнения.
Не углядел, что ADC напрямую подключен, теперь внимательно посмотрел в схему — это действительно так. В качестве ADC на плате выступает чип Analog Devices AD7298, подключенный по SPI.
Вот его характеристики:
12-bit SAR ADC
8 single-ended inputs
Channel sequencer functionality
Fast throughput of 1 MSPS
Analog input range: 0 V to 2.5 V
12-bit temperature-to-digital converter
Temperature sensor accuracy of ±1°C
Temperature range: −40°C to +125°C
Specified for VDD: 2.8 V to 3.6 V
Logic voltage VDRIVE: 1.65 V to 3.6 V
Power-down current: <10 μA
Internal 2.5 V reference
Internal power-on reset
High speed serial interface SPI

Я не очень знаком с темой SDR, поэтому сделать вывод из них не могу, но мне кажется, что даже 30 Мгц на прием FM-станций все равно не хватит.
У нее почти все выводы GPIO сделаны через I2C port expander, так что максимальная частота — 100 кГц, и задержка еще около 2-3 мс, так что SDR из нее если и получится, то совсем никакой.
Меня эта плата заинтересовала как платформа с открытым UEFI, а сама по себе она — первый блин, который комом. Совместимость с Arduino прикручена сбоку и реализована откровенно плохо, GPU в SoC встроить забыли, да и сам он ни производительностью, ни сверхнизким энергопотреблением не блещет, да и x86 там такой, что Windows все равно не грузится и 95% старого софта не работает. Посмотрим, что будет в следующем поколении, надеюсь, что Intel избавит его от совсем уж детских болезней.
Если руки дойдут, попробую написать несколько UEFI-драйверов на Rust, заодно проверю степень интеграции с C и напишу интеграцию со сборочной системой UDK2014.
На первый взгляд системного программиста на С — язык однозначно торт, остается попробовать его в реальных проектах.
Я пока настолько глубоко не копал, но на первый взгляд код MemoryInit тоже открыт (BSP/Quark_EDKII_v1.0.1/QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei).
Intel предлагает использовать Yocto для всех своих embedded-проектов, процесс его поддержки отлажен, и а пользователю не мешают устанавливать нужные ему «нормальные» дистрибутивы, было бы желание. Просто над Yocto у Intel контроля больше, чем над, скажем, Debian, вот и все.
Я, кстати, очень рад, что эту платформу выпустили на урезаном Atom, а не на разогнанном Quark — у Atom'ов все в порядке и с многопоточностью и с совместимостью с x86, а то на нынешних Quark'ах без патчей компилятора или собранных бинарей большая часть приложений просто сегфолтится при попытке исполнить код с префиксом lock, и сделать с этим Intel пока ничего не может, а без этого установка Debian на Galileo превращается в прогулку по граблям, ибо внезапное обновление патченного eglibc может сломать половину системы.
Более того, этот же вендор потом решает, собирать и выкладывать остальные пакеты, которые есть у него в BSP (чтобы потом можно было доустановить их через opkg install xxx), или нет. И если вдруг решил не выкладывать ни исходники BSP, ни пакеты для обновления — собранный образ yocto получается ничем не лучше какой-нибудь пропретарной прошивки для SOHO-роутера.
Yocto, как говорят сами авторы проекта, is not an embedded Linux distribution – it creates a custom one for you.
Пока не кину, прошу искреннего пардону. Если WR не выложили, значит описание пока еще под NDA.
Зато могу расказать, как там это практически бесполезное ядро Quark на 100 Мгц оказалось внутри SoC — у нормальных Atom на нем выполянется Trusted Execution Engine, который является аналогом Management Engine с уменьшенной функциональностью и использует ядро Quark и неизвестную мне ОС (бьюсь об заклад, что это WR VxWorks), в то время как ME использует лицензированное у Synopsys ядро ARC4 и работает под управлением ThreadX RTOS. В результате для Edison процессор почикали, и ядро Quark осталось без работы, и ее теперь нужно срочно придумать, для чего спешно пилится «ViperOS», о которой потому никаких сведений в открытом доступе и нет.
А теперь все тоже самое, только на этот раз точнее:
1. Никаких вариантов нет, плата выпущена на обрезанном SoC с кодовым именем «Tangier», который является обрезанным Atom Z34xx, у котороего есть основной 2х -ядерный CPU Atom (Silvermont) @ 500 Мгц и «пока еще неиспользуемое» ядро Quark @ 100 Мгц (которое, добавлю, в необрезанных процессорах используется под TXT).
2. Неизвестная RTOS — это ViperOS, обезанная VxWorks от Wind River.
Чаще всего контролер GPIO находится на шине APB, которая тактуется у разных SoC по разному, но высоких частот там обычно нет, максимум — 66 или 100 Мгц, конкретно для GPIO больше 50 Мгц я не видел нигде, кроме дорогих FPGA.
На работы мы, благодаря приверженности решениям, «прошедшим проверку временем», до сих пользуемся PVCS, древнее которой только мамонты (первый релиз был в 1985 году, на год раньше CVS). Используется система потому, что она одновременно и простая в обслуживании, и тесно интегрирована с IDE (AMI Visual eBIOS 4). Как только AMI наконец добавят интеграцию с Git в VeB 5 — тут же на него и перейдем, но и выбросить PVCS не получится, пока последний проект на базе Aptio 4 не получит статус EOL, т.е. еще минимум лет 5-7. Вот такой вот энтерпрайз, позавчерашние технологии уже сегодня.
КОГДА МЕНЮ ОРЕТ НА ПОЛЬЗОВАТЕЛЯ — ЭТО ВЫГЛЯДИТ УЖАСНО.
Прошу прощения за повышение шрифта на ни в чем не повинного читателя, просто продемонстрировал, насколько оно «неплохо».
Нужны не obj-файлы билиотеки, а obj-файлы, собранные из вашего проприетарного кода, чтобы можно было собрать себе версию вашего приложения со своей версией библиотеки.
LGPL не требует выкладывания исходников слинкованного статически кода, зато требует предоставления пользователю возможности самостоятельной линковки со статическими библиотеками под LGPL. Распространяйте в архиве с приложением ваши obj-файлы и краткий readme по самостоятельной линковке (необязательно, но большой плюс в карму) и лицензия вам не страшна.
Добавлю еще, что согласно вот этому документу, продукт получил статус «obsolete» ранее 21 июля 2009 года (дата последней модификации документа, надпись «Obsolote Product(s)» присутствует на каждой странице), а сайт st.com с 2011 года уже несколько раз обновлялся практически полностью (можно сравнить снапшоты Internet Wayback Macnine), поэтому не удивительно, что информация о давно устаревших продуктах на новых версиях сайта отсутствует.
Оценивайте, ваше право никто не отнимает.
Сайт ST, скорее всего, ведется автоматизированной системой Product Lifecycle Management, и когда устаревшие продукты переезжают в архив, вся информация о них удаляется с сайта автоматически.
Я не говорю, что это хорошо, лишь пытаюсь сказать, что претензии такого рода, по моему мнению, не обоснованны.
Давайте по пунктам:
1. «Информация о старых микросхемах выпилена». 2 года после EOL — достаточный срок для ее выпиливания, никто не обещал поддерживать продукты вечно.
2. «Вся серия DSM брошена, на замену ничего не предполагается». Серия, судя по тому же документу, продавалась плохо. Какой смысл ее продолжать, если даже затраты на НИОКР могут не окупиться?
3. «Служба поддержки молчит». Договор о технической поддержке у вас с ST заключен? Если нет, то рассчитывать на моментальный ответ бесплатной технической поддержки для всех — неразумно.

Поймите, ST — это не богадельня, а коммерческая компания, которая работает ради прибыли и стремится снижать издержки. И если завтра серия STM32 станет вдруг убыточной — выкинут и её, вместе с сайтом, документацией и ответами на вопросы к тех. поддержке.
Внезапно нагуглился вот такой документ, в котором написано, что поставки микросхем этой серии полностью прерваны в 2012 году вследствие низких продаж.
Не нужно обвинять ST в том, что они вас не проинформировали, т.к. судя по этому же документу, информация о прекращении поставок была доведена до клиентов еще 25 ноября 2010 года, а сам документ от 12 января того же года.
Проворонили слегка, вот и все.

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность

Специализация

Embedded Software Engineer, System Software Engineer
Lead