Re: Eclipse / CDT without Makefile Project

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Mike

>From my experience I have noticed that when debugging with Redboot, it
is important to supply target file (path) to the invoking GDB command
line. Some Eclipse front ends don't do that. You can try to add target
path to the GDB command (Debug configurations -> Debugger).

Ilija


On 21.12.2012 08:03, Michael Jones wrote:
> John,
>
> So now I am struggling getting GDB to work from Eclipse. It is actually a very interesting problem.
>
> I can load my app from gdb on the command line and run it fine. 
>
> When I load the same app from Eclipse, I get a SIGTRAP at the the reset vector.
>
> reset_vector:
>
>         ldr     sp,=hal_startup_stack
>         b       hal_reset_vsr
>
> Stops at the ldr instruction no matter how many times I do a continue.
>
> This is the same problem I had when I was using Insight. That problem was finally diagnosed. When I compiled Insight, it replaced the arm-eabi-gdb file, and when I reverted back to the one from the tool chain, the problem went away.
>
> In this case, I am sure that Eclipse is using the same are-eabi-gdb because I can do a "show version" in the Eclipse command window and get the same revision as the working command line.
>
> There appears to be something very subtle different. As an experiment, I selected my file and loaded my app from the eclipse command line so the GUI was eliminated. I get the same SIGTRAP. And after download, the memory segments are all in the same place.
>
> Do you have any ideas on how to debug this kind of problem? Is it possible that when I use commands like "load" and "cont" what is sent to RedBoot at the other end is different? Could there be hidden communications that change the mode of RedBoot? Could the memory contents after a load be different? Could GDB in the Eclipse environment be inserting some kind of trap like a break point that it is failing to remove when I type "cont"?
>
> I have to admit, I was not so surprised that a newer version of GDB mis-behaved, but I was really surprised that a working version of gdb running in Eclipse would not behave the same.
>
> Mike
>
>
> On Dec 20, 2012, at 8:34 AM, John Dallaway <john@xxxxxxxxxxxxxxx> wrote:
>
>> Mike
>>
>> On 20/12/12 15:15, Michael Jones wrote:
>>
>>> Thanks, now it is closer. I have provided the output showing the final failure:
>>>
>>> /opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.6.3/../../../../arm-eabi/bin/ld: cannot find crt0.o: No such file or directory
>>> /opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.6.3/../../../../arm-eabi/bin/ld: cannot find -lg
>>> /opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.6.3/../../../../arm-eabi/bin/ld: cannot find -lc
>>> collect2: ld returned 1 exit status
>>> make: *** [Sources/hello.o] Error 1
>>>
>>> 07:56:20 Build Finished (took 929ms)
>>>
>>> What is interesting is that even with the -L option, it does not show up in the compile output.
>>>
>>> The rule it makes in the makefile is
>>>
>>> hello_world: $(OBJS) $(USER_OBJS)
>>> 	@echo 'Building target: $@'
>>> 	@echo 'Invoking: Cross GCC Linker'
>>> 	arm-eabi-gcc -nostartfiles -nodefaultlibs -nostdlib -static -mcpu=cortex-m3 -mthumb -Wl,--gc-sections -Wl,-static -Wl,-n -g -v -nostdlib -L../../ecos/TWR-K60D100M_install/lib -T../../ecos/TWR-K60D100M_install/lib/target.ld -o "hello_world" $(OBJS) $(USER_OBJS) $(LIBS)
>>> 	@echo 'Finished building target: $@'
>>> 	@echo ' '
>>>
>>> Somehow it does not get passed on to the linker.
>> I believe your build is not getting as far as the above makefile rule.
>> You are missing the "-c" flag on your _compilation_ line, so GCC is
>> attempting to both compile and link (using a default linker script) the
>> first time it is invoked.
>>
>> I hope this helps...
>>
>> John Dallaway
>> eCos maintainer
>> http://www.dallaway.org.uk/john
>>
>> -- 
>> Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
>> and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
>>
>


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



[Index of Archives]     [Linux Embedded]     [U-Boot V2]     [Linux Kernel]     [Linux MIPS]     [Linux ARM]     [Linux for the Blind]     [Yosemite]     [ISDN Cause Codes]     [eCos Home]

  Powered by Linux