Commit Graph

3169 Commits

Author SHA1 Message Date
Stefan Rueger
48cb4a9b28 Merge pull request #2090 from stefanrueger/dryboot
Make `-c dryboot` emulate `-c urclock -x nometadata`
2026-04-05 18:55:51 +01:00
Stefan Rueger
cf4793a2b2 Merge pull request #2087 from stefanrueger/buspirate
Simplify `buspirate_expect_bin_byte()` function
2026-04-05 18:55:16 +01:00
Stefan Rueger
83579e16a1 Merge pull request #2086 from stefanrueger/messages
Use verbosity levels consistently
2026-04-05 18:54:54 +01:00
Stefan Rueger
8a527c9bfe Merge pull request #2085 from stefanrueger/write_byte
Update single byte writes, ie, skip write if data already there
2026-04-05 18:53:28 +01:00
Stefan Rueger
6b694b0ff4 Furnish b/loader paged write with write protection 2026-04-05 18:48:43 +01:00
Stefan Rueger
ccf27a4736 Remove write protection from jmp-to-application vector
When serving a vector bootloader, both -c urclock and now -c dryboot used
to protect two vectors in the vector table, the reset vector and the
dedicated vector to jump to the application.

Only the reset vector needs protecting to avoid the vector bootloader to
be bricked. While overwriting the other vector might turn out not helpful,
it's the same as with many other interventions, so much so that the driver
should not prevent that. Hence, this commit withdraws the protection of
the jmp-to-application vector.
2026-04-05 09:49:19 +01:00
Stefan Rueger
fbb7b0bafa Update -c dryboot documentation 2026-04-03 16:30:10 +01:00
Stefan Rueger
818078f20f Remove dryboot classic fuse protection 2026-04-03 12:05:45 +01:00
Stefan Rueger
37bc0afad7 Add bootloader and vector write protection 2026-04-03 01:49:16 +01:00
Stefan Rueger
bcb993f204 Patch sketches witch -c dryboot as with -c urclock -x nometadata 2026-04-03 01:12:20 +01:00
Stefan Rueger
fff6096902 Introduce int (*cmdhook)() 2026-04-02 23:18:23 +01:00
Stefan Rueger
03aa193722 Introduce int (*updatehook)() 2026-04-02 23:12:17 +01:00
Stefan Rueger
d1544c18ef Provide urbootPutVersion() 2026-04-02 22:51:41 +01:00
Stefan Rueger
3b481d45c9 Rename static urbootPutVersion() to urbootPutVersion8() 2026-04-02 19:06:31 +01:00
Stefan Rueger
7752adf740 Provide set_resetvector() 2026-04-02 12:29:14 +01:00
Stefan Rueger
378f364d8a Provide ur structure to describe bootloader 2026-04-02 00:44:01 +01:00
Stefan Rueger
944e347dfd Provide reset2addr() 2026-04-02 00:20:06 +01:00
Stefan Rueger
e7532789af Utilise avr_opcodes.c functions 2026-04-01 19:00:21 +01:00
Stefan Rueger
29f319b38f Improve comments 2026-04-01 18:59:38 +01:00
Stefan Rueger
e105e65bf1 Simplify buspirate_expect_bin_byte() function 2026-03-26 19:48:25 +00:00
Stefan Rueger
0ebc19eb99 Utilise effective verbosity level throughout
Again, this is a subtle change. The avr_message2() function introduced a
while ago an effective verbosity level, where verbosity is reduced by the
number of -q options above one. This commit uses that level throughout
instead of verbose.
2026-03-26 19:17:46 +00:00
Stefan Rueger
649bba8fe0 Guard notice and debugging message with verblevel
This is a sublte change but prevents numerous notice, debugging and trace
messages being executed during the AVRDUDE run only to return without any
printout. Should be (ever so slightly) more efficient.
2026-03-26 19:10:31 +00:00
Stefan Rueger
6efccab6eb Define verblevel as effective verbosity level 2026-03-26 19:08:51 +00:00
Stefan Rueger
f062636a25 Consider avr_write_byte_default() skips unnecessary writes 2026-03-25 21:30:39 +00:00
Stefan Rueger
bfba3364d5 Utilise avr/led_update_write_byte() functions 2026-03-25 21:19:31 +00:00
Stefan Rueger
76e622599a Initialise unused bits in classic & XMEGA fuses 2026-03-25 19:32:59 +00:00
Stefan Rueger
70cde43d66 Provide led_update_write_byte() 2026-03-25 19:30:26 +00:00
Stefan Rueger
88e05a9673 Remodel led_write_byte() wrt r/o and w/p memory 2026-03-25 19:05:14 +00:00
Stefan Rueger
5b0d7689d2 Provide avr_update_write_byte() 2026-03-25 18:27:37 +00:00
Stefan Rueger
f6e2a80379 Remodel avr_write_byte() wrt r/o and w/p memory 2026-03-25 18:20:52 +00:00
Stefan Rueger
2a5425245d Utilise avr_can_skip_write_byte() 2026-03-25 17:58:00 +00:00
Stefan Rueger
7a7b072a9b Provide avr_can_skip_write_byte() 2026-03-25 17:34:01 +00:00
Stefan Rueger
919bb1e83b Improve fallback_read/write_byte() error messaging 2026-03-25 17:02:36 +00:00
Stefan Rueger
ff3fd1c448 Improve comments 2026-03-25 16:59:53 +00:00
Stefan Rueger
5b74dbd102 Suppress warning messages for __sun elf structures 2026-03-24 12:28:10 +00:00
Stefan Rueger
103b4b915a Harden use of wai_getExecutablePath() 2026-03-24 12:25:58 +00:00
Stefan Rueger
566dfe55c5 Provide whereami stubs for unsupported platforms 2026-03-24 12:09:26 +00:00
Stefan Rueger
f9c393a05c Check PATH_MAX after #include's 2026-03-24 11:51:37 +00:00
Stefan Rueger
32b4790b5b Update whereami.[ch] from github.com/gpakosz/whereami 2026-03-24 11:33:14 +00:00
Stefan Rueger
3f1f8ae45b Merge pull request #2078 from stefanrueger/guard-paged-access
Make `paged_write` independent from `paged_load`
2026-03-22 11:19:52 +00:00
stefanrueger
acbbb55fb9 Utilise avr_has_paged_write() and ..._load() 2026-02-28 16:05:32 +01:00
stefanrueger
33530161fa Provide avr_has_paged_write() and ..._load() 2026-02-28 15:59:57 +01:00
stefanrueger
afd3338c74 Improve error messaging 2026-02-28 15:37:53 +01:00
stefanrueger
b3f2a7e71e Fix paged_write check in avr_write_mem() 2026-02-28 15:27:26 +01:00
Joerg Wunsch
a0a12edb19 Too many newlines 2026-02-27 09:35:26 +01:00
Joerg Wunsch
ddbe44ed21 Fix line count for tail command 2026-02-27 09:32:12 +01:00
Joerg Wunsch
7a81cb7514 Add newlines to messages 2026-02-27 09:30:05 +01:00
Joerg Wunsch
7b487eb9e1 Suggest udevadm control --reload instead of rebooting
For Linux udev, the new rules files could be read at runtime by
reloading them, rather than requiring a reboot.  My experience says
this is always needed, not just for HID devices, and it's always
required to replug them afterwards.
2026-02-27 09:24:33 +01:00
Stefan Rueger
3200d92130 Merge pull request #2070 from stefanrueger/parsing
Update command line option parsing
2026-01-15 14:37:27 +00:00
Stefan Rueger
b48fd5f534 Show usage text before invalid short-option error 2026-01-12 23:01:12 +00:00