Наша компания, Synchromesh Computing, имеет богатый опыт работы с SDK (комплектами разработчика ПО) и оценочными комплектами. Первое время мы строили свой бизнес на контрольных тестах и анализе производительности, а потом занялись также разработкой ПО и консультациями. Мы использовали сотни SDK и эталонных платформ. Это позволило нам понять, что должно входить в полноценное и жизнеспособное предложение:
- средства разработки для создания высококачественного и полностью работоспособного кода;
- оценочные комплекты (работающие платы, гербер-файлы, документация), простые для установки и содержащие все нужные компоненты;
- эталонные образцы, представляющие собой комплексные решения (включающие готовое к работе ПО), которые могут быть очень быстро выведены на рынок изготовителями изделий по оригинальным проектам (ODM) либо легко интегрированы или растиражированы провайдером систем в собственном проекте;
- рыночно-ориентированные программные платформы, включающие компоненты (аппаратуру и ПО) для конкретных приложений;
- надежная экосистема сторонних производителей для ОС, средств разработки ПО, промежуточного ПО и технической поддержки;
- сервисы по разработке ПО для предоставления консультаций и помощи в проектировании.
Все эти элементы необходимо оценить с точки зрения функциональности, производительности, характеристик энергопотребления, точности, совместимости, гибкости, простоты лицензирования и, самое главное, качества. Кроме того, все это должно быть оптимизировано для создаваемой платформы. Все элементы должны быть в наличии (вовремя доставлены) и иметь приемлемую стоимость, чтобы разработчики могли быстро поставлять на рынок сложные продукты.
Сегодня все больше разработчиков выбирает закупаемые компоненты исходя из количества и качества поддерживающих их альтернативных программных решений, внимания производителей к пользователям и уровня послепродажной поддержки продукции. Согласно исследовательскому отчету EE Times, опубликованному в сентябре 2007 г. и основанному на итогах опросов 2005, 2006 и 2007 гг., ныне главным объектом внимания разработчиков стала окружающая процессор экосистема — ПО, средства разработки, техническая поддержка и т. д. (это подтвердили от 58 до 65% респондентов), а сам процессор занимает лишь второе по важности место, на него указали от 34 до 42% опрошенных (рис. 1).
Конечно, изготовители процессоров продолжают рекламировать функциональность и производительность (плюс энергопотребление) своих изделий, однако в принятии решения о покупке все большую роль начинают играть сроки вывода продукции на рынок, которые в значительной мере зависят от готовности экосистемы и наличия высококачественных инструментальных комплектов.
Вопрос о поддержке третьих фирм не сводится к набору логотипов, украшающих сайт поставщика. Важно добиться, чтобы сторонние ПО и аппаратура хорошо работали с предлагаемой системной платой и друг с другом. Инициативы Market Ready Validation Program компании Freescale для процессоров i.MX и Acceptance Testing Program компании Applied Micro Circuits Corporation (AMCC) гарантируют работоспособность стороннего ПО. Сайт AMCC предлагает возможность поиска необходимого ПО в зависимости от моделей процессоров, нужного сервиса или ПО и других факторов.
Что касается качества оценочных комплектов, то за десять лет деятельности наша компания повидала многое. Через нас прошло удивительно большое число низкокачественных SDK и эталонных платформ от весьма уважаемых компаний. Мы сталкивались с такими ситуациями, когда:
- энергопотребление в холостом режиме было выше, чем при работе приложения;
- использовались заведомо устаревшие ядра и компиляторы;
- документация больше путала пользователей, чем помогала им;
- техническая поддержка граничила с пренебрежением к клиентам.
Поскольку мы часто заключали контракты на оценку или контрольное тестирование продуктов по фиксированным расценкам, каждый час, день, а то и неделя, бестолково потраченные на попытки заставить плату и комплект ПО нормально заработать вместе, были равносильны потере доходов. А для разработчиков продуктов такие задержки чреваты ухудшением положения на рынке и даже банкротством.
Конструкторам нужен не шаблонный, а реально работающий код, который можно использовать повторно. В беседе с нами один инженер по разработке ПО сказал: “Нам нужны не эскизные образцы кода для U-Boot и Linux, а качественный код от коммерческого поставщика с гарантиями дальнейшей поддержки обновлений ядра и поставки функционально новых версий. И используя этот код, мы должны быть уверены в своей безопасности и надежности сохранения данных”.
“Когда нам требуется техническая поддержка, желательно иметь дело с одной организацией, которая возьмет нас под опеку. И это должно быть включено в контракт. Нам бы не хотелось в случае возникновения проблем рыскать по разным сайтам сторонних фирм”, — добавил он.
Ту или иную поддержку сегодня предлагает большинство технических компаний, даже если их клиент находится на другом конце земного шара. Однако, похоже, лишь немногие находят возможности реально настроить систему под конкретные задачи пользователя. Более того, мало кто удосуживается строго протестировать функциональность продукта на всем интервале времени от вскрытия упаковки до окончания процесса установки. Почти никто из поставщиков на деле не пытается, поставив себя на место пользователя, проверить, как работает заявленный ими сервис.
Оценивая провайдеров чипов
Одна из компаний, с которыми мы работаем, явно выделяется своими стараниями максимально упростить стартовые процессы. AMCC является провайдером процессоров PowerPC, предназначенных для встраиваемых систем. Продукты этой компании, входящие в состав Evaluation Kit, можно запустить в работу не более чем за полчаса с момента получения заказа. По нашему опыту это более чем превосходный показатель, особенно по сравнению с конкурентами AMCC.
AMCC также наладила надежную поддержку экосистемы с хорошо организованным сайтом, где имеется исчерпывающий перечень ссылок на ресурсы партнеров по поддержке. Оценочные комплекты снабжены средствами контрольного тестирования и даже интерфейсом браузера, систематизирующим документацию. Видимо, в компании хорошо понимают, в чем нуждаются их покупатели. И если где-то все-таки возникают загвоздки -- к вашим услугам система широкой поддержки.
В компании Freescale Semiconductor разные подразделения имеют различные мнения по поводу того, что считать базовыми или эталонными платформами (reference platforms). До недавнего времени популярная плата ADS (Application Development System) предлагалась для установки широкого спектра процессоров, в том числе PowerPC и i.MX. Плата для i.MX (процессоры на базе ядра ARM) имела ряд программных проблем, включая плохую поддержку ОС и устаревшие компиляторы. К тому же работа процессоров, используемых приложениями мобильных телефонов, демонстрировалась на крупноформатных платах, и пользователи не “чувствовали”, что процессор i.MX31, например, может быть встроен в мобильное устройство. Это, конечно, наследие тех дней, когда платформы ADS применялись для демонстрации процессоров PowerPC. А совсем недавно у Freescale все-таки появился новый Product Development Kit (PDK) с компактной модульной платформенной архитектурой и значительно усовершенствованными компонентами ПО и аппаратуры (рис. 2).
У Texas Instruments платформы разработок OMAP 2420 и 2430 представлены очень большими платами и поставляются через единственного дистрибьютора. Последний, GSCS, сам по себе является хорошей компанией для сотрудничества, но ему часто бывают неизвестны сроки поставки платформ для разработок. И будучи дистрибьютором, GSCS мало знает про то, с каким ПО приходит система. В комплект поставки зачастую не включаются схемные решения, из-за чего, к примеру, трудно замерить энергопотребление. Компания Texas Instruments делает прекрасные процессоры, а полнота ее Code Composer Studio широко известна среди разработчиков ПО, однако ввиду трудностей приобретения ряда продуктов и их слабой поддержки мы не отважимся рекомендовать OMAP в качестве решения.
Подводя итоги, можно сказать, что для разработчиков конечной продукции быстрота оценки является очень важным фактором сокращения сроков выпуска их продуктов на рынок. Поскольку в бизнесе время выхода на рынок играет ключевую роль, то компании, тратящие свое время и силы на достижение максимальной оперативности, эффективности и удобства использования производимых ими компонентов, имеют наилучшие перспективы добиться успеха в XXI веке.