![]() |
Home |
|
Avoid Repeated DownloadsIf a program is frequently tested using the cross debugger, repeated downloads can become quite time-consuming, even at 115200 baud or parallel ports with data compression. However, the debugger will always check whether downloading data repeatedly is actually required by performing a CRC check on the different parts of the program on the target. If all data resides in read-only memory, the program needs to be downloaded only once and never again. Some program entities never change anyway (for example, the code). For other entities, the Locate Copy command can be used to keep protected and compressed copies on the target. Example (for Borland C++):#include "demopc.cfg" Options -d- // do not discard discardable entities FillRAM HighMem Reserve Monitor Locate PageTable Pages LowMem Locate Header Header HighMem Locate NTSection CODE HighMem Locate NTSection DATA HighMem Locate Stack Stack HighMem 16k Locate Heap Heap HighMem Locate DecompCode Expand LowMem Locate DecompData ExBuf LowMem Locate Copy Pages LowMem Locate Copy DATA LowMem Locate Copy CODE LowMem The only two entities that can change at run-time are the page table and the DATA section. However, since copies of these are available on the target, repeated downloads after a program reset are not required. Copying the CODE section compresses it, reducing download times.
|