It seems that current uVision Debugger is not very compatible with the symbol table generated by GNU tools. I have a project on LPC2214, with GNU tools, each time debug it, i found some funny things, e.g. the structure defined by "typedef struct..." can NOT be viewed via the "Add Watch", and some other, some other globals can not be viewed either. For the examples keil provided with the installation, I slightly modified the code by adding a variable ( e.g. int MyVar;) on a ".c" file, it can NOT be watched ( note that it's not optimazation issue, as I saw it in the map file already ), but can only be monitored via the memory window. All these issues are NOT observed by using Keil tool chain. Another point is that the "set SRC = ..." is already set correctly to the project path, to make sure the debugger can get all the files. Anybody has the similar experiences and had any suggestions? Thanks!
Does the elf-file include debug information? Are the variables within their scope when you try to add them to the watch window (if they are not global)? You cannot watch a typedef of a struct (typedef!=definition). Which version of Keil ARM Tools are you using?
Yes. I have a similar problem. Many public symbols are not found by the debugger. I found that moving functions around in the module would have an effect. I was never able to find any functions except for main. The symbols all appear in the map file. I have not yet dumped the elf file to see if they are there.
We have a patch available under: http://www.keil.com/support/docs/2974.htm If this still does not solve your problems, please send a test case to support.intl@keil.com. Reinhard
Matthias, It seems I did all things needed: *. Debug Info included in ELF files. *. Typedef only defines a type, I meant the globales defined by this type. *. I'm using the uVision3, with the GNU ToolChain come with it. The thing is that it worked some times, really depends on where you put these globals definition, or whether you define or reference them in different ways ( e.g. "int kk;" for definition, and "extern int kk;" for reference in other modules....etc.). Hopefully the new Patch can fix it, still waiting for the SRAM.DLL. ReinHard, The Keil request form didn't like my PKARM Product Serial Number ( I bought the package by the end of April ), but when I put another PSN which is the uVision2 C51 package I bought one year ago, it accepted. Hopefully, it's OK for sending me the patch. Thanks guys! JT