I'm downloading a program and I'm getting a "Loader is not a LIBMEM RPC loader" error message. What does this mean?
This error message indicates that loader program has not identified itself correctly as the correct type of loader program.
- JTAG clock frequency too high causing the loader download and/or startup to fail. Try reducing the JTAG clock frequency .
- The loader program being used isn't a a LIBMEM RPC loader program. Check the loader program specified by the Target > Loader File Path project property is a LIBMEM RPC loader. If it is the correct loader, but it isn't a LIBMEM RPC loader change the Target > Loader File Type to the correct type.
- The project that you are downloading is targeting a different device to the one being used.
- The project that you are downloading is targeting a different board to the one being used (for example a board with a different external clock configuration).
If the above doesn't help
Try debugging the loader to see why it is not correctly calling the libmem_rpc_loader_start function. To do this:
- Open the loader solution.
- Put a breakpoint on the line containing the libmem_rpc_loader_start function. Note that you may need to enable debug information and disable optimization in the loader project (using the Build > Include Debug Information and Compiler > Optimization Level project properties) to do this.
- Download and run the program until it hits the breakpoint on the line containing libmem_rpc_loader_start.
- While keeping this breakpoint set (this is important, it allows the debugger to stop on the loader start trap), let the program run again.
The program should stop again in the libmem_rpc_loader_start function with r0 and r1 pointing to the communication buffer and r3 holding the value 0x76E9C416, it is this value in r3 that the host uses to determine that the loader is a LIBMEM RPC loader.
If you get to this point it is likely that the cause of the problem is that you are either specifying the incorrect loader in your application's Target > Loader File Path project property or you are using a different reset script with your application solution. If you don't get to this point then this is the cause of the error message and you need to find out why the program is not getting there.