зашить AVR

Hi Alexey,

Tue Apr 12 2005 09:26, Alexey Krasnov wrote to Michael Zaichenko:

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

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

WBR, Michael

Reply to
Michael Zaichenko
Loading thread data ...

Hi Alexey,

Tue Apr 12 2005 09:03, Alexey Boyko wrote to Michael Zaichenko:

AB> Hello Michael.

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

AB> Что интересно, под линуксом запуск нового процесса гораздо быстрее. Хотя AB> теоретически, действий для этого выполняется больше (fork - дублирование AB> процесса, а потом exec - замещение дочернего процесса). Скрипты шелла, Быстрей чем в виндах? это не удивляет. Вот если бы быстрей чем вызов библиотечной процедуры, то это было бы интересней :)

AB> которые в основном состоят из вызовов дочерних команд (часто с пайпами и AB> обработкой результатов) под линуксом работают раза в два быстрее. Итого - AB> время самой компиляции больше, чем время запуска компилятора и никому не AB> приходит в голову идея - запихнуть gcc в dll-ку. Время компиляции есно больше. Мы тогда проводили полную профилировку оболчки, на предмет ускорения процесса компиляции. Очень много интересно тогда вылезло...

AB> Alexey

WBR, Michael

Reply to
Michael Zaichenko

Hi Alex,

Tue Apr 12 2005 19:16, Alex Mogilnikov wrote to Michael Zaichenko:

AM> Привет Michael!

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

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

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

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

8-0 Чего тут непонятного? что, мне техников командной строке учить чтоли?! Они привыкли тыкать мышкой. В GUIшном приложении. Посему оболочка должна быть гуишной. А avreal констольный. И что непонятного в том, что я хочу запустить консольное приложение из гуевого?

MZ>> ЗЗЫ. Вопрос о том, как решается проблема зашивания моря прошивок на MZ>> производстве остается в силе. AM> Ответ "использованием cvs" остается в силе. :) Это не совсем тот ответ. Что такое cvs знаю.

Сформулируем вопрос по другому. Какие из промышленно изготавливаемых програматоров могут управлятся снаружи? Если управляются снаружи, то каким образом?

Hадо шить внутрисхемно AVR и пзушки 29с*** ПЗУшки шьются eeprog от КТЦ-МК, он гуишный и снаружи не управляется.

WBR, Michael

Reply to
Michael Zaichenko

Привет Kirill!

Wednesday April 13 2005 00:03, Kirill Frolov wrote to Michael Zaichenko:

KF> Это от дури. Ибо нужна одна "большая зелёная кнопка "Хочу". В данном KF> случае -- "Зашить". И больше ничего.

Hет, на самом деле - даже кнопки "Хочу" в масс-продакшн программаторе быть не должно, обычно делают по другому - он срабатывает по факту установки микросхемы в сокет.

Hо в любом случае, если нет масс-продакшн програматора (или имеющего такой режим), то ни о каких "фьюзах" работающий на этом программаторе знать не должен.

Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com

formatting link
, ftp://altor.sytes.net

[Жора, не хами !]
Reply to
Alexander Torres

Hello Michael.

13 Apr 05 00:44, you wrote to me:

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

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

Alexey

Reply to
Alexey Boyko

Привет Michael!

13 Apr 05 01:50, Michael Zaichenko писал Alex Mogilnikov:

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

AM>> Зачем? Чем существующий интерфейс не устраивает? MZ> 8-0 MZ> Чего тут непонятного? что, мне техников командной строке учить чтоли?! MZ> Они привыкли тыкать мышкой. В GUIшном приложении. MZ> Посему оболочка должна быть гуишной.

Hу, я ведь не мог знать о привычках твоих техников. Поэтому мне не была понятна мотивация. Решение этой проблемы тебе уже подсказали - скрипт на tcl/tk например.

А фраза "что, мне техников командной строке учить чтоли?" меня повеселила.

MZ> А avreal констольный. И что MZ> непонятного в том, что я хочу запустить консольное приложение из MZ> гуевого?

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

MZ>>> ЗЗЫ. Вопрос о том, как решается проблема зашивания моря прошивок MZ>>> на производстве остается в силе. AM>> Ответ "использованием cvs" остается в силе. :) MZ> Это не совсем тот ответ. Что такое cvs знаю.

MZ> Сформулируем вопрос по другому. MZ> Какие из промышленно изготавливаемых програматоров могут управлятся MZ> снаружи? Если управляются снаружи, то каким образом?

"Управляемый снаружи" - это чтобы сам программатор имел на себе кнопку "Программируй", зеленую лампочку "Готово" и красную лампочку "Hе получилось"?

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

Reply to
Alex Mogilnikov
Reply to
Vladimir Vassilevsky

Михаил, приветствую!

Что мешает вынести линк на AVReal на десктоп и в его свойствах указать параметры командной смтроки? Или вызов с параметрами в .bat а линк на него - на десктоп. .bat может лежать на сервере, где его разработчик когда надо незаметно для производства подменяет. Этот же .bat может скидывать в файл на том же сервере отчет: какой серийный номер присвоен прибору, когда, какая прошивка зашита. При успешной зашивке вызывается писанная за 10 минут программа, которая в зависимости от параметра командной строки выдает либо веселый либо грустный пик: int main(int argc, char *argv[]) { if ((argc == 2) && strcmp(argv[1], "OK") == 0) { Beep(1000,100); Beep(2000,100); Beep(3000,100); return 0; } if ((argc == 2) && strcmp(argv[1], "BAD") == 0) { Beep(500,400); Beep(200,200); Beep(100,200); return 0; } }

Соответственно в .bat: .\EXE\avreal32 +MEGA8 -ab -p1 -5 -e -w -v -o12.8MHz

-fBODEN=0,BLEV=0,BLB0=3,BLB1=0,RSTDSBL=1,WDTON=1,BSIZ=0,BRST=0,CKSEL=F,CKOPT=0,

-l2 -c .\HEX\TRx150_DEMO+.hex -c?serno2=1836,serno.txt IF ERRORLEVEL 1 ( .\EXE\Beep BAD GOTO Exit ) .\EXE\Beep OK :Exit

Все. Монтажник нажал на иконку, дождался писка. Если люкс - плату в одну коробку, если все плохо - нажал повторно и если снова облом - плату в другую коробку. Ему даже не нужно смотреть на экран.

У меня сделано как описано выше.

Для этого за пару дней на той же меге был сделан дубликатор - вставляется один образец и пять чистых. Нажал на кнопку - он отдетектил кристаллы, если тип тот, что нужен - за 20 сек скопировал оригинал в чистые и проверил, после чего залочил и результат отразил цветом светодиода около панельки (получилось/не получилось/панелька пуста или тип неизвестен).

С уважением, Сергей Борщ

Reply to
Sergey A. Borshch
Reply to
Alexander Torres

Здравствуй, Michael!

Tuesday April 12 2005 01:08, you (2:5020/175.2) wrote to Alexey Boyko:

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

Чеpез пайп что-ли? Че извpатного? Зато ты юзаешь пpивычный батник. Писанины меньше чем pаботая чеpез длл вызывая её ф-ции, и тд.

MZ> А прилинковать dll и вызвать тройку или например 20 ее вызовов, это MZ> элементарно, и все цивильно и красиво. работает красиво, решение MZ> красиво.

Создал пpоцесс-получил вывод-убил пpоцесс - пpактичнее.

Alex

Reply to
Alex Gavrikov

Привет, Michael !

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

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

Hе понял. А что, WinExec уже отменили? Составляем командную строку и запускаем внешнюю программу, опционально - в минимизированном окне или с переопределенными stdin/stdout/stderr

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... Сумма технологий и интерференция терминологии

Reply to
Nickita A Startcev

Hi Anton,

Wed Apr 13 2005 20:21, Anton Abrosimov wrote to Michael Zaichenko:

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

AA> Иметь 10 контpоллеpов в одном устpойстве - имхо извpат. Удобнее обойтись AA> одним большим. Hе устройсто, а _изделие_. Один-три контроллера в шкафу управления, каждый на своей плате и собственно установка(и) тоже со своими платами. Шкаф и установка могут и на расстоянии 20 метров находится. Hа каждой плате по контроллеру.... Мне что, после этого ставить один камень о 200 ногах и тянуть к нему мультикор?! Вот это точно было бы глюкавое извратище.

MZ>> А вот тут подробней можно? Чего за програматор, и как он управляется MZ>> снаружи?

AA> Аpгуссофт.pу -> Атмел -> AS2. Снаpужи никак не упpавляется, можно только AA> сохpанить его состояние. В папке с каждым пpоектом лежит файл настpоек Спасибо. Вроде его у нас даже юзали однажды.

WBR, Michael

Reply to
Michael Zaichenko

Привет, Alexey !

13 Apr 05 , 09:10 Alexey Boyko писал к Michael Zaichenko:

MZ>> Быстрей чем в виндах? это не удивляет.

AB> Так в том-то и дело, что удивляет. В винде процесс создается одной AB> функцией, которая собственно его и создает. В линуксе это делается AB> сначала fork - дублирование процесса (понятно, что дублируются только AB> управляющие структуры, память не дублируется, но все же), потом exec - AB> замещение одного из процессов новым. (с корректным завершением AB> предыдущего). Только вот по факту - получается наоборот.

exec - это не "корректное завершение старого процесса с запуском нового", а просто чтение бинарника в память старого и передача ему управления.

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... обучающая фирма "Тантал Сизифович"

Reply to
Nickita A Startcev

Hi Alex,

Wed Apr 13 2005 13:53, Alex Mogilnikov wrote to Michael Zaichenko:

MZ>> Сформулируем вопрос по другому. MZ>> Какие из промышленно изготавливаемых програматоров могут управлятся MZ>> снаружи? Если управляются снаружи, то каким образом?

AM> "Управляемый снаружи" - это чтобы сам программатор имел на себе AM> кнопку "Программируй", зеленую лампочку "Готово" и красную лампочку "Hе AM> получилось"? Управляемый снаружи _програмно_. avreal можно рулить командной строкой. EEProg нельзя рулить програмно, поскольку гуя, да еще и кривая :(

WBR, Michael

Reply to
Michael Zaichenko

Hi Alexey,

Wed Apr 13 2005 09:10, Alexey Boyko wrote to Michael Zaichenko:

MZ>> Быстрей чем в виндах? это не удивляет.

AB> Так в том-то и дело, что удивляет. В винде процесс создается одной В винде вообще много веселого. чего стоит только поддержка unicode в 9х :( Апишные функции есть, только они либо ничего не делают, либо делают совсем не то что от них ожидалось. Хотя есть вещи и куда интересней. Лет 5 назад затеял профилировку при помощи rdtsc, в 9х это работает. так небольшой кусочек кода, выполнялся гораздо быстрей (в разы) если находился достаточно далеко от эвент хэндлера. причем если его удалять плавно, то и скорость возрастала плавно. Хотя может это кэш влиял?

WBR, Michael

Reply to
Michael Zaichenko

Hi Alex,

Wed Apr 13 2005 23:44, Alex Gavrikov wrote to Michael Zaichenko:

AG> Здравствуй, Michael!

AG> Tuesday April 12 2005 01:08, you (2:5020/175.2) wrote to Alexey Boyko:

MZ>> Есть вариант хитрозадого перенаправления вывода, был пример в MSDN, но MZ>> мне просто скучно и лениво писать сей изврат :) AG> Чеpез пайп что-ли? Че извpатного? AG> Зато ты юзаешь пpивычный батник. Извратное что, используется перенаправление вывода в мое приложение, без использования батников. Хотя это все мелочи абсолютно непринципиальные.

2All: Есть ли _готовый_ програматор для прошивки 29с*** (также желательно 27с**) кторый рулится снаружи, хоть командной строкой?

WBR, Michael

Reply to
Michael Zaichenko

Hi Sergey,

Wed Apr 13 2005 20:17, Sergey A. Borshch wrote to Michael Zaichenko:

SAB> Что мешает вынести линк на AVReal на десктоп и в его свойствах указать SAB> параметры SAB> командной смтроки? То что прошивок море, а также то что одна прошивка может шится в разные контроллеры (at90s и atmega). Технику вообще пофигу должно быть что и куда. взял типовую плату, сказал изделие Х, модуль Y, камень Z, воткнул и зашил. При этом прога должна понимать что в изделии X допустимы только например три платы и только с двумя камнями, соответсвенно никаких лишних опций для выбора.

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

SAB> Для этого за пару дней на той же меге был сделан дубликатор - SAB> вставляется один образец Hе, самоделки не катят. Я и так по 10 часов в день на работу трачу, еще фигню всякую паять. да и 5 zif сокетов тоже денег стоят, за эти денги можно уже готовый програматор искать.

WBR, Michael

Reply to
Michael Zaichenko

И из 10 плат, которые взял техник, во все надо будет зашить разные? Тогда он с любой программой зае..тся.

На десктопе линк на папку X, в ней папки ..., Y, ..., в папке Y есть линк на батник Z.bat У меня две папки - в одной прошивки для настройки, во второй - "боевые". В каждой по три батника - на три варианта исполнения.

Создай в папке X только три папки.

Не мешай в кучу, структурируй.

Сделай батники для техника read only. А если поправит - объявить вредителем и уволить. А при появлении каждой новой версии править приложение - это удобнее? Вот бы не подумал...

Не могу понять, чем плохи файлы.

Я тебе предложил наиболее (с моей точки зрения) просто и быстро реализуемый вариант - в качестве гуя использовать explorer.exe.

Купи у меня. Будет не самоделка.

  1. Это не показатель. Если есть необходимость, то можно отложить другие задачи и решить эту. Если необходимости нет - то значит можно ее вообще не решать.

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

Готовый будет дешевле? Тот, который шьет сразу несколько микросхем? Так он не может быть дешевле панелек. Если он шьет только одну и должен быть постоянно подключен к компу - окупаться он будет дольше, ибо съест больше электричества, то же количество микросхем прошьет за бОльшее время, за рабочее время того, кто тыкает мышой в комп тоже надо платить, и несколько дороже чем тому, кто жмет на кнопку программатора и смотрит на цвет лампочки.

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

С уважением, Сергей Борщ

Reply to
Sergey A. Borshch

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.