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.
I am using uVision5 with ulink-me. I am trying to flash a project onto my LPC1111. The program compiles and builds without any problem. AXF and HEX files are generated. The problem is the flash tool says it programmed successfully and even shows the "Application runnning ... " in the build output after clicking Download (F8). However the program is obviously not running, the LPC111 still looks to be in reset mode with all pins in high impedance. Power cycling does not solve the problem, manually resetting by pulling Reset low and then high doesn't do anything either.
The project however can be debugged successfully. When entering Start/Stop debug session and clicking Run, the program works as it should. I can even leave the Start/Stop debug session and the program continues to run perfectly. However, once I power cycle the board, the program no longer runs. It stays in what seems like a reset mode. I checked the reset pin and it is high.
This is a custom board with pretty basic GPIO going out to LEDs and the programming header is wired correctly since I can debug without a problem.
I've been chasing this problem for a week now and I am running out of idea of what to try.
My settings in Flash Download tab are "Erase Full Chip" "Program" "Verify" "Reset and Run". Ram for Algorithm is set to start at 0x10000000 and Size is 0x0FE0. Programming Algorithm is LPC11xx/13xx IAP 8kB Flash.
So do you have the correct start address for flash?
You can for example create a project where the code is downloaded into RAM. Such a program can't be run stand-alone. But with a debug ini file, the debugger can set the program counter to the correct value and run the program without the slightest problem.
I believe I do. I am using the Flash.ini that came with the project example:
FUNC void Pre_Setup (void) { _WDWORD(0x40048000, 0x00000002); // MEMMAP = 2 }
FUNC void Setup (void) { SP = _RDWORD(0x00000000); PC = _RDWORD(0x00000004); }
Pre_Setup();
LOAD .\Obj\CoinLED.hex INCREMENTAL // Download
Setup(); // Setup for Running
I am looking up information on the LPC1111 to verify this. The strange thing is that when I send this zipped project to a friend, he says he can run it without a problem on his custom LPC1111 board, flashing executes the code without having to go into debug mode. We checked hardware and we have the same design specs.