On Thu, Mar 08, 2007 at 07:16:19AM +0100, Joerg Wunsch wrote: > As Erik Christiansen wrote: > > > Program received signal SIGSEGV, Segmentation fault. > > 0x08060cf9 in stk500_paged_write (pgm=0x8089b18, p=0x81bb2c0, m=0x81bc638, > > page_size=128, n_bytes=Variable "n_bytes" is not available. > > ) at stk500.c:749 > > 749 buf[i++] = Sync_CRC_EOP; > > Ick. Please replace buf[pagesize + 16] in the beginning of that > function by buf[256 + 16] (256 is the maximal page size of an AVR), as > a stop-gap measure. pagesize is initially 0 when we enter the > function, so we allocate 16 bytes only. Then we notice it's 0, and > invent an artifitial 128 bytes pagesize. Obviously, now the buffer's > way too small for the data to fit.
OK, I'll try that tonight. > I think the actual error is that the paged write function should not > be called at all, but I have to think a bit about that. I'm not yet sufficiently familiar with avr flash programming to venture anything resembling an opinion on that. Thinking that serial programming would still finally be writing to flash pages, even though there's no PAGEL pin to wiggle, I tried things like: egrep -nri 'serial.*write' . egrep -nri 'isp.*write' . in an attempt to bump into relevant functionality quickly, but if there's even a comment regarding an alternative, then I need to adjust my fishing tackle. > Please file a bug report, so we'll make sure this won't be forgotten. It's #19234. It'll be tuesday before I can report the outcome of the interim measure. (We have a long weekend, so I'm able to go a long way out of town.) Many thanks for working on this Jörg, but please: Have a great weekend! Erik _______________________________________________ AVR-chat mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/avr-chat
