Loader is not a libmem RPC loader
Hi everybody!
I've got a wierd problem with my board.
Im using Crossworks 1.7, and the problem is that the first time i upload the program to flash it works properly but when the second time i try to upload i get the message "Loader is not a libmem RPC loader". when i upload again it works to upload but the program doesnt work properly. The timers and adc wont start up.
The thing i can do to make it work again is to unplug the power supply and upload again. but the second time i upload its the same thing all over again.
Im using a Stm32103CB proc.
I hope you can help me.
Regards Niklas Cooke
-
Hi Niklas
and everybody who knows the solution to this problem!
I am suffering from the same issue.
I am using Crossworks, the uTasker project from Mark Butcher which I adapted to my application and the OLIMEX ARM-USB-OCD. The board is LPC2468-16-OEM from Embedded Artists. The configuration is THUMB FLASH DEBUG with some modifications.
The application can be loaded by the debugger and then runs without any issues (at least I did not notice any). When I load it the 2nd time I get messages like
"LIBMEM RPC loader has not initialized correctly" or
"Loader is not a libmem RPC loader".
Sometimes the application can be loaded after the RESET button on the board has been pressed. But normally the only solution is to load a hex-file with FlashMagic and run it. After that my application can be loaded once by the Crossworks debugger and so on.
When I use a RAM configuration, in most cases the message "Verifier has found differences" shows up.
I have another application (configuration ARM RAM DEBUG) that loads over and over again (once I have managed to load it). So I suppose the problem has something to do with my application.
Can anybody help, please?
Regards,
Henry
-
These sort of problems are usually down to the debugger not being able to reset the target reliably - this is usually caused by defining STARTUP_FROM_RESET or not having the nSRST signal connected.
What typically happens is an interrupt or a watchdog that has been set up by the previously running application fires whilst the loader is running and causes it to crash/reset.
I believe the reason you are able to download with FlashMagic is that it will force the LPC2000 bootloader to run on reset rather than the application in memory (effectively behaving the same as having STARTUP_FROM_RESET undefined) - you could achieve the same using the P2.10 pin on the LPC2468 to force the target to start the ISP on reset.
-
I'm having this trouble on a LPC24xx board.
If I create a default blank or CTL project for the Olimex LPC2478-STK it compiles ok but can't verify the Flash or RAM image - so it doesn't work.
If I reuse a preexisting project it works properly.
I have no idea what the differences are between the two projects or how to work it out - but there must be some difference!! I don't think in my case that it is the hardware because it works with the older project.
-
Peter,
If you're not specifically using an Olimex LPC2478-STK board, try creating a project using one of the "Generic LPC24xx" project templates instead - the loader in the Olimex LPC2478-STK BSP does some extra things on startup such as configuring SDRAM which may be causing problems if the board you are using is not the same.
Regards,
Jon Elliott
Please sign in to leave a comment.
Comments
7 comments