LINUX.ORG.RU

avrdude в linux


0

1

Есть микроконтроллер ATtiny85 и программа - под виндой для прошивки пользуюсь унипроф (программатор Громова - http://easyelectronics.ru/avr-shag-p...grammator.html) флэш нормально стирается и программируется, соответственно программа в микроконтроллере работает как надо.

В линукс для прошивки пользуюсь avrdude делаю всё под рутом. Винда и линукс на одном и том же компьютере.

Вот строки в конфиге avrdude.conf для программатора Громова

 programmer
 id = "gromov";
 baudrate = 9600;
 desc = "serial port banging, reset=dtr sck=rts mosi=txd miso=cts";
 type = serbb;
 reset = 4;
 sck = 7;
 mosi = 3;
 miso = 8;
 ; 

Сразу скажу что комментирование строки baudrate = 9600; результата не принесло.

В начале стираю командой:

 avrdude -P /dev/ttyS0 -p t85 -c gromov -e -v
выдаёт:
 avrdude: Version 5.11, compiled on Nov 22 2012 at 22:51:08
 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
 Copyright (c) 2007-2009 Joerg Wunsch

 System wide configuration file is "/usr/local/etc/avrdude.conf"
 User configuration file is "/root/.avrduderc"
 User configuration file does not exist or is not a regular file, skipping

 Using Port : /dev/ttyS0
 Using Programmer : gromov
 AVR Part : ATtiny85
 Chip Erase delay : 4500 us
 PAGEL : P00
 BS2 : P00
 RESET disposition : possible i/o
 RETRY pulse : SCK
 serial program mode : yes
 parallel program mode : yes
 Timeout : 200
 StabDelay : 100
 CmdexeDelay : 25
 SyncLoops : 32
 ByteDelay : 0
 PollIndex : 3
 PollValue : 0x53
 Memory Detail :
Block Poll Page Polled
 Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
 ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
 eeprom 65 6 4 0 no 512 4 0 4000 4500 0xff 0xff
 flash 65 6 32 0 yes 8192 64 128 4500 4500 0xff 0xff
 signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
 lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
 lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
 hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
 efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
 calibration 0 0 0 0 no 2 0 0 0 0 0x00 0x00
 Programmer Type : SERBB
 Description : serial port banging, reset=dtr sck=rts mosi=txd miso=cts

 avrdude: AVR device initialized and ready to accept instructions

 Reading | ################################################## | 100% 0.00s

 avrdude: Device signature = 0x1e930b
 avrdude: safemode: lfuse reads as E2
 avrdude: safemode: hfuse reads as DF
 avrdude: safemode: efuse reads as FF
 avrdude: erasing chip

 avrdude: safemode: lfuse reads as E2
 avrdude: safemode: hfuse reads as DF
 avrdude: safemode: efuse reads as FF
 avrdude: safemode: Fuses OK

 avrdude done. Thank you.
далее записываю командой:
 avrdude -P /dev/ttyS0 -p t85 -c gromov -U flash:w:begogni85.hex:i -v
выдаёт:
 avrdude: Version 5.11, compiled on Nov 22 2012 at 22:51:08
 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
 Copyright (c) 2007-2009 Joerg Wunsch

 System wide configuration file is "/usr/local/etc/avrdude.conf"
 User configuration file is "/root/.avrduderc"
 User configuration file does not exist or is not a regular file, skipping

 Using Port : /dev/ttyS0
 Using Programmer : gromov
 AVR Part : ATtiny85
 Chip Erase delay : 4500 us
 PAGEL : P00
 BS2 : P00
 RESET disposition : possible i/o
 RETRY pulse : SCK
 serial program mode : yes
 parallel program mode : yes
 Timeout : 200
 StabDelay : 100
 CmdexeDelay : 25
 SyncLoops : 32
 ByteDelay : 0
 PollIndex : 3
 PollValue : 0x53
 Memory Detail :
Block Poll Page Polled
 Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
 ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
 eeprom 65 6 4 0 no 512 4 0 4000 4500 0xff 0xff
 flash 65 6 32 0 yes 8192 64 128 4500 4500 0xff 0xff
 signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
 lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
 lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
 hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
 efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
 calibration 0 0 0 0 no 2 0 0 0 0 0x00 0x00
 Programmer Type : SERBB
 Description : serial port banging, reset=dtr sck=rts mosi=txd miso=cts

 avrdude: AVR device initialized and ready to accept instructions

 Reading | ################################################## | 100% 0.00s

 avrdude: Device signature = 0x1e930b
 avrdude: safemode: lfuse reads as E2
 avrdude: safemode: hfuse reads as DF
 avrdude: safemode: efuse reads as FF
 avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
 To disable this feature, specify the -D option.
 avrdude: erasing chip
 avrdude: reading input file "begogni85.hex"
 avrdude: writing flash (54 bytes):

 Writing | ################################################## | 100% 0.19s

 avrdude: 54 bytes of flash written
 avrdude: verifying flash memory against begogni85.hex:
 avrdude: load data flash data from input file begogni85.hex:
 avrdude: input file begogni85.hex contains 54 bytes
 avrdude: reading on-chip flash data:

 Reading | ################################################## | 100% 0.02s

 avrdude: verifying ...
 avrdude: verification error, first mismatch at byte 0x0000
 0x0e != 0x00
 avrdude: verification error; content mismatch

 avrdude: safemode: lfuse reads as E2
 avrdude: safemode: hfuse reads as DF
 avrdude: safemode: efuse reads as FF
 avrdude: safemode: Fuses OK

 avrdude done. Thank you.
Как видно вылезла ошибка:
 avrdude: verifying ...
 avrdude: verification error, first mismatch at byte 0x0000
 0x0e != 0x00
 avrdude: verification error; content mismatch
Вроде как кристалл не стёрся, но стирание вроде прошло нормально. Естественно программа на микроконтроллере работает не так, причём иногда бывает так что записывается без этой ошибки, соответственно тогда всё работает нормально.

Подскажите пожалуйста в чём может быть проблема!! За помощь заранее благодарен!!!! Ответить с цитированием

★★

avrdude: verification error, first mismatch at byte 0x0000

У меня под Фрей это обычное дело почему-то. Но ничего, программа пишетс нормально

amphibrakhij ()
Ответ на: комментарий от v4567

У меня под Фрей это обычное дело почему-то. Но ничего, программа пишетс нормально

а у меня не работает, вернее работает со сбоем - то работает то нет.

Под виндой пишется всё без ошибок и соответственно работает без сбоев и ошибок!

v4567 ★★ ()
Ответ на: комментарий от v4567

А на что ты хотел дать. На программатор, наверное

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

Вот ссылка на программатор Громова: http://easyelectronics.ru/avr-shag-pervyj-programmator.html

v4567 ★★ ()
Ответ на: комментарий от v4567

Но я этот программатор уже спаял, я при помощи него программирую микроконтроллеры и под виндой нормально программируется, а вот под линуксом - avrdude программируется с ошибками.

v4567 ★★ ()

Как видно вылезла ошибка:

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0x0e != 0x00
avrdude: verification error; content mismatch

Наблюдал нечто подобное, но только с другой авр-кой. Попробуй команду прошивки без цикла стирания (-D опция). Собственно стирание флеши можно сделать и отдельной командой, как было в этом примере (-e опция).

anonymous ()

Я конечно дико извиняюсь, если что пойдет не так, но для SIO можно попробовать заюзать -c ponyprog. Не, SIO оно и в Африке SIO, пофиг какой там программатор, ИМХО. Для пущей уверенности можно сравнить исходники

amphibrakhij ()
Ответ на: комментарий от amphibrakhij

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

У меня в конфиге avrdude.conf id с параметром ponyprog вообще нет, так что с параметром -c ponyprog работать вообще не будет. Сейчас вот проверил, соответственно выдало вот что:

avrdude: Can't find programmer id "ponyprog"

Valid programmers are:
  c2n232i  = serial port banging, reset=dtr sck=!rts mosi=!txd miso=!cts [/usr/local/etc/avrdude.conf:1010]
  dasa3    = serial port banging, reset=!dtr sck=rts mosi=txd miso=cts [/usr/local/etc/avrdude.conf:997]
  dasa     = serial port banging, reset=rts sck=dtr mosi=txd miso=cts [/usr/local/etc/avrdude.conf:984]
  siprog   = Lancos SI-Prog <http://www.lancos.com/siprogsch.html> [/usr/local/etc/avrdude.conf:971]
  ponyser  = design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts [/usr/local/etc/avrdude.conf:958]
  89isp    = Atmel at89isp cable            [/usr/local/etc/avrdude.conf:925]
  frank-stk200 = Frank STK200                   [/usr/local/etc/avrdude.conf:911]
  blaster  = Altera ByteBlaster             [/usr/local/etc/avrdude.conf:898]
  ere-isp-avr = ERE ISP-AVR <http://www.ere.co.th/download/sch050713.pdf> [/usr/local/etc/avrdude.conf:888]
  atisp    = AT-ISP V1.1 programming cable for AVR-SDK1 from <http://micro-research.co.th/>  [/usr/local/etc/avrdude.conf:878]
  dapa     = Direct AVR Parallel Access cable [/usr/local/etc/avrdude.conf:867]
  xil      = Xilinx JTAG cable              [/usr/local/etc/avrdude.conf:854]
  futurlec = Futurlec.com programming cable. [/usr/local/etc/avrdude.conf:836]
  abcmini  = ABCmini Board, aka Dick Smith HOTCHIP [/usr/local/etc/avrdude.conf:826]
  picoweb  = Picoweb Programming Cable, http://www.picoweb.net/ [/usr/local/etc/avrdude.conf:816]
  sp12     = Steve Bolt's Programmer        [/usr/local/etc/avrdude.conf:805]
  alf      = Nightshade ALF-PgmAVR, http://nightshade.homeip.net/ [/usr/local/etc/avrdude.conf:789]
  bascom   = Bascom SAMPLE programming cable [/usr/local/etc/avrdude.conf:779]
  dt006    = Dontronics DT006               [/usr/local/etc/avrdude.conf:769]
  pony-stk200 = Pony Prog STK200               [/usr/local/etc/avrdude.conf:757]
  stk200   = STK200                         [/usr/local/etc/avrdude.conf:741]
  bsd      = Brian Dean's Programmer, http://www.bsdhome.com/avrdude/ [/usr/local/etc/avrdude.conf:730]
  pavr     = Jason Kyle's pAVR Serial Programmer [/usr/local/etc/avrdude.conf:722]
  dragon_pdi = Atmel AVR Dragon in PDI mode   [/usr/local/etc/avrdude.conf:715]
  dragon_dw = Atmel AVR Dragon in debugWire mode [/usr/local/etc/avrdude.conf:707]
  dragon_hvsp = Atmel AVR Dragon in HVSP mode  [/usr/local/etc/avrdude.conf:699]
  dragon_pp = Atmel AVR Dragon in PP mode    [/usr/local/etc/avrdude.conf:691]
  dragon_isp = Atmel AVR Dragon in ISP mode   [/usr/local/etc/avrdude.conf:683]
  dragon_jtag = Atmel AVR Dragon in JTAG mode  [/usr/local/etc/avrdude.conf:675]
  jtag2pdi = Atmel JTAG ICE mkII PDI mode   [/usr/local/etc/avrdude.conf:667]
  jtag2avr32 = Atmel JTAG ICE mkII im AVR32 mode [/usr/local/etc/avrdude.conf:659]
  jtagmkII_avr32 = Atmel JTAG ICE mkII im AVR32 mode [/usr/local/etc/avrdude.conf:651]
  jtag2dw  = Atmel JTAG ICE mkII in debugWire mode [/usr/local/etc/avrdude.conf:643]
  jtag2isp = Atmel JTAG ICE mkII in ISP mode [/usr/local/etc/avrdude.conf:635]
  jtag2    = Atmel JTAG ICE mkII            [/usr/local/etc/avrdude.conf:627]
  jtag2fast = Atmel JTAG ICE mkII            [/usr/local/etc/avrdude.conf:619]
  jtag2slow = Atmel JTAG ICE mkII            [/usr/local/etc/avrdude.conf:611]
  jtagmkII = Atmel JTAG ICE mkII            [/usr/local/etc/avrdude.conf:603]
  jtag1slow = Atmel JTAG ICE (mkI)           [/usr/local/etc/avrdude.conf:596]
  jtag1    = Atmel JTAG ICE (mkI)           [/usr/local/etc/avrdude.conf:588]
  jtagmkI  = Atmel JTAG ICE (mkI)           [/usr/local/etc/avrdude.conf:580]
  butterfly_mk = Mikrokopter.de Butterfly       [/usr/local/etc/avrdude.conf:574]
  mkbutterfly = Mikrokopter.de Butterfly       [/usr/local/etc/avrdude.conf:568]
  avr911   = Atmel AppNote AVR911 AVROSP    [/usr/local/etc/avrdude.conf:561]
  avr109   = Atmel AppNote AVR109 Boot Loader [/usr/local/etc/avrdude.conf:555]
  butterfly = Atmel Butterfly Development Board [/usr/local/etc/avrdude.conf:549]
  usbtiny  = USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/ [/usr/local/etc/avrdude.conf:543]
  usbasp   = USBasp, http://www.fischl.de/usbasp/ [/usr/local/etc/avrdude.conf:537]
  avr910   = Atmel Low Cost Serial Programmer [/usr/local/etc/avrdude.conf:531]
  stk600hvsp = Atmel STK600 in high-voltage serial programming mode [/usr/local/etc/avrdude.conf:525]
  stk600pp = Atmel STK600 in parallel programming mode [/usr/local/etc/avrdude.conf:519]
  stk600   = Atmel STK600                   [/usr/local/etc/avrdude.conf:513]
  stk500hvsp = Atmel STK500 V2 in high-voltage serial programming mode [/usr/local/etc/avrdude.conf:507]
  stk500pp = Atmel STK500 V2 in parallel programming mode [/usr/local/etc/avrdude.conf:501]
  stk500v2 = Atmel STK500 Version 2.x firmware [/usr/local/etc/avrdude.conf:495]
  mib510   = Crossbow MIB510 programming board [/usr/local/etc/avrdude.conf:489]
  stk500v1 = Atmel STK500 Version 1.x firmware [/usr/local/etc/avrdude.conf:483]
  stk500   = Atmel STK500                   [/usr/local/etc/avrdude.conf:477]
  buspirate = The Bus Pirate                 [/usr/local/etc/avrdude.conf:467]
  avrisp2  = Atmel AVR ISP mkII             [/usr/local/etc/avrdude.conf:461]
  avrispmkII = Atmel AVR ISP mkII             [/usr/local/etc/avrdude.conf:455]
  avrispv2 = Atmel AVR ISP V2               [/usr/local/etc/avrdude.conf:449]
  avrisp   = Atmel AVR ISP                  [/usr/local/etc/avrdude.conf:443]
  jtagkey  = Amontec JTAGKey, JTAGKey-Tiny and JTAGKey2 [/usr/local/etc/avrdude.conf:420]
  2232HIO  = FT2232H based generic programmer [/usr/local/etc/avrdude.conf:394]
  avrftdi  = FT2232D based generic programmer [/usr/local/etc/avrdude.conf:367]
  arduino  = Arduino                        [/usr/local/etc/avrdude.conf:347]
  wiring   = Wiring                         [/usr/local/etc/avrdude.conf:341]
  gromov   = serial port banging, reset=dtr sck=rts mosi=txd miso=cts [/usr/local/etc/avrdude.conf:330]
v4567 ★★ ()
Ответ на: комментарий от amphibrakhij

Попробую сейчас на других форумах поспрашивать.

v4567 ★★ ()
Ответ на: комментарий от v4567

Я ponyser хотел присоветовать, но судя по всему, принцип у них один, но ноги, куда подаются сигналы, разные. Так что не выйдет, наверно. Да и дело вряд ли в этом.

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

Копай исходники, вряд ли прога сложная)

amphibrakhij ()
Ответ на: комментарий от v4567

Если решите проблему, напиши мне в ответ на мой коммент, плиз (чтобы пришло уведомление)

amphibrakhij ()
Ответ на: комментарий от v4567

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

Понятно. А как сейчас выглядит цикл прошивки? Отдельно команда на стирание, а затем следом команда на запись?

anonymous ()
Ответ на: комментарий от anonymous

Понятно. А как сейчас выглядит цикл прошивки? Отдельно команда на стирание, а затем следом команда на запись?

Да именно так. Вначале стираю, потом записываю.

v4567 ★★ ()
Ответ на: комментарий от v4567

Если решите проблему, напиши мне в ответ на мой коммент, плиз (чтобы пришло уведомление)

Конечно обязательно напишу.

v4567 ★★ ()
Ответ на: комментарий от v4567

Понятно. А как сейчас выглядит цикл прошивки? Отдельно команда на стирание, а затем следом команда на запись?

Да именно так. Вначале стираю, потом записываю.

Проблемы с этими процессорами у меня были именно со стиранием памяти. По всей видимости программатор avrdude криво завершал стирание. После отключения автостирания они прекратились.

Можно предложить еще такой эксперимент.

1) Два раза подряд дать команду стирания. По идее вторая команда должна завершится ошибкой.

2) Попробовать будет ли прояляться ошибка без цикла стирания (чистая перезапись несколько раз).

anonymous ()

ТС! Купи себе нормальный JTAG, больше профита получишь.

Не трать время на эту чушь, я тоже с этим возился на заре своей карьеры. Лучше купить спец программатор и сразу заняться изучением - в общем ДЕЛОМ.

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

ТС! Купи себе нормальный JTAG, больше профита получишь.

Программатор Громова отличный программатор! Под виндой всё работает аж летает!!!!!!!!!!!

Выяснил вот что.

Под линуксом стёр командой: avrdude -P /dev/ttyS0 -p t85 -c gromov -e потом перегрузился в винду и программой унипроф проверил флэш микроконтроллера на запись туда единичек. Так вот унипроф показал что во флэш записаны одни единички, то есть флэш полностью забита единичками, что говорит о том что команда: avrdude -P /dev/ttyS0 -p t85 -c gromov -e работает нормально.

Потом перегрузился в линукс и командой: avrdude -P /dev/ttyS0 -p t85 -c gromov -D -U flash:w:begogni85.hex:i

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

v4567 ★★ ()
Ответ на: комментарий от v4567

блин не те теги написал надо

avrdude -P /dev/ttyS0 -p t85 -c gromov -e
avrdude -P /dev/ttyS0 -p t85 -c gromov -D -U flash:w:begogni85.hex:i 
v4567 ★★ ()
Ответ на: комментарий от v4567

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

Всё будет, инфа 100%. Иногда он у меня в fuse байты какую-то фигню писал, но об этом он пишет, и ты их поправишь

amphibrakhij ()
Ответ на: комментарий от v4567

Не знал, что он Громова программатор. Разные программы разные линии в порту могут использовать, надо «родной» программатор. Вообщем, надо проверить какие линии avrdude использует и для чего. Понипрог вот точно инверсный reset использует и с этой схемой неправильно работает.

ilovewindows ★★★★★ ()
Ответ на: комментарий от ilovewindows

Наверное всё дело в скорости. Сейчас пытаюсь выяснить с какой скоростью на унипроф программирую.

v4567 ★★ ()
Ответ на: комментарий от ilovewindows

Что такое соединение 2 с 3? На схеме там разные разъемы, субминиатюрные с 9 ногами (почти у всех com порт такой) и с 25, и ноги для них нарисованы. Или ты о чём?

amphibrakhij ()
Ответ на: комментарий от ilovewindows

reset = 4;

sck = 7; mosi = 3; miso = 8;

Вроде соответствуют с теми, что на схеме.

amphibrakhij ()
Ответ на: комментарий от ilovewindows

А где там соединение 2 с 3 написано например? Не было никогда в «пять проводков» этого соединения.

Не понял тебя....???

Уменьшение скорости не помогло. Запускал с опцией -b 110 и всё равно ошибка.

v4567 ★★ ()
Ответ на: комментарий от v4567

Смотри, выходы идут через диод,чтобы -12В RS232 не пролезло на плату, потом делитель пополам, со средней точки снимается половина от 12 вольт и на плату микроконтроллера. Третий контакт DB9 на MOSI и еще заворачивает на 2 DB9 это приёмник, то есть то что пишем еще и считываем. Посмотри другие схемы «программатор 5 проводов», там нет этого. Лучше доки на avrdude посмотри, что они про программатор пишут или альтернативные схемы. С avrdude по 5 проводам не делал, но с понипрог работал и с COM и LPT, точно помню что транзистор запаивал для инверсии ресета. Может тоже по разному эти пять проводов изобретатели программатора и avrdude понимают. Найди еще схемы и сравни.

ilovewindows ★★★★★ ()
Ответ на: комментарий от v4567

Кстати детали я так и не понял. amphibrakhij Если детали понял объясни.

Теперь я расскажу как я делаю.

У меня по команде:

stty < /dev/ttyS0

Выдавало:

speed 9600 baud; line = 0;
-brkint -imaxbel

Флагов всего два -brkint -imaxbel как говорят их не достаточно.

Поэтому выполняю команду:

stty 9600 ignbrk -brkint -icrnl -imaxbel -opost -isig -icanon -iexten -echo noflsh </dev/ttyS0

Её надо в автозагрузку поместить или выполнять один раз после перезагрузки компа перед прошитием микроконтроллера.

Теперь по команде:

stty < /dev/ttyS0

Выдаёт:

speed 9600 baud; line = 0;
min = 1; time = 0;
ignbrk -brkint -icrnl -imaxbel
-opost
-isig -icanon -iexten -echo noflsh

После этого всё начинает работать. Вначале стираю командой:

avrdude -P /dev/ttyS0 -p t85 -c gromov -b 9600 -B 48 -e
или
avrdude -P /dev/ttyS0 -p t85 -c gromov -b 9600 -e
или
avrdude -P /dev/ttyS0 -p t85 -c gromov -e

Далее программирую:

avrdude -P /dev/ttyS0 -p t85 -c gromov -b 9600 -B 48 -D -U flash:w:begogni85.hex:i
или
avrdude -P /dev/ttyS0 -p t85 -c gromov -b 9600 -B 48 -U flash:w:begogni85.hex:i
или
avrdude -P /dev/ttyS0 -p t85 -c gromov -b 9600 -U flash:w:begogni85.hex:i
или
avrdude -P /dev/ttyS0 -p t85 -c gromov -U flash:w:begogni85.hex:i

Со всеми командами работает нормально.

v4567 ★★ ()
Ответ на: комментарий от v4567

И чего бы avrdude сразу самой не выставлять параметры порта, если уж тип программатора задан. Ну да ладно, фик с ней.

ilovewindows ★★★★★ ()
Ответ на: комментарий от v4567

Могу только предположить, что в потоке есть специальные символы, которые не передаются напрямую, а как-то косвенно влияют на вход (например, когда ты жмешь backspace в терминале, он не передается, а стирает предыдущий символ). С отключением canonical режима, ты передаешь их avrdude так, как они должны идти. Ну итд Странно, что avrdude не делает этого сам. Надо бы написать патч.

amphibrakhij ()
Ответ на: комментарий от amphibrakhij

Манипуляции с 0xA и 0xD еще есть. Что на что меняется не помню уже.

ilovewindows ★★★★★ ()

тред подробно не читал, что-то похожее у меня тоже было, но под виндой и с юнипрофом и программатором «5 проводков в LPT-порт»

Я предполагаю, что это аппаратные проблемы, наводки помех на кабель программатора при записи. Кабель от компа к контроллеру какой длины?

Harald ★★★★★ ()
Ответ на: комментарий от Harald

Я предполагаю, что это аппаратные проблемы, наводки помех на кабель программатора при записи. Кабель от компа к контроллеру какой длины?

50 сантиметров

v4567 ★★ ()
Ответ на: комментарий от Harald

Oh my, у моего девайса провод ~ 2.5 метра. 9600 бод, полет нормальный

amphibrakhij ()
Ответ на: комментарий от v4567

ну так программатор, а с JTAG - тем более новичку - крайне рекомендую начать именно с него

I-Love-Microsoft ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.