Dear All, I have tried to run Dhry.uv2 in \keil\c51\example\dhry and it works. However, I tried to sdd some empty line between statements in every module such as Dhry.c or time.c ,I found when I type "step into" key , the cursor didn't match with new module ,it match with the posititon in old module.I found it seem to be due to DMO file Because after build only .DMO keep old time. other is update to new time. It is my big trouble ,because I couldn't study next when this bottleneck is still existed . BR.
Nobody seems to know what the .dmo file is for. It's not a file type that you normally have to deal with with uVision, and there don't seem to be any such in my actual project directories. (Just from the name, and the fact that it shows up in the examples directory, I'd guess it has something to do with "demos".) What happens if you delete the .dmo file altogether? Also, try turning off optimization as much as possible. The optimizer in Keil C is ferocious, and on high optimize-for-space levels, it will even start merging parts of individual C statements when it can save a few bytes by doing so. This can make it very hard to follow in a source-level debugger when you step through individual instructions, as even a simple block of instructions may not all come from the same "source" line, as least as far as the debug symbol information is concerned.
Ahhhhh. I just remembered. The .DMO file is a pre-built and linked program file for those examples that are larger than 4K. I seem to recall that there is a debugger script that loads the DMO file instead of the linker output (which isn't created anyway since the file would be larger than 2K). I guess the answer is that this example is too large to build using the FREE evaluation tools. Jon
View all questions in Keil forum