зашить AVR

Apr 10, 2005 94 Replies

Hi All,



Для лабораторных целей нет вопросов - avreal. А вот что делать на производстве? Имеем пусть десять изделй по десять контроллеров в каждом. И того 50-100 прошивок. время от времени выходят новые версии прошивок. Hа производстве люди не знают что такое поиск по дате, не знают что такое командная строка и тд. У них стоит ублюдочный понипрог и висят две бумажки, на одной нарисованы галки с фьюзами, на другой список прошивок. Мне сильно лениво печатать каждый раз новый список, да и ошибка связаная с человеческим фактором тоже не редкость. Ее конечно обнаружат, но потеряное время жалко.



Посему решение видится следующее - на сервере есть база, есть пара клиентов. Один клиент на производстве - ему говорят хочу зашить такую плату такого изделя. Как дополнительная фишка - считать прошивку и определить по базе чего это было. Второй клиент у девелопера - он выкладывает прошивку в базу.


Вопрос простой - есть чего готовое, с такой схемой работы?



Если нет, то можно написать. Можно выложить бинарники, если оно кому реально надо :)



Практический я даже начал это писать, но некрасиво запускать avreal из командной строки, dll было бы на удобней и красивей. В связи с отсутвием данной dll вобщем проект и остановлен.



WBR, Michael


Hello, Michael Zaichenko !

А из какой-то IDE запустить экзешник уже не модно до такой степени, что надо вовсе от этого отказываться?

С уважением, Дима Орлов.

11 апpеля 05, Michael Zaichenko wrote to All

MZ> Для лабоpатоpных целей нет вопpосов - avreal. MZ> А вот что делать на пpоизводстве? MZ> Имеем пусть десять изделй по десять контpоллеpов в каждом. MZ> И того 50-100 пpошивок. вpемя от вpемени выходят новые веpсии пpошивок. MZ> Hа пpоизводстве люди не знают что такое поиск по дате, не знают что MZ> такое командная стpока и тд. У них стоит ублюдочный понипpог и висят две MZ> бумажки, на одной наpисованы галки с фьюзами, на дpугой список пpошивок. MZ> Мне сильно лениво печатать каждый pаз новый список, да и ошибка связаная MZ> с человеческим фактоpом тоже не pедкость. MZ> Ее конечно обнаpужат, но потеpяное вpемя жалко.

MZ> Пpактический я даже начал это писать, но некpасиво запускать avreal из MZ> командной стpоки, dll было бы на удобней и кpасивей. MZ> В связи с отсутвием данной dll вобщем пpоект и остановлен.

Зачем так извpащаться? И как вообще запускать dll? У нас на сеpвеpе лежат пpошивки, к каждой avreal и bat-файл, где все что нужно уже пpописано. Там же лежит файл, где написано, где и какая пpошивка сейчас используется. Когда нужно, пpошивка и сопутствующие файлы копиpутся на пpоизводство и там выводится яpлык на pабочий стол с названием изделия, людям остается только подключить кабель и кликнуть по яpлыку. Пpи выходе новой пpошивки она копиpуется на пpоизводство вместо стаpой ее pазpаботчиком. Плюс в avreal 1.25 появились интеpесные возможности для пpогpаммиpования нескольких контpоллеpов чеpез один pазъем.

Bye

Hello Michael.

11 Apr 05 00:54, you wrote to all:

MZ> но некрасиво запускать avreal из MZ> командной строки,

Почему?

Alexey

Привет Michael!

11 Apr 05 01:54, Michael Zaichenko писал All:

MZ> Для лабораторных целей нет вопросов - avreal. MZ> А вот что делать на производстве?

avreal.

MZ> Имеем пусть десять изделй по десять контроллеров в каждом. MZ> И того 50-100 прошивок. время от времени выходят новые версии MZ> прошивок. Hа производстве люди не знают что такое поиск по дате, не MZ> знают что такое командная строка и тд. У них стоит ублюдочный понипрог MZ> и висят две бумажки, на одной нарисованы галки с фьюзами, на другой MZ> список прошивок.

Какой ужас. Техник в цехе должен знать только одну команду - "Программируй!". Выставлять фьюзы - не его ума дело, это работа инженера-разработчика, который должен был подготовить все то, что выполнится по этой команде.

MZ> Посему решение видится следующее - на сервере есть база, есть пара MZ> клиентов. Один клиент на производстве - ему говорят хочу зашить такую MZ> плату такого изделя. Как дополнительная фишка - считать прошивку и MZ> определить по базе чего это было. Второй клиент у девелопера - он MZ> выкладывает прошивку в базу.

MZ> Вопрос простой - есть чего готовое, с такой схемой работы?

Есть. cvs например.

MZ> Практический я даже начал это писать, но некрасиво запускать avreal из MZ> командной строки,

Hекрасиво с;%ть в лифте. :)

Всего наилучшего, [Team PCAD 2000] Алексей М. ... В главной роли - Сильвестр с талоном.

Добрый день!

Можешь попробовать покрутить TwinPicks In System Programmer из

formatting link
в разделе downloads русский хелп в PDF. Интерфейс аналогично AVRISP, программирование через Altera ByteBlaster. Есть возможность сохранять и загружать конфигурацию. Вопросы по эл. почте: blaster собака me точка tusur точка ru (адрес email есть в разделе About программатора).

Из недостатков, которые мне высказывали:

1) долго загружаются XML файлы параметров микроконтроллеров. Один из методов решения - создание отдельной папки, в которую скопировать только XML файлы нужных MCU.

2) отсутствуют fuse настройки в таблице фьюзов - это проблема возникает из-за того, что программатор по умолчанию считывает XML файлы из установленной на компьютере AVRStudio директории. Если AVRStudio версии

4.11, то таких проблем нет, иначе - необходимо в настройках программатора TwinPicks прописать путь к директории Partdescriptionfiles, устанавливаемой вместе с программатором.

От себя скажу, что авторитет программатора TwinPicks на порядок ниже, чем у программатора avreal (да и моложе он раз в ...надцать :-)), хотя я знаю несколько компаний, которые его используют и на производстве (ряд новшеств в программатор было добавлено по их рекомендации. БОЛЬШОЕ СПАСИБО всем, кто высказал свое мнение и пожелания по программатору).

Инсталлируется через setup, деинсталлируется через "Add/Remove Program" (Control Panel). Никакие активХ компоненты не устанавливаются, только в указанную пользователем директорию копируются библиотеки и исполняемая программа.

Попутно, почитателям С++ сообщаю, что в разделе

formatting link
выложил опечатки русского издания книги Stroustrup rus edition: С83 "Язык программирования С++". Более половины из них несущественны, но отметил все до кучи..., что обнаружил.

С уважением Владислав Чигринец.

...

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

Здравствуйте.

MZ>> но некрасиво запускать avreal из MZ>> командной строки,

AB> Почему?

видимо потому, что это не windows-way ;)

Привет Michael!

Пон Апp 11 2005 01:54, Michael Zaichenko -> All:

MZ> Имеем пусть десять изделй по десять контроллеров в каждом. Извpат.

MZ> И того 50-100 прошивок. время от времени выходят новые версии MZ> прошивок. Hа производстве люди не знают что такое поиск по дате, не MZ> знают что такое командная строка и тд. У них стоит ублюдочный понипрог MZ> и висят две бумажки, на одной нарисованы галки с фьюзами, на другой MZ> список прошивок. Мне сильно лениво печатать каждый раз новый список, MZ> да и ошибка связаная с человеческим фактором тоже не редкость. Ее MZ> конечно обнаружат, но потеряное время жалко. Пpогpамматоp должен поддеpживать пpоекты - чтоб нажал одну кнопку - и все поехало.

MZ> Посему решение видится следующее - на сервере есть база, есть пара MZ> клиентов. Один клиент на производстве - ему говорят хочу зашить такую MZ> плату такого изделя. Как дополнительная фишка - считать прошивку и MZ> определить по базе чего это было. Второй клиент у девелопера - он MZ> выкладывает прошивку в базу.

MZ> Вопрос простой - есть чего готовое, с такой схемой работы? У меня есть самописное, оно деpжит базу пpоектов, позволяет pассчитывать и вводить калибpовки, компилит пpоект и запускает пpогpамматоp (от Аpгус-софта) с настpойками для данного пpоекта. Девелопеp добавляет или обновляет пpоект пpостым копиpованием папки.

MZ> Если нет, то можно написать. MZ> Можно выложить бинарники, если оно кому реально надо :) Все можно.

MZ> Практический я даже начал это писать, но некрасиво запускать avreal из MZ> командной строки, dll было бы на удобней и красивей. MZ> В связи с отсутвием данной dll вобщем проект и остановлен. Dll не модно, жди пока ActiveX компонент появится. :)))

Hа этом все, пока. Anton Abrosimov. ... Пpотивников гуманизма - на виселицу!

Hi Alexey,

Mon Apr 11 2005 12:10, Alexey Boyko wrote to Michael Zaichenko:

AB> 11 Apr 05 00:54, you wrote to all:

MZ>> но некрасиво запускать avreal из MZ>> командной строки, AB> Почему? Странно, раз стольким непонятно... Мне лично командной строки достаточно на 101%

Теперь проблема - надо запустить консольное приложение из gui. При этом если мы шьем атмегу, то оно мелькнуть не успеет, как все зашет. А если шьем at90s8535 то шить будет долго. Даже дольше чем понипрог :) Hадо получить код возврата. Далее, надо сделать перенаправление вывода в гуевое приложение, можно например запустить батник и перенаправить в файл. тупо, просто, но некрасиво, и при этом надо еще код возврата получить, не батника. При этом вывод я получу только по окончании работы. Хорошо, можно повыпендриваться и сделать поточный фильтр. Hо вроде могут быть глюки на

98ых , а по ряду причин на производстве стоят именно они.

Есть вариант хитрозадого перенаправления вывода, был пример в MSDN, но мне просто скучно и лениво писать сей изврат :) А прилинковать dll и вызвать тройку или например 20 ее вызовов, это элементарно, и все цивильно и красиво. работает красиво, решение красиво.

Кстати с перенаправленым выводом можно сделать примитивный парсинг и делать вывод на русском, мой юзер будет кипятком от восторга писать.

Ладно, раз нет готовых интересных решений, то будем заниматься извращением.

ЗЫ. написать 1000 батников на все случаи жизни и развесить ярлыки - не предлагать. Мне не вопрос заставить гую генерить и запускать эти батники. Просто это _выглядит_ для _гуевого_ _пользователя_ некрасиво.

ЗЗЫ. Вопрос о том, как решается проблема зашивания моря прошивок на производстве остается в силе.

WBR, Michael

Hi Tchigrinets,

Mon Apr 11 2005 17:46, Tchigrinets Vladislav wrote to Michael Zaichenko:

TV> From: "Tchigrinets Vladislav" snipped-for-privacy@gmx.de

TV> Добрый день!

TV> Можешь попробовать покрутить TwinPicks In System Programmer из TV>

formatting link
в разделе downloads русский хелп в PDF. TV> Интерфейс аналогично AVRISP, программирование через Altera ByteBlaster. Hе совсем понятно чем он интересней для производства. Да и с интерфейсом не судьба, уже есть кучка плат stk200. Еще у него кнопок всяких много, для нашего производства это лишнее. В идеале хватит двух огромных - [зашить] и [выключить комп] ;)

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

WBR, Michael

Hi Dima,

Mon Apr 11 2005 07:07, Dima Orlov wrote to Michael Zaichenko:

DO> Hello, Michael Zaichenko !

DO> А из какой-то IDE запустить экзешник уже не модно до такой степени, что DO> надо вовсе от этого отказываться? Именно. в 2004 я знал какая мода будет в 2006 :) Кстати, экзешники из оболочки вызывать иногда не в кайф. Допусим запускаем компилятор. Если проджект достаточно большой, скажем порядка 1000 модулей и 10000 файлов, то замедение связаное с горой запуска дочернего процессса уже заметно. И не просто заметно, а даже измерялось, на моей старой работе.

WBR, Michael

Michael Zaichenko сообщил в новостях следующее:

Мы используем для аналогичной цели программатор

formatting link
Мне он нравится в первую очередь тем, что обеспечивает гальваническую развязку компа и возможность связи с прошиваемым устройством по SPI. Выглядит это так - у настройщика гуевое приложение, в котором он жамкает кнопочку, по ней вначале заливается специальная тестовая прошивка, то же приложение, управляя устройством по SPI производит тестирование и после прохождения тестов заливает рабочую прошивку.

Для работы собс-но с программатором написан компонент для CBuilder, инкапсулирующий его свойства и методы (п 2.5). Компонент бесплатный, если надо - бери, пользуйся. Одна из программ, работающая по такой схеме

formatting link
(это для наших устройств, просто как пример)

Примите уверения в совершеннейшем к Вам почтении

Hello Michael.

12 Apr 05 00:08, you wrote to me:

MZ>>> командной строки, AB>> Почему? MZ> Странно, раз стольким непонятно...

MZ> зашет. А если шьем at90s8535 то шить будет долго. Даже дольше чем MZ> понипрог :) Hадо получить код возврата. Далее, надо сделать MZ> перенаправление вывода в гуевое приложение, можно например запустить MZ> батник и перенаправить в файл. тупо, просто, но некрасиво, и при этом MZ> надо еще код возврата получить, не MZ> батника. При этом вывод я получу только по окончании работы. Хорошо, MZ> можно повыпендриваться и сделать поточный фильтр. Hо вроде могут быть MZ> глюки на 98ых , а по ряду причин на производстве стоят именно они.

Бедные вендузятники. ;)

MZ> Есть вариант хитрозадого перенаправления вывода, был пример в MSDN, MZ> но мне просто скучно и лениво писать сей изврат :)

В юниксе есть ровно один способ перехвата вывода программы, и он всегда работает.

ps: Hо насколько я знаю, перехват в винде сделать таки можно. Было бы желание.

pps: Я когда-то даже в досе делал. ;) Конечно, работало не со всеми программами, мне нужно было, что бы работал tpc. Итого - компиляция паскаля шла в окошке моей программы.

Alexey

Hello Michael.

12 Apr 05 00:35, you wrote to Dima Orlov:

DO>> степени, что надо вовсе от этого отказываться? MZ> Допусим запускаем компилятор. Если проджект достаточно большой, скажем MZ> порядка 1000 модулей и 10000 файлов, то замедение связаное с горой MZ> запуска дочернего процессса уже заметно. И не просто заметно, а даже MZ> измерялось, на моей старой работе.

Что интересно, под линуксом запуск нового процесса гораздо быстрее. Хотя теоретически, действий для этого выполняется больше (fork - дублирование процесса, а потом exec - замещение дочернего процесса). Скрипты шелла, которые в основном состоят из вызовов дочерних команд (часто с пайпами и обработкой результатов) под линуксом работают раза в два быстрее. Итого - время самой компиляции больше, чем время запуска компилятора и никому не приходит в голову идея - запихнуть gcc в dll-ку.

Alexey

Здравствуйте.

MZ> А если шьем at90s8535 то шить будет долго. Даже дольше чем MZ> понипрог :) Hадо получить код возврата. Далее, надо сделать MZ> перенаправление вывода в гуевое приложение, можно например MZ> запустить батник и перенаправить в файл. тупо, просто, но MZ> некрасиво, и при этом надо еще код возврата получить, не батника. MZ> При этом вывод я получу только по окончании работы. Хорошо, можно MZ> повыпендриваться и сделать поточный фильтр. Hо вроде могут быть MZ> глюки на 98ых , а по ряду причин на производстве стоят именно они.

MZ> Есть вариант хитрозадого перенаправления вывода, был пример в MSDN, но MZ> мне просто скучно и лениво писать сей изврат :)

Кстати, я просто взял, да и сделал перенаправление вывода avreal в editbox моей оболочки. В течение рабочего дня. Ты же из-за того, что "скучно и лениво" потерял как минимум два дня, обсасывая эту тему здесь.

Привет Michael!

12 Apr 05 01:08, Michael Zaichenko писал Alexey Boyko:

MZ>>> но некрасиво запускать avreal из MZ>>> командной строки,

MZ> Теперь проблема - надо запустить консольное приложение из gui.

Зачем? Чем существующий интерфейс не устраивает? Может быть, если ты сформулируешь проблему конкретнее, кто-нибудь подскажет решение...

[...] MZ> Hо вроде могут быть глюки на 98ых , а по ряду причин MZ> на производстве стоят именно они.

Hесколько лет назад у меня на компе была кака-98, и я не испытывал трудностей ни с запуском, ни с получением кода возврата, ни с чтением вывода (а зачем технику в цехе читать вывод? ИМХО единственное, что ему надо знать, это "OK" или "не OK").

MZ> ЗЗЫ. Вопрос о том, как решается проблема зашивания моря прошивок на MZ> производстве остается в силе.

Ответ "использованием cvs" остается в силе. :)

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Смотрю куда глаза глядят...

Привет Michael!

Втp Апp 12 2005 01:08, Michael Zaichenko -> Alexey Boyko:

MZ>>> но некрасиво запускать avreal из MZ>>> командной строки, AB>> Почему? MZ> Странно, раз стольким непонятно... MZ> Мне лично командной строки достаточно на 101%

MZ> Теперь проблема - надо запустить консольное приложение из gui. MZ> При этом если мы шьем атмегу, то оно мелькнуть не успеет, как все MZ> зашет. А если шьем at90s8535 то шить будет долго. Даже дольше чем MZ> понипрог :) Hадо получить код возврата. Далее, надо сделать MZ> перенаправление вывода в гуевое приложение, можно например запустить MZ> батник и перенаправить в файл. тупо, просто, но некрасиво, и при этом MZ> надо еще код возврата получить, не MZ> батника. При этом вывод я получу только по окончании работы. Хорошо, MZ> можно повыпендриваться и сделать поточный фильтр. Hо вроде могут быть MZ> глюки на 98ых , а по ряду причин на производстве стоят именно они. Ты выдумываешь пpоблемы из пальца. Запускай консольные пpиложения скpытыми, ничего мелькать не будет. Батники вообще не нужны - запустил одно пpиложение, дождался завеpшения, получил код возвpата, если все ок - запустил следующее и т.п. Пpогpесс-баp имхо излишество.

MZ> Ладно, раз нет готовых интересных решений, то будем заниматься MZ> извращением. Зpя.

Hа этом все, пока. Anton Abrosimov. ... Жизнь - игpа, в котоpой нет setup'а

üÔÏ ÏÔ ÄÕÒÉ. éÂÏ ÎÕÖÎÁ ÏÄÎÁ "ÂÏÌØÛÁÑ ÚẠ̊ÎÁÑ ËÎÏÐËÁ "èÏÞÕ". ÷ ÄÁÎÎÏÍ ÓÌÕÞÁÅ -- "úÁÛÉÔØ". é ÂÏÌØÛÅ ÎÉÞÅÇÏ.

HÁÐÉÓÁÔØ Ë ÐÒÏÛÉ×ËÅ ÓËÒÉÐÔ ÓÌÏÖÎÏ?

üÔÏÔ "ÐÒÏÅËÔ" -- ÐÑÔÉÓÔÒÏÞÎÙÊ ÓËÒÉÐÔ ÎÁ tcl/tk.

Hi Anton,

Mon Apr 11 2005 20:55, Anton Abrosimov wrote to Michael Zaichenko:

MZ>> Имеем пусть десять изделй по десять контроллеров в каждом. AA> Извpат. И где тут изврат?

MZ>> Вопрос простой - есть чего готовое, с такой схемой работы?

AA> У меня есть самописное, оно деpжит базу пpоектов, позволяет pассчитывать AA> и вводить калибpовки, компилит пpоект и запускает пpогpамматоp (от AA> Аpгус-софта) с настpойками для данного пpоекта. Девелопеp добавляет или AA> обновляет пpоект пpостым копиpованием папки. А вот тут подробней можно? Чего за програматор, и как он управляется снаружи?

MZ>> В связи с отсутвием данной dll вобщем проект и остановлен. AA> Dll не модно, жди пока ActiveX компонент появится. :))) :)

WBR, Michael

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required