This is the mail archive of the
mailing list for the GDB project.
self decompressing code
- From: "Jafa" <jafa at silicondust dot com>
- To: <gdb at sources dot redhat dot com>
- Date: Fri, 11 Apr 2003 09:48:10 -0700
- Subject: self decompressing code
- Reply-to: "Jafa" <jafa at silicondust dot com>
This isn't a problem with GDB but I would appreciate your advice on a usage
The ip2k is an embedded processor and we compile a single elf file to be
used to program and debug the ip2k which executes out of internal flash.
External flash can also be used and I have just added code to remote-ip2k.c
to program external flash.
The image that is uploaded to external flash is a compressed upgrade image.
When the chip boots up it will decompress code/data to internal flash and
This scheme works well except for two problems:
1) GDB downloads the .text section even though it is not needed and is
overwritten. If I change the section flags such that the .text section is
not loadable then GDB complains that it can't debug the file.
2) Any breakpoints that are inserted are overwritten - I need to add a break
on the reset vector.
Ideas so far:
1) Modify the upgrade/decompression code so that it doesn't write the
internal flash. This would solve the breakpoint problem but is noticably
slower (it is faster to upload the compressed image) and the scheme will be
difficult to modify.
2) Modify gdb so it ignores the fact that the .text section isn't loadable.
Add an auto-inserted breakpoint on the reset vector.
If you have any thoughts or ideas I would appreciate the advice.
BTW - I wrote the second-generation ip2k GDB port... I am happy teaching gdb