I am doing project on LPC4357 controller, but when I am trying to download executable file using JLINK it fails with:
compiling main.c... "main.c" - 0 Error(s), 0 Warning(s). Load .... ...
No Algorithm found for: 1C000000H - 1C007A57H Erase skipped! Error: Flash Download failed - "Cortex-M4" Flash Load finished at 13:52:57
Hi I had a very same problem with cortex-M3,do the following 1-right click on project name and choose "Option for target 'your project's name'"; 2-go to Utilities tab 3-click on "setting" 4-under the programming algorithm, choose your MCU name and click "Remove"(make sure you remember description of MCU in case you dont know what it is.) 5-now click add and add your MCU back. 6-hit "ok" and enjoy.
Hi,
I followed your advice, but I continue with the same error
Is this flash memory? When you select the algorithm does it have the right address parameters that match the range being complained about, OR NOT!?
Perhaps you need to provide more specific details for this to get solved?
You have a couple of choices:
You pick the FLASH algorithm for the MEMORY RANGE you are currently using.
You compile/link your code with a different address range that IS SUPPORTED.
You compile for a RAM address, and then don't use the flash download method, and instead deselect the download to target option, and instead use a debugger script to "LOAD %L" your code into RAM.
Then there is always Please read the manual(s) and Keil Support
Yes, I tried to boot the OS from the flash memory, to be more exact below I show all the details of my flash setup:
Flash Download: -Download function: *Erase sectors -Program -verify -Ram for Algorithm: -start: 0x00000000 -size:0x3800
-Programing algorithm: C:\Keil_v5\ARM\PACK\Keil\LPC4300_DFP\2.2.0\Flash\LPC18xx43xx_512_BA.FLM ->0x1A000000 -0x00080000 C:\Keil_v5\ARM\PACK\Keil\LPC4300_DFP\2.2.0\Flash\LPC18xx43xx_512_BB.FLM ->0x1B000000 -0x00080000
In relation to upload the image directly into RAM, I want to do that but I think that I have no images to send to the RAM directly. Besides, could you said better the method of send images to the RAM
I intalled some drivers for Cortex-M and now the error is a little bit different...
_sleep_(100); // Just set up the memory interface to enable the correct access to the external // flash memory on CS0. emc_setup();
No Algorithm found for: 1C000000H - 1C006977H Erase skipped! Error: Flash Download failed - "Cortex-M4"
Ok, so you had two flash algorithms for 0x1a000000 and 0x1b000000, but not one for 0x1c000000, and thus it complains.
I'm not terribly familiar with your part, seem to recall it's a multicore part, perhaps the memory addresses are different depending on which core is being targeted. May be you need to discuss your problem with Keil support or an NXP FAE, or find some worked examples.
If your RAM is situated at 0x00000000, then you need to change your target dialog, or scatter file, to build your code for that location, as I said turn off the flash downloading, and use a debugger script (.INI).
I learned to use these tools and other chips by reading the documentation, and looking at how other examples tackled similar problems, it's a method you might also find effective.
Are you sure this isn't an EXTERNAL flash part? What board is this?
0x1C000000 memories "M29W640FB Dual Flash" "S29GL064N Dual Flash"
Exactly, you're right! I was wrong with the internal flash. I have verified that the examples work when I set the internal flash. But when I try to boot the OS from the external flash does not work.
The on-board is a kit for developers called "LPC4357 DEVELOPER'S KIT"
Only if I select the "S229GL064N Dual flash" try to program memory but without success:
emc_setup();
Erase Done. Programming Done. Contents mismatch at: 1C000000H (Flash=FFH Required=D0H) ! ...............-----****--------*****................. Contents mismatch at: 1C000064H (Flash=FFH Required=15H) ! Too many errors to display ! Error: Flash Download failed - "Cortex-M4"
Problem solved! THe problem was the file "flash.ini"
thanks a lot for this worked for me