Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Инструментальные средства разработки  (Прочитано 54673 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Dale
Блюзмен
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« : 25-05-2012 06:39 » 

Описания инструментов, полезных при проектировании встроенных систем, и ссылки, по которым можно загрузить полнофункциональную либо демо-версии.

Несмотря на embedded-ориентированность раздела, многие инструменты вполне пригодны и для разработки "обычных" приложений, поэтому не торопитесь закрывать тему как заведомо бесполезную для ваших задач.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Dale
Блюзмен
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 25-05-2012 06:56 » 

Продукт: SourceMonitor
Производитель: Campwood Software
Лицензия: Freeware
URL: http://www.campwoodsw.com/sourcemonitor.html

Для создания качественного ПО необходима возможность количественно оценивать его характеристики, а также контролировать их нахождение в допустимых пределах. Для этого, в свою очередь, нужен инструмент. Одним из таких инструментов является SourceMonitor.
Инструмент работает достаточно быстро, собирая метрики за один проход исходных файлов. Поддерживается множество языков программирования (и не только): C++, C, C#, VB.NET, Java, Delphi, Visual Basic (VB6) и даже HTML. Результаты измерений записываются в виде контрольных точек, что позволяет исследовать изменение метрик по ходу развития проекта и вовремя корректировать нежелательные тенденции.
Метрики представляются в табличном и графическом ("радарная" диаграмма) видах. При необходимости данные можно экспортировать в формате CSV для публикации или дополнительного анализа посредством внешних инструментов.
Рекомендую тем, кто собирается переходить (либо уже переходит и находится в поиске инструментов) от "кое-какерства" к процессам разработки.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Dale
Блюзмен
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 04-06-2012 08:40 » 

Продукт: C/C++ Coding Style Standards.
Производитель: Draupnir Software Co., Ltd.
Лицензия: - (см. соответствующие примечания в каждой из статей сборника).
URL: http://www.sourceformat.com/coding-standard.htm

По мере превращения программирования из разновидности шаманства в строгую дисциплину с развитой теорией и многократно проверенными на практике технологическими приемами неуклонно возрастает роль стандартизации. Порой проскакивает мнение, что стандартизация якобы душит творчество; впрочем, на поверку обычно оказывается, что под "творчеством" скрывается очередное "изобретение велосипедов" (причем весьма сомнительного качества) ввиду обычного невежества и незнания давно найденных решений типовых задач. Хорошо продуманный, практичный стандарт становится столь же мощным инструментом в руках разработчика, как, скажем, компилятор или статический анализатор исходных текстов программы.
По ссылке находится довольно представительная подборка стандартов стиля кодирования на языках C и C++. Некоторые из них широко известны, другие менее популярны. Полагаю, каждый разработчик (или группа) найдет среди них вариант, наиболее их устраивающий, внедрит в повседневную практику и повысит тем самым качество своего кода.
Данная подборка может оказаться интересной не только "эмбеддерам", поскольку в ней имеются стандарты и для десятка других распространенных языков программирования.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Dale
Блюзмен
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 07-06-2012 13:22 » 

Продукт: Freeware Hex Editor XVI32.
Производитель: Christian Maas.
Лицензия: Freeware.
URL: http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm

Компактный и в то же время весьма удобный редактор двоичных файлов. Инсталляция не требуется, просто запускается исполняемый файл.
Во время работы с этим редактором меня не покидает ощущение, будто автор специально подгонял его под мои нужды: практически ничего лишнего (за исключением криптования, которым пользоваться еще не приходилось) - и в то же время все необходимое под рукой.
Как и положено редактору, XVI32 позволяет не только просматривать содержимое файлов в различных форматах, но и при необходимости корректировать его. Работать можно не только с отдельными байтами, но и с целыми блоками (копировать, удалять, перемещать).
Входит в состав инструментов, которые всегда держу под рукой.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Dale
Блюзмен
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 09-06-2012 06:14 » 

Продукт: SRecord 1.60.
Производитель: Peter Miller.
Лицензия: GNU GPL.
URL: http://srecord.sourceforge.net/

Коллекция инструментов для манипуляций с содержимым файлов "прошивок". Тем, кто работает с микропроцессорами, не нужно объяснять, насколько нужны подобные инструменты.
Список возможностей SRecord довольно внушителен: здесь и преобразования различных двоичных форматов друг в друга, и вычисление стандартных контрольных сумм, и манипуляции с блоками данных (копирование, перемещение, заполнение заданным образцом...).
Подобные инструменты часто изначально разрабатываются для собственного применения, а затем в порыве щедрости выкладываются автором бесплатно в общее пользование. Чаще всего документация к ним либо вовсе отсутствует, либо находится в рудиментарном состоянии: самому автору все кажется и так понятным без комментариев, а кому нужно, разберутся "методом тыка". Приятным отличием SRecord в этом отношении является прекрасная документированность.
Инструмент кроссплатформенный, имеются версии как для различных ветвей Linux, так и для Windows. Утилиты работают из командной строки, что, с одной стороны, не слишком привычно изнеженным графическим интерфейсом пользователям Windows, но, с другой стороны, позволяет включать их (утилит) вызовы в пакетные задания и сценарии, например, при построении продукта посредством make.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Dale
Блюзмен
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 13-06-2012 09:31 » 

Продукт: Artistic Style 2.02.
Производитель: Tal Davidson, Jim Pattee.
Лицензия: GNU Lesser General Public License (LGPL).
URL: http://astyle.sourceforge.net/

Небольшая программа для форматирования исходных текстов программ на языках C, C++, C# и Java в унифицированном стиле со сдвигом с учетом вложенности фрагментов.
Подобные утилиты обычно приносят пользу разработчикам любого уровня. Начинающим, склонным терять открывающие либо закрывающие операторные скобки, отступы отчетливо покажут нарушение структуры программы. Малоопытным программистам, не привыкшим к определенному стилю оформления кода, форматтер поможет этот стиль выработать. Наконец, опытным разработчикам, осознавшим пользу от повторного использования кода, он позволит быстро оформить в едином стиле фрагменты, взятые из различных источников. Ну и, разумеется, применение такого инструмента позволит гораздо проще соблюдать внутренний стандарт оформления кода при работе в команде.
Инструмент кроссплатформенный (Linux, Mac, Windows).
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Dale
Блюзмен
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 20-06-2012 09:04 » 

Продукт: Termite 2.9: a simple RS232 terminal.
Производитель: CompuPhase.
Лицензия: copyrighted software that is free for personal and commercial use.
URL: http://www.compuphase.com/software_termite.htm



Похоже, производители компьютерного "железа" явно поторопились списать старый добрый RS232 в утиль. Сегодня в строю еще большое количество оборудования, использующего этот нехитрый и в то же время весьма функциональный интерфейс. Коммуникационное и технологическое оборудование зачастую имеет разъем DB-9, предназначенный для подключения текстовой консоли. Да и почти каждый современный микроконтроллер несет на борту один UART либо USART, а то и несколько. Если нужно обмениваться небольшими объемами данных с хостом, проще и дешевле средства не найти.
Точно так же торопятся и производители программного обеспечения. После перевода своего стендового компьютера на Windows 7 я был очень неприятно удивлен отсутствием привычного "гипертерминала", который неизменно присутствовал в предыдущих версиях. К такому подвоху я оказался не готов, пришлось в срочном порядке искать замену. Эмуляторов терминала RS232 нашлось в Сети в общем немало, но большинство из них либо оказались в чем-то ущербны, либо стоили денег. Оказалось, что выбор подходящей программы - не столь простое дело.
Termite оказался одним из наиболее приемлемых бесплатных вариантов. Программа полностью функциональна в качестве консоли, причем функциональность можно расширить добавлением готовых фильтров-плагинов либо написанием своих (интерфейс является открытым).
Программа дает ряд "бонусов", которые найдутся не в каждом аналоге. Например, в комплекте с ней поставляется шрифт truetype GNU Unifont, который позволяет отобращать служебные литеры, обычно не видимые на экране. Другая интересная особенность: если на вашем компьютере имеется два свободных порта RS232, то можно организовать "сниффер", врезавшись в диалог между двумя устройствами:

Причем этот режим позволяет не только видеть весь обмен данными между устройствами, но и вмешиваться в него через клавиатуру.
Если нужно перехватить обмен данными между программой, запущенной на компьютере, и устройством RS232, Termite справится и с этой задачей:

Тем, кто работает с музыкальным оборудованием, может оказаться способность программы инициализировать порты на "нестандартные" скорости, например, в режиме совместимости с MIDI.
Рекомендую тем, кто все еще активно использует RS232 и намерен продолжать.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Dale
Блюзмен
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 25-06-2012 06:17 » 

Продукт: Duplo 0.2.0: C, C++, Java, C# and VB.Net Duplicate Source Code Block Finder.
Производитель: Christian M. Ammann (cammann@giants.ch), Trevor D'Arcy-Evans (tdarcyevans@hotmail.com).
Лицензия: GNU General Public License.
URL: http://duplo.sourceforge.net

Утилита позволяет находить дублирующиеся фрагменты кода. Может оказаться полезной, если вы (или кто-то из вашей команды) грешите "копипастой" и ленитесь произвести соответствующий рефакторинг.
Еще один инструмент для повышения качества кода, к "мнению" которого следует прислушаться. Рекомендую периодически запускать наряду со статическим анализатором, форматировщиком и подобными средствами.
Инструмент неидеален, он рассматривает код как последовательность строк, не выполняя его анализ, и при желании его легко обмануть (например, переименование переменных в одном из повторяющихся блоков кода делает эти блоки формально разными; впрочем, подобное мелкое жульничество не в ваших интересах). Несмотря на это, он способен приносить существенную пользу.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Dale
Блюзмен
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 26-06-2012 08:00 » 

Продукт: Easystructure 1.2.12.
Производитель: Ablegold Computers.
Лицензия: ©Copyright Ablegold Computers Ltd, 2009. The software is free to use and is freely distributable, with the condition that no more than a nominal fee is charged for media.
URL: http://www.ablegoldcomputers.com/index.html

Вам доводилось когда-нибудь работать с объемным кодом низкого качества? Те немногие счастливцы, которые могут твердо ответить "нет" и уверены, что эта идиллия будет продолжаться вечно, могут позволить себе не читать дальше. Те же, кто живет в реальном мире, - добро пожаловать.
Лично мне досталась однажды на сопровождение одна из таких программ. Судя по расширениям имен файлов, эта программа думала о себе, что написана на языке C++, хотя ничего объектно-ориентированного, кроме вызовов MFC, сгенерированных "визардами" Visual Studio 6, в ней не было, - чистый C. Но не это самое плохое, в конце концов, ведь на C вполне можно писать блестящий код.
Как следовало из подписей в комментариях, над программой потрудились не менее шести человек, а это количество вплотную приближается к той критической отметке, за которой дитя гарантированно оказывается одноглазым. Не миновала сия чаша и данную программу: одна лишь функция main() уютно расположилась на 12 (!) листах A4, а вложенность многочисленных циклов, инструкций выбора и условных достигала семи. Самое ужасное, что этот клудж исправно работал, решая довольно сложную и громоздкую задачу, и требовалось расширить его функциональность, ничего при этом не сломав. Излишне упоминать, что модульных тестов не было и в помине, поэтому более-менее серьезный рефакторинг отпадал.
Единственный способ, который я нашел в то время для того, чтобы разобраться в этом "спагетти-коде", состоял в том, чтобы распечатать все 12 листов, склеить в подобие древнееегипетского папируса, а затем при помощи цветных маркеров и линейки разметить вложенные управляющие структуры, чобы хотя бы понять, где находится парная открывающая скобка к данной закрывающей.
Если бы в то время в моем распоряжении была Easystructure, я бы сэкономил уйму времени, потраченного на раскраску кода. Эта утилита анализирует код на C, превращая его в некую разновидность диаграммы Джексона, но в древовидном представлении, которое позволяет разворачивать либо сворачивать ветви кода, обеспечивая необходимую в данный момент степень детальности.
http://www.ablegoldcomputers.com/img/tree1.gif
http://www.ablegoldcomputers.com/img/tree2.gif
http://www.ablegoldcomputers.com/img/tree3.gif
Кроме того, Easystructure позволяет автоматически построить блок-схему выбранного фрагмента (с моей точки зрения, выразительность блок-схем обычно довольно сомнительна, но кому-то может и пригодиться).
http://www.ablegoldcomputers.com/img/flow1.gif
Это один из тех инструментов, который вряд ли пригодится при работе с грамотно написанным вменяемыми людьми кодом. Однако случаи, как говорится, бывают разные, поэтому лучше все же на всякий случай иметь его под рукой.
« Последнее редактирование: 26-06-2012 09:01 от Dale » Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Dale
Блюзмен
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 29-06-2012 07:57 » 

Продукт: Qfsm 0.53.
Производитель: Stefan Duffner, Rainer Strobel.
Лицензия:  free software (GNU General Public License).
URL: http://sourceforge.net/projects/qfsm/

Концепция конечных автоматов (Finite State Machine, FSM) не нова и давно прочно занимает свое место в фундаменте компьютерных наук. Области применения FSM достаточно разнообразны: это и определение/реализация различных протоколов, и организация качественного GUI, и распознавание формальных языков, и, конечно же, встроенные системы. Разумеется, производители инструментальных средств тоже не остались в стороне и выпустили множество утилит для работы с FSM. Функциональность этих утилит занимает широкий спектр от примитивных "рисовалок" диаграмм состояний до изощренных систем автоматизированного проектирования.
Однако изобилие инструментов не всегда радует. Наоборот, зачастую это означает, что все они далеки от совершенства, что заставляет разработчиков пытаться создать еще один вариант в надежде, что он окажется лучше конкурентов. Такая же ситуация наблюдается и в сфере инструментальных средств для работы с FSM. Помимо специализированных утилит, очень многие редакторы диаграмм общего назначения позволяют рисовать диаграммы сосояния, некоторые из них даже претендуют на соответствие спецификациям UML. Однако явного лидера среди них назвать затруднительно.
Тем не менее мало кто может позволить себе бездействовать в ожидании идеального инструмента. Нужно работать с тем, что есть. Qfsm - один из специализированных редакторов для разработки диаграмм состояний FSM. Продукт достаточно качественный и получил высокие оценки пользователей.
Работать с Qfsm достаточно легко, поскольку интерфейс пользователя лаконичен и логичен. Несмотря на то, что пользовательская документация типична для бесплатных продуктов (то есть в принципе она есть, но толку от нее не так уж много), при работе потребность в ней не ощущается.
К несомненным достоинствам Qfsm следует отнести возможность симуляции нарисованного автомата. Симулятор интегрирован в редактор и вызывается нажатием соответствующей кнопки, после чего можно посылать сигналы автомату и наблюдать смены его состояния.

Конечно, не лишен Qfsm и недостатков. Из небольшого опыта работы с продуктом я отметил для себя их несколько. Прежде всего, нарисованные в нем диаграммы не соответствуют нотации UML. Это несоответствие мне совершенно непонятно, если уже взялись рисовать - рисуйте по правилам, а не изобретайте отсебятину. Также пока мне непонятны перспективы использования Qfsm для разработки иерархических конечных автоматов (HFSM), которые в настоящее время представляют для меня особый интерес.
Предлагаю обратить внимание на Qfsm тем, кто явно использует конечные автоматы в своих разработках.

* Qfsm.png (100.89 Кб - загружено 6331 раз.)
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Dale
Блюзмен
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 05-07-2012 07:44 » 

Продукт: CodeDesigner RAD 1.6.0.
Производитель: Michal Bližňák.
Лицензия:  GNU General Public License.
URL: http://www.codedesigner.org/

Функциональность CodeDesigner несколько перекрывается с функциональностью предыдущего продукта (Qfsm). Однако имеются и существенные отличия, благодаря которым я счел необходимым добавить CodeDesigner в набор рекомендуемых инструментов разработки.
Прежде всего, в отличие от Qfsm, CodeDesigner работает не только с диаграммами состояний UML, но и с диаграммами классов. Впрочем, этим сегодня мало кого удивишь. Куда существеннее, что CodeDesigner поддерживает иерархические диаграммы состояний UML.
Кроме рисования диаграмм (что само по себе достаточно ценно для надлежащего документирования программ), CodeDesigner умеет также генерировать код. В текущей версии поддерживается не так много языков: ANSI C, C++ и Python. Впрочем, для разработчика встроенных систем одного наличия ANSI C вполне достаточно, чтобы инструмент мог приносить реальную пользу.
Имеются также некоторые возможности "обратной инженерии"; относительно их реальной ценности пока ничего сказать не могу, лишь отмечу их наличие.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Dale
Блюзмен
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 31-08-2012 07:47 » 

Продукт: Circuit Simulator V1.5n.
Производитель: Paul Falstad (www@falstad.com).
Лицензия:  -
URL: http://www.falstad.com/circuit_ru/



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

* CircuitSimulator.png (67.14 Кб - загружено 7866 раз.)
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Dale
Блюзмен
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #12 : 20-11-2015 06:10 » new

Продукт: Atollic TrueSTUDIO for ARM Lite V5.4.0.
Производитель: Atollic.
Лицензия:  смешанная (Eclipse/GNU/Apache для разных компонентов).
URL: http://download.atollic.com/TrueSTUDIO/installers/TrueSTUDIO_for_ARM_win32_v5.4.0_20151109-1237.exe

Те, кто пробовал настроить среду разработки Eclipse для работы с микроконтроллерами ARM, знают, что дело это не такое быстрое (хотя вполне реальное). Поэтому те, кто предпочитает тратить время на разработку, а не на борьбу со своенравием собственных инструментов, зачастую делают выбор в пользу готовых решений. Одно из таких решений (а именно Atollic TrueSTUDIO) предлагает фирма Atollic.

TrueSTUDIO включает в свой состав Eclipse, сконфигурированную под ключ для разработки кода для ARM-M прямо из дистрибутива. Это были хорошие новости. Плохие заключались в том, что среда эта платная, причем хорошо платная (1990 EUR / 2795 USD). Поскольку мои обзоры ориентированы в первую очередь на малобюджетные коллективы, а не на преуспевающих рэпперов и колумбийских наркобаронов, для большинства инженеров остаются три относительно приемлемых альтернативы: 1) с выражением лица "не больно-то и хотелось" выбрать другой инструмент; 2) пойти на очередную сделку с совестью и вместо лицензии скормить программе "таблетку от жадности", скачанную с торрентов; 3) довольствоваться бесплатной редакцией Lite (разумеется, урезанной, причем существенно).

Среди ограничений версии Lite самое существенное, на мой взгляд, - это ограничение генерируемого двоичного кода (не более 32Кбайт). Если для 8-разрядных микроконтроллеров это еще не так страшно (более половины их номенклатуры вообще не доросло до этого предела), то в отношении 32-разрядных, в частности ARMов, это не может не печалить с учетом их потенциала.

К счастью, примерно с неделю назад Atollic явила миру аттракцион неслыханной щедрости и сняла с бесплатной редакции ограничение на размер кода; теперь можно набирать исходники, пока не устанут пальцы или не переполнится флэш микроконтроллера. Остальные ограничения, само собой, пока(?) остаются в силе. В частности, по-прежнему недоступны статический анализ кода и продвинутые средства отладки кода. Впрочем, и на том спасибо... Тем более что при грамотно поставленном тестировании отладка не столь уж трудоемка.

Пессимисты могут поворчать о том, что эта щедрость свалилась на нас не за красивые глаза, а вынужденно, под давлением конкурентов; например, та же STM начинает предлагать вполне достойные инструменты для своих кристаллов совершенно безвозмездно, то есть даром; аналогично Atmel продолжает выпускать свою Studio (хотя привлекательность их 32-разрядных кристаллов более сомнительна). Но какие бы причины на это ни подвигли, результат радует, а это главное.


(Вот так, скромно и со вкусом: лучший на планете (как минимум)!)

* ATS.gif (138 Кб - загружено 3448 раз.)
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Dale
Блюзмен
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #13 : 18-02-2016 20:35 » 

Продукт: Atollic TrueSTUDIO for ARM Lite V5.4.1.
Остальное см. предыдущий пост.

На сайте разработчика доступна для скачивания следующая редакция Atollic TrueSTUDIO. Основные изменения, согласно анонсу производителя, коснулись способов лицензирования, которые лично меня волнуют слабо.

Среди изменений, которые счел интересными для себя, в первую очередь отмечу исправленную загрузку проектов, сгенерированных утилитой STM32CubeMX. В предыдущей версии не все с этим было гладко. За это исправление большое им человеческое спасибо, поскольку кристаллы ARM Cortex-M от STMicroelectronix в настоящий момент весьма привлекательны по возможностям, производительности, доступности и цене.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Dale
Блюзмен
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #14 : 17-03-2016 13:21 » 

Продукт: Catch.
Производитель: Phil Nash.
Лицензия:  Boost Software License.
URL: https://github.com/philsquared/Catch

Фреймворк предназначен для модульного тестирования, TDD и BDD встроенных систем.
Примеры использования приведены в статье, поэтому не имеет смысла повторно пересказывать ее содержимое здесь.

Рекомендую всем, кто использует в разработке ЕDD/BDD/ATDD и "гибкие" технологии.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Dale
Блюзмен
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #15 : 19-04-2016 09:15 » 

Продукт: LogFilter.
Производитель: Casstor Software Solutions.
Лицензия:  Copyright All Rights Reserver.
URL: http://casstor.com/about/logfilter/

Когда приложение работает не так, как задумывалось, неоценимую помощь могут оказать лог-файлы. Впрочем, анализ достаточно детального лога сам по себе может стать нетривиальной задачей, если не воспользоваться специальными инструментами для фильтрации необходимой информации.
Одним из таких инструментов является утилита LogFilter от Casstor Software Solutions. Она дает возможность задать набор фильтров, отбирающих лишь необходимые строки (или, напротив, отсеивающих ненужные). В качестве фильтров могут применяться как обычные текстовые строки, так и регулярные выражения. Хотя поддерживаются текстовые форматы Windows/Linux/Mac, сама утилита работает только под Windows.
Строго говоря, ничего уникального утилита не делает; то же самое можно было бы сделать привычными grep/egrep и подобными инструментами. Речь идет лишь об удобстве графического интерфейса.
С недавних пор утилита является бесплатной. На ее домашней странице имеется форма заявки, в ответ на которую приходит письмо со ссылкой для загрузки дистрибутива.
Рекомендую разработчикам, практикующим ведение объемных подробных логов.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Dale
Блюзмен
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #16 : 05-05-2016 22:21 » 

Продукт: UMLet 14.2.
Производитель: UMLet Team.
URL: http://www.umlet.com/
Лицензия: GNU General Public License.

Open-source инструмент для построения диаграмм UML. Может использоваться автономно либо в качестве плагина для Eclipse в Windows, OS X and Linux.





(Источник)
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Dale
Блюзмен
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #17 : 06-05-2016 21:24 » 

Продукт: шаблон "Hardware Requirements Specification".
Производитель: OpenSDLC.
URL: http://opensdlc.org/support-files/SDLC-RUP-Hardware-Requirements-Specification.pdf
Лицензия: free open source Creative Commons license.

Успех проекта определяется не только квалификацией реализующих его разработчиков, но и качеством постановки задачи (спецификаций). Зачастую инженер получает от заказчика "документ", который составитель именует "техническим заданием" и который фактически представляет собой несвязный набор расплывчатых и взаимно противоречивых фраз. Работа над таким проектом превращается в мучение, поскольку противоречивые пункты (а они в большинстве именно таковы) трактуются заказчиком и исполнителем по-разному.
Разумеется, это отнюдь не результат злонамеренности заказчика. Составление качественных спецификаций - большой труд, к которому нельзя относиться легкомысленно. Для облегчения этой работы и повышения качества ее результата разрабатываются различные стандарты, фреймворки и подобные инструменты. Имея готовый план изложения, составитель работает над его заполнением, не рискуя упустить какие-то важные пункты и не тратя силы на оформление. В качестве примера можно привести стандарт IEEE STD 830-1998 "IEEE Recommended Practice for Software Requirements Specifications" (один из вариантов перевода, выполненный мной, можно найти здесь). В этом документе представлены рекомендации IEEE по содержанию и оформлению требований к программному обеспечению. (Если желаете в полной мере оценить, насколько плохо в действительности обстоят дела в этой области, рекомендую полистать также обсуждение перевода).
В процессе проектирования встроенных устройств приходится иметь дело с требованиями не только к программному обеспечению, но и к оборудованию, на котором оно будет выполняться. Недавно мне пришлось заниматься составлением подобного документа, и в процессе поиска готовых шаблонов мне попался вполне добротный фреймворк от OpenSDLC, который и представлен в данной заметке.
Рекомендую обратить на него внимание тем, кто составляет требования к аппаратному обеспечению встроенных систем (возможно, и для других классов оборудования).

(Источник)
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines