We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi sir, There are some problems in using AGDI.When I show code at some address in disambley window, uVision IDE have no response for a long time and somtimes it display at the incorrect address in disambley window. Can you give me some directions what cause this problem. eelin
Hi Sir, Thanks for your reply. Are there some documents about how to use the cache in SampTarge Driver ?? eelin
http://www.keil.com/appnotes/docs/apnt_145.asp
Dear Sir, Thanks for your help.I had already speeded up to access disassembly window.But the program memory will map to the different address dynamically in our system, and how to show correct disassembley code in disassembly window ?? eelin
What do you mean by that: "But the program memory will map to the different address dynamically in our system". Please explain
It means that if I implement two program memory<A,B>, the address of the two memory are the same. At the first,I download program to the one memory <A> by Keil IDE, and then execute the program. In this program, I set some flag to switch memory mapping to the other one. This action doesn't execute writing memory, so the cache don't be update. It shows A memory data in disassembely window, but in fact it execute B memory program. eelin
In this case you need to expand the Invalidate function so that it includes also the code space. Take again a close look to the SampTarget DLL that is provided with the AppNote.
/* * Invalidate everything which may be invalid after Go or Step * (Registers, Caches, etc.) */ void Invalidate (void) { RegUpToDate = 0; // invalidate Registers ClearCaR ((amDATA << 24) | 0x00, 0); // invalidate data-cache ClearCaR ((amIDATA << 24) | 0x80, 128);// invalidate idata-cache ClearCaR ((amXDATA << 24) | 0x0000, 0x10000);// invalidate xdata-cache }
Dear Sir, Thanks for your help. I had already implemented my design. But sometimes when I use "Show code at address" function, the IDE don't show the address which I input in disassembly window. For example, I expect show code at C:0x200, but it always show code at B02:0x8005 or some the other address. Why?? eelin
"Show Code at Address" uses the debug information that is part of the program. You should be able to duplicate this problem also in the simulator. Please send your test code to us, so that we can duplicate this behaviour.
Dear Sir, Yes, this problem happened also in the simulator. As long as operate by the following step, it will be happened. 1. Into debug mode 2. Show code at addr c:0x20000 3. The pointer point at this line, and the yellow color shows in this line <c:0x20000> 4. Show code at addr c:0x0 or the other address again. 5. It still shows disassembly code at c:0x20000 in disassembly window. If I go step 1->2->4 and ignore step 3, it can work correctly. eelin
I tried to duplicate this using the example Keil\C51\Examples\Bank_EX1. Everything works here. The code address C:0x20000 does not exists. Instead the bank0 has the address B0:0 (bank1 B1:0). Maybe this is the problem.
Dear Sir, I use the the example Keil\C51\Examples\Bank_EX1 in simulator. Even though I shows code at B01:0x8000,this situation will be happened. There are real code in here.Are you sure that you duplicate this by doing all of the step, especially step3? Because I found that is main reason. eelin
Still unable to duplicate your problem in the simulator. Please send screen pictures to support.intl@keil.com so that we get a better idea of the problem.