|
From: | tns1 |
Subject: | Execution of wrong code |
Date: | Sun, 04 Jul 2004 08:46:22 -0700 |
User-agent: | Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax) |
So staring with the same srec file, I can either use GDB to download direct to SRAM and step thru the execution, or I can boot and have the same image copied from Flash (minus GDB). Either way, what is strange is that while running, every function call (or ISR) jumps from an SRAM address to a Flash address instead of remaining in SRAM.
The objdump output and nm output show only SRAM addresses for all functions. The code was linked with the -Ttext flag with the SRAM base. Aside from the short Flash copy routine (that is only part of the Flash image), the SRAM image should not even know about Flash, so how the heck is it getting there?
The best I can figure is I either need some additional linker flags, or the default libraries being linked in are forcing this redirection to Flash. I have not had time to disect the build scripts to see if that is the problem. Any other ideas?
[Prev in Thread] | Current Thread | [Next in Thread] |