Nov 3 2009

ARM + Xilinx = FPGA + AMBA(new) + Cortex

На прошлой недели было объявлено про сделку между ARM and Xilinx: Xilinx лицензировал Cortex. Две компании ведут разработку следующего поколения  шины AMBA.

ARM_Xilinx_Logo

Почему столько лет Xilinx не лицензировала архитектуру процессоров ARM как делали многие её конкуренты? Ответ, скорее всего заключается в разработке спецификации шины AMBA следующего поколения, которую Xilinx называет “оптимизированный стандарт шины для FPGA.”  В компании Xilinx, понимали, что без новой шины, они не смогут выжать весь потенциал из архитектуры ARM. Использование ядра Cortex позволит также решить для Xilinx проблему высокого энергопотребления FPGA.

По понятным причинам, Xilinx не разглашает какое именно ядро будет использовано в их FPGA, и даже в каком ядре может появиться лицензированное ядро: в мейнстрим продукте Spartan или в топ линейке Virtex.

Скорее всего из новой спецификации AMBA получат выгоду все разработчики использующие процессоры ARM. Новая спецификация позволит минимизировать внутрение соеденения FPGA, что позволит улучшить архитектуру не только FPGA с ядром ARM, но и архитектуру тралиционных FPGA с IP.

Стоит заметить, что Xilinx и ARM не единственные компании, которые задействованы в разработке грядущей спецификации AMBA, также в нее вовлечены такие титаны индустрии как Cadence, Denali, Mentor Graphics и Synopsys.


Nov 1 2009

Код: насколько он хорош? И сколько он стоит?

Согласно Adams, N.E., “Optimizing preventive service of software product,” IBM Journal of Research and Development, выявление трети ошибок всего програмного обеспечения потребуют пять тысячь лет его выполнения.

Тестирование програмного обеспечения предназначено для доказательства наличия в нем ошибок, а не их отсутствия. Для написания критически безопасного кода необходимо уделять больше внимания его разроботки и тестированию, что влечет за собой его существенное удорожание.

Большинство кода для встроенных систем имеют стоимость около $20-40  за строчку кода (расценки для американского рынка) . Об этом можно прочитать в статье David A. Wheeler “More Than a Gigabuck: Estimating GNU/Linux’s Size“.  Формальное же, математическое, доказательство отсутствия ошибок в коде может поднять стоимость до $700 за строчку

Для микроядра Secure Embedded L4, состоящего из 7,500 строчек С кода, было математически доказано отсутствие ошибок с использованием 10,000 промежуточных теорем в более чем 200,000 строчек формального доказательства. Это доказательство было проверено на компьютере, с помощью интерактивной программы доказательства теорем Isabelle.

“Proving the correctness of 7,500 lines of C code in an operating system’s kernel is a unique achievement, which should eventually lead to software that meets currently unimaginable standards of reliability.”

Посчитать количесвто строчек кода нет так просто, а тем кто хочет это сделать, могу посоветовать почитать статью на Википедии “Количество строк кода“. А для операционной системы Линукс существует замечательная утилита SLOCCount.


Sep 24 2009

mbed: Web 2.0 прототипирование

Компании NXP и ARM объявили на конференции Embedded Systems (ESC), которая проходит в Бостоне, о запуске нового проекта, который позволяет выполнять быстрое прототипирование на основе отладочной платы с процессорами на основе ядра Cortex M3 – NXP LPC2368 или NXP LPC1768.  Интегрированная среда разработки реализована в браузере. Для создания программы необходимо авторизироваться на сайте, создать новый проект, выполнить компиляцию, загрузить с сайта созданный конфигурационный файл, подключить плату к копьютеру через USB и записать на нее загруженный образ. И перегрузить.

Для написания програм используеться библиотека mbed C/C++, которая основана на ARM Cortex Microcontroller Software Interface Standard (CMSIS) и предоставляет высокоуровневый подход к конфигурации микроконтроллера на основе API.

Сайт Mbed.org в настоящее время уже доступен. На нем можно получить дополнительную информацию и оформить предварительный заказ  на отладочную плату mbed на основе микроконтроллера NXP LPC1768. Стоимость платы при преварительном заказе составляет около $60.


Apr 29 2009

35 забавных комментариев

Stackoverflow недавно был поднят вопрос от том, какой самый лучший комментарий в исходном коде встречали респонденты. Всего было дано 534 ответа. Я хотел бы привести некоторые, которые мне просто понравились, без учета их полезности. Continue reading


Jan 20 2009

Тонкости использования модификатора volatile

Ваш код работает, пока Вы не включили оптимизацию? Ваш код работает только когда отключены прерывания? Ваш драйвер работает как психованный? Задачи работают в изоляции, но не работают в одновременно? Возможно, при оптимизации компилятор посчитал необходимым изменить фрагмент кода основываясь на том, что не нашел кода, который изменят определенный объект. Примером такой ситуации может служить работа с регистрами устройства отображенными в память, работа с общими объектами в много-потоковых программах. Continue reading


Jul 17 2008

Что такое usability?

Международный стандарт ISO 9241-11 определяет юзабилити как степень, в которой продукт может быть использован пользователями для достижения точно определенных целей с действенностью, эффективностью и удовлетворённостью в заданном контексте использования. Continue reading