Closed maxgerhardt closed 1 year ago
Nice, I managed to recompiled avr-gdb with the --with-expat
configuration option, and the resulting AVR-GDB binary then correctly sends the data to AVaARICE with the right block size, flashing it :)
The more complicated memory layouts used by MCUs basically require that you use the XML stuff to describe them. Consequently, without enabling expat in GDB, there's no chance to upload memory contents.
I see, then it makes more sense to require XML support for avr-gdb when flashing is supposed to be done via AVaRICE instead of patching AVaRICE.
When using an avr-gdb that was not compiled with XML memory parsing enabled, avarice seems to refuse to write data to flash if the incoming data is not in a page-size.
I tried both avr-gdb bundled in the 7.3.0 Arduino toolochain as well as the one bundled in the 12.1.0 toolchain found at https://blog.zakkemble.net/avr-gcc-builds/.
When a
load
is executed, the following happens.GDB
AVaRICE
While I'm trying to working on recompiling avr-gdb that does have XML memory support enabled, would make sense to make avarice more "forgiving", in the sense that if a write to page is requested with data that is noth page-length long, to first read the current page, overwrite the part with the wanted data while keeping the other old data?