I’m trying to download my program (>200kb) into external RAM on the LPCE2294 board from Olimex with OpenOCD, Amontec Jtagkey and Insight. There is something I don’t understand
The maximum transfer speed the Jtagkey has ever reached with Insight is 15kbytes/sec.
Using "arm7_9 dcc_downloads enable " command , transfer rate decreases.
For test I tried to load a file into the memory using the OpenOCD command “load_binary”, suprisingly transfer rate > 120kbytes/sec.
Insight/gdb sends the data in small packets, less than 2k, to OpenOCD and waits before next packet,so there is a lot of handshaking, waiting and OpenOCD cannot do an unintrerrupted write of the whole memory block.
Using the OpenOCD load_binary, then OpenOCD loads the whole datablock from the file and then transfers it to the target as fast as possible with no extra wait.
to get such high transfer rates, you have to enable some optimizations:
arm7_9 fast_memory_access enable
arm7_9 dcc_downloads enable
For the DCC downloads to work you need to configure a working area (working_area <target#> <backup|nobackup>). That working area can not be written to, but it can be used by your application. You could use the LPC214x’s USB FIFO RAM for this purpose, if you configure it properly before trying to use it.