Skip to content
mcuee edited this page Oct 7, 2023 · 11 revisions

Some avrdude FAQ entry.

  1. How to read the fuse settings with avrdude 7.0 and later?

If you want to do more, try "terminal mode" (-t). You can browse around interactively through your device, including the fuse values. Non-interactively, it would need -U options, like:

avrdude … -U lfuse:r:-:h -U hfuse:r:-:h -U efuse:r:-:h

  1. JTAG could not write 1s to EEPROM.

Fixed in PR 1076.

  1. Write flash rarely works in terminal mode for classic AVRs

Fixed in PR 1106 and PR 1121.

  1. optiboot timeout too fast, how to use it effectively in terminal mode?
  1. optiboot binary for official Arduino Nano Every and Nano 4808 Clone. https://github.com/avrdudes/avrdude/issues/1166#issuecomment-1302456228

  2. How to geneerate test hex file using srecord https://github.com/avrdudes/avrdude/issues/967#issuecomment-1129380825

Not woring under Windows MSYS2 MinGW but should work under Linux

$ head -512c /dev/urandom | srec_cat - -binary -o - -intel > /tmp/rnd.eep

Working for all OS with bash shell.

$ yes The quick brown fox jumps over the lazy dog             | head -512c | srec_cat - -binary -o - -intel >/tmp/en.eep
$ yes Z jagt im komplett verwahrlosten Taxi quer durch Bayern | head -512c | srec_cat - -binary -o - -intel >/tmp/de.eep
  1. More srecord tricks https://github.com/avrdudes/avrdude/issues/391#issuecomment-1220928466 https://github.com/avrdudes/avrdude/issues/1166#issuecomment-1298881437 https://github.com/avrdudes/avrdude/issues/1068#issuecomment-1279880853 https://github.com/avrdudes/avrdude/issues/425
srec_cat -generate 0x0000 0x001F -repeat_data 0x00 -o zeros_31bytes.hex -Intel -obs=16
srec_cat -generate 0x0000 0x000F -repeat_data 0x55 -o hex55s_15bytes.hex -Intel -obs=16
yes "hello, world" | head -c256 | srec_cat - -bin -offset 0x200 -o hello_world_256B_offset_0x200.hex -Intel
srec_cat -generate 0x0000 0x8000 -repeat_data 0x00 -o zeros32kB.hex -Intel

https://github.com/avrdudes/avrdude/issues/1073

srec_cat test_202B.hex -intel -crop 0x0000 0x7FFF -offset 0x0200 -o test_202B_offset_0x200.hex -intel

$ avrdude -pm32a/At | grep flash.page_size
.ptmm	ATmega32A	flash	page_size	128

$ srec_cat ATTOBASICV234_m32-16MHZ-uart_btldr -i -output - -c_array | tr \\n " " | cut -d, -f128
 0xFF

https://github.com/avrdudes/avrdude/issues/474#issuecomment-1159592117

srec_cat entest.srec -offset 0x021000 -o entest_offset_0x21000.srec
srec_cat entest_offset_0x21000.srec  -o entest_offset_0x21000.hex -intel
srec_cat entest_offset_0x11000.hex -intel -o - -c-arra dopp -Output_Word | tail -9 | head -4

Some more:

srec_cat urboot_atmega328p_autobaud_lednop_ur_vbl.hex -Intel --offset -0x0B00

  1. Not specific to avrdude but useful for Windows https://theitbros.com/how-to-delete-com-ports-in-use/
Clone this wiki locally