Объявление

Свернуть
Пока нет объявлений.

Можно ли помочь разработчику?

Свернуть
X
Свернуть
  •  

  • Можно ли помочь разработчику?

    Психология отечественного разработчика микроконтроллерных систем несомненно отличается от психологии китайца, с его известным проклятием: "Чтобы тебе жить в эпоху перемен", но и нашему закаленному соотечественнику-разработчику приходится непросто в последние годы.
    Большая часть наших разработчиков формировалась в условиях очень ограниченного выбора элементной базы, доступной для применения, и практически полного отсутствия профессиональных инструментальных средств разработки и отладки. Сформировавшийся в этих условиях "аскетический" стиль ведения разработки, был характерен тремя основными особенностями:
    • фактическая предопределенность в "выборе" ядра разрабатываемой системы - либо 1816ВЕ31 либо 1816ВЕ35, с их не очень разнообразной встроенной периферией;
    • написание программ исключительно на ассемблере;
    • ведение разработки как правило без инструментальных средств и без "сервисных излишеств".
    Такой стиль был адекватен своему времени. Вынужденное использование одних и тех же типов микроконтроллеров, и ограниченность ресурсов этих микроконтроллеров, способствовала тому что даже без применения инструментальных средств, достаточно внимательный и "заточенный" на неразнообразную отечественную элементную базу разработчик, мог успешно решать свои задачи.
    Сейчас ситуация кардинально изменилась:
    • Практически все зарубежные производители микроконтроллеров имеют свои представительства или как минимум своих дистрибьюторов в России. И весь громадный спектр разнообразнейших компонентов, прежде доступный только западным коллегам, стал доступным и российским разработчикам.
    • Появился рынок инструментальных средств разработки, и появилась возможность выбора профессиональных инструментальных средств.
    В этих условиях, казалось бы, прежний "аскетический" стиль себя полностью изжил. Однако еще достаточно часто можно видеть, что и новые разработки ведутся на привычной старой элементной базе, все так же преобладает ассемблер, а профессиональные средства отладки, либо остаются экзотической и малознакомой вещью в себе, либо считаются неким излишеством.
    Встречаются, хотя и редко, радикально настроенные разработчики, которые считают, что вообще не нуждаются в отладочных средствах.
    Менее бескомпромиссные разработчики применяют для отладки программ самодельные отладочные мониторы.
    На наш взгляд живучесть "аскетического" стиля можно объяснить отчасти отсутствием необходимой информации, отчасти укоренившейся привычкой. И если привычка - вещь деликатная, и с ней приходится считаться, то с отсутствием необходимой информации мириться нельзя.
    Основные аргументы "не сторонников" профессиональных инструментальных средств отладки можно сформулировать следующим образом:
    • Инструментальные средства стоят дорого.
    • Все то же, что дают профессиональные средства отладки, можно сделать за счет внимания, опыта и напряжения собственного интеллекта.
    • Все то же самое, что дают профессиональные средства отладки, можно сделать с помощью самодельных средств.
    • Инструментальные средства работают ненадежно.
    • Профессиональные инструментальные средства слишком специализированы, на каждый случай нужен свой инструментарий.
    • Инструментальные средства слишком сложны и требуют долгого изучения.
    Попробуем разобраться с этими аргументами.
    Аргумент 1."Инструментальные средства стоят дорого".

    Да действительно, очень дешевыми профессиональные инструментальные средства не назовешь. И тем не менее, в качестве контр довода можно привести несколько соображений:
    Универсальный закон сохранения, применительно к предмету нашего обсуждения мог бы выглядеть следующим образом: " За скорость, надежность и удобство при разработке - приходится платить." Не хотелось бы проводить аналогий, но представление о чрезмерной стоимости, сродни нашим старым представлениям о дешевизне труда как такового, и в особенности труда интеллектуального.В условиях не монополизированного рынка, стоимость преимуществ предоставляемых профессиональными инструментальными средствами определяется очень быстро и объективно, а следовательно говорить о чрезмерности цены не приходится.
    Спектр инструментальных средств, в части функциональных возможностей , достаточно широк, а функциональные возможности средств, как правило хорошо коррелируются с их ценой. Поэтому всегда можно подобрать средство отладки приемлемое по цене, и отвечающее предъявляемым требованиям по показателю "функциональность/цена".
    Цены на инструментальные средства западных производителей соответствуют реалиям западного рынка, и для отечественного разработчика, в большинстве случаев, пока являются практически недоступными. Однако следует заметить, что для наиболее популярных семейств микроконтроллеров, существуют отечественные профессиональные инструментальные средства, некоторые из них как минимум не уступают по функциональным возможностям западным образцам, а по ценовым характеристикам, заметно выигрывают, поскольку соответствуют реалиям нашего рынка.
    Аргумент 2."Все то же, что дают профессиональные средства отладки, можно сделать за счет внимания, опыта и напряжения собственного интеллекта."

    Да, действительно можно напрячься и внимательно проанализировать исходный текст, посмотреть с помощью осциллографа, что происходит на выводах микроконтроллера, и можно исправить все ошибки. В принципе, такой способ отладки применим, если у разработчика есть большой опыт, отличное знание применяемого микроконтроллера, транслятор, который всегда генерирует правильный код (обычно это ассемблер), а главное, достаточное количество времени.
    Но что будет если:
    • Разрабатываемое или отлаживаемое устройство достаточно сложное, с большими ресурсами, а программа теряет обозримость?
    • Используемый микроконтроллер не родной и привычный, с которым уже не одну собаку съел, а внешне привлекательный, с массой встроенной периферии - но "новый", и потому ведущий себя порой непредсказуемо?
    • Процесс разработки идет нормально, но разработчик участвует не в "социалистическом соревновании", а должен предъявить изделие "капиталистическому" заказчику, да и слова "неустойка" и "конкуренты" уже звучали?
    Поскольку эти вопросы риторические, перейдем к рассмотрению следующего аргумента. Аргумент 3."Все то же самое, что дают профессиональные средства отладки, можно сделать с помощью самодельных средств."


    Действительно, некоторые разработчики применяют для отладки программ самодельные отладочные мониторы. Отладочный монитор - это набор отладочных подпрограмм, загружаемых в микроконтроллер вместе с основной программой. Основная программа вызывает в контрольных точках подпрограммы отладочного монитора, а те могут тем или иным способом выдать информацию о состоянии ресурсов микроконтроллера разработчику. Так можно отладить практически любую программу, но у отладки с помощью монитора есть недостатки, которые могут оказаться существенными.
    • Отладочному монитору необходимо предоставить для работы часть ресурсов микроконтроллера: как минимум - часть адресного пространства кода и некоторое количество ячеек стека, как максимум - еще и часть ОЗУ и периферийные устройства микроконтроллера, используемые монитором для отображения информации. Выделить достаточные ресурсы отладочному монитору бывает непросто, если основная программа сама активно загружает микроконтроллер. Например, у PIC16C5x семейства Microchip PIC всего две ячейки стека, и использовать вызовы подпрограмм отладочного монитора затруднительно.
    • Вызовы монитора отнимают время у основной программы и, следовательно, отладочный монитор нельзя вызывать из критичных ко времени частей программы.
    • Создание отладочного монитора само по себе требует времени.
    Аргумент 4."Инструментальные средства имеют ограничения, работают ненадежно".


    На этот аргумент ответ предельно прост: выбирайте производителя, инструментальные средства которого не имеют неприемлемых для Вас ограничений, и при этом работают надежно.
    Аргумент 5."Профессиональные инструментальные средства слишком специализированы, на каждый случай нужен свой инструментарий".

    Действительно, некоторые инструментальные средства трудно причислить к разряду универсальных.
    Отчасти это объясняется объективными причинами, отчасти субъективными, когда по маркетинговым или иным соображениям, сознательно ограничивается перечень поддерживаемых устройств и/или форматов компиляторов.
    Тем не менее, существуют производители профессиональных инструментальных средств, которые за счет применения современных технологий, создают средства отладки, позволяющие корректно поддерживать максимально широкий спектр микроконтроллеров.
    И для того чтобы данный аргумент потерял свою значимость, потенциальному пользователю можно посоветовать:
    Выбирая средство отладки, помимо прочего учитывайте и широту спектра поддерживаемых устройств и/или форматов. Учитывая то обстоятельство, что спектр доступных микросхем постоянно расширяется, несомненное предпочтение следует отдавать изделиям с перезагружаемой аппаратной структурой. В противном случае, велика вероятность того, что Ваше приобретение, в недалеком будущем не сможет поддерживать новых членов семейства, без существенной аппаратной доработки. Аргумент 6."Инструментальные средства слишком сложны и требуют долгого изучения".


    Как правило, разработчики профессиональных инструментальных средств нормальные люди, хорошо знающие проблемы разработчиков микропроцессорных систем, и более того, люди заинтересованные в доступности и популярности своих изделий. Поэтому, большинство профессиональных инструментальных средств, имеет достаточно простой, а зачастую и интуитивно понятный интерфейс. В наибольшей степени это относится к средствам, предназначенным для работы в среде Windows.
    Нелишне будет отметить, что инструментальные средства западных производителей, как правило сопровождаются сверх подробными описаниями с массой полиграфических изысков. И если отечественные производители пока уступают в полиграфичности своих описаний, несомненным их преимуществом можно считать: русский язык описаний и руководств, и доступность для консультаций и пояснений.
    Мы предлагаем Вашему вниманию несколько статей обзорного характера, которые , как мы надеемся, помогут хотя бы некоторым разработчикам, сориентироваться в современном многообразии микроконтроллеров и инструментальных средств.
    Говоря о целесообразности использования профессиональных инструментальных средств отладки, можно приводить множество аргументов, мы сознательно не стали этого делать, поскольку считаем что любой профессиональный разработчик или инженер прикладник, только встающий на стезю разработки микропроцессорных систем, в состоянии самостоятельно сделать выводы, при наличии необходимой информации. Приведем лишь одно соображение. Западные разработчики микроконтроллерных систем, которых трудно заподозрить в не прагматизме или в не умении считать деньги, давно и интенсивно используют в своей работе профессиональные инструментальные средства. При этом большинство разработок, особенно сложных систем, ведется с применением языков высокого уровня. Об этом стоит задуматься. Понятно что Запад нам не указ, но законы экономики неумолимы, а значит и на рынке встраиваемых систем конкуренция между разработчиками будет нарастать.

      Возможность размещать комментарии к сообщениям отключена.

    Метки статей

    Свернуть

    Меток пока нет.

    Новые статьи

    Свернуть

    • Средства разработки и отладки для однокристальных микроконтроллеров
      от admin
      К числу основных инструментальных средств отладки относятся:
      • внутрисхемные эмуляторы.
      • программные симуляторы.
      • платы развития (оценочные платы).
      • мониторы отладки.
      • эмуляторы ПЗУ.
      Данный список не исчерпывает всех типов существующих инструментальных средств отладки. Кроме указанных, существуют и комбинированные устройства и наборы, которые позволяют компенсировать недостатки основных средств, взятых порознь.
      Внутрисхемные эмуляторы.

      Внутрисхемный эмулятор -...
      03.06.2017, 22:23
    • Символьная отладка программ для микроконтроллеров.
      от admin
      За редким исключением, программы для микроконтроллеров (МК) не начинают работать с первого раза из-за содержащихся в них ошибок. Если программа достаточно сложная, то исправить ошибки без отладочных средств бывает достаточно трудно или даже невозможно, поэтому все разработчики...
      03.06.2017, 22:23
    • Программаторы, проблемы выбора.
      от admin
      Прочитав название статьи каких-нибудь 10-15 лет назад, мы бы очень удивились: нам бы ваши проблемы. Работая на "ящиках", мы и понятия не имели, что в этом вопросе бывает какая-то неопределенность. Перечень разрешенных к применению микросхем был настолько "широк", что приходилось...
      03.06.2017, 22:23
    • Отладка программы микроконтроллера семейства MCS-51 с помощью эмулятора ПЗУ
      от admin
      С появлением микропроцессоров в технике проектирования электронных устройств появился новый раздел: программирование. Сложность рабочей программы микропроцессора стала определять сложность разработки устройства в целом. В микроконтроллерах (МК), интегрировавших в себе память и некоторые периферийные устройства, эта тенденция проявляется наиболее сильно.
      Сложность и трудоемкость процессов отладки программного обеспечения МК определяется следующими факторами [1]:
      • отладка программной
      ...
      03.06.2017, 22:23
    • Можно ли помочь разработчику?
      от admin
      ...
      03.06.2017, 22:23
    • Интеграция Altium Designer и nanoCAD
      от admin
      Altium Designer 14 предложил возможность проектировать гибко-жесткие печатные платы (ГЖПП), которые становятся все более востребованными на рынке электроники. Конструкции печатных плат стали более сложными и для их построения требуется использование механических САПР. Рассмотрим на конкретном примере процедуру совместного использования систем Altium Designer и nanoCAD в процессе создании контура печатной платы (ПП).
      />
      Рис. 1. Контур печатной платы в nanoCAD
      Создаем в nanoCAD контур...
      03.06.2017, 22:22
    Обработка...
    X