From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerry Van Baren Date: Sat, 17 Mar 2007 16:44:18 -0400 Subject: [U-Boot-Users] objcopy In-Reply-To: <9F3F0A752CAEBE4FA7E906CC2FBFF57C069B49@MERCURY.inside.istor.com> References: <9F3F0A752CAEBE4FA7E906CC2FBFF57C069B48@MERCURY.inside.istor.com> <45FC1E6B.7020404@comcast.net> <9F3F0A752CAEBE4FA7E906CC2FBFF57C069B49@MERCURY.inside.istor.com> Message-ID: <45FC5322.5030205@comcast.net> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Charles Krinke wrote: > My apologies. The error when specifying a --gap-fill of either 0x00 or 0xff is > > File size limit exceeded > > I have seen this with .section not completely defined, but not with a > --gap-fill before and am wondering why the gap fill would cause this. > > I also have a second question. > > I can single step through the binary with a BDI2000, but only from > the object viewpoint, that is stepi works, but step doesnt. I think > there may be an incantation for the assembler to pass a debug flag > similar to the -g for the compiler. Something like -Wa,-dwarf (sic). > Can someone tell me what the incantation is? > > Charles We knew that, that was a teaching exercise. :-) Next lesson is bottom posting on emails. :-O The reason for your --gap-fill problem is because you have an enormous gap somewhere in your memory map/elf file. When you --gap-fill, it creates a file filled with 0x00/0xFF which turns into an enormous file. When you don't --gap-fill, the file simply has a gap. Look at your memory map and the elf file (non --gap-filled ;-) - obdump is your friend) and see where and why you have an enormous gap in your linked file. Usually the solution is fairly obvious once you understand why. It may be as simple as not using --gap-fill because it hurts to --gap-fill, it may be because you have something wrong in your linker configuration file - *.lds). My speculation (based on 82xx experience, not 85xx) is that you have a HRCW defined at offset zero or at the start of your flash (0xFE000000 or something like that) and are "booting high" (start of program at 0xFFF00100) which is an enormous gap. If you make a bin without filling the gap, your HRCW is in the "wrong place" but it is ignored and life works. If you --gap-fill, you make an enormous file and your file system isn't happy. WRT you single step question, I'm not sure (don't do it). If you are trying to step through u-boot, see There are hints on how to step through the linux kernel as well, but I'm too lazy to google it right now. Best regards, gvb