ULINK: DEBUG PROGRAMS IN OFF-CHIP RAM
Information in this article applies to:
I am using ULINK together with Philips LPC2192 device and off-chip RAM. During debugging, I want to run the program on off-chip SRAM (since the number of breakpoints is unlimited in RAM). Finally, I need to download the application to off-chip Flash ROM. However when I start debugging I get the following error message:
Memory Mismatch! Address: 0x00000000 Value = 0x38 Expected = 0x18
What is my problem? Is there a sample project setup?
Debugging in RAM requires that chip select line CS0 is connected to a RAM device. Also you need to modify the MEMMAP setting in the STARTUP.S file as shown below:
$SET (RAM_INTVEC) ; enable code below $IF (RAM_INTVEC) LDR R0, =MEMMAP MOV R1, #3 ; redirect interrupt vectors to off-chip memory STR R1, [R0] $ENDIF
You may define two different targets as explained in the µVision IDE User's Guide, Creating Applications, Project Targets and File Groups:
The target Debugging in RAM needs the following configuration settings under Project - Options for Target:
With these settings the generated application program code will be at address 0x80000000 and above. You may verify the linker MAP file which lists the memory requirements under MEMORY MAP OF MODULE. All segments with the MEMORY CLASS CODE and CONST should be in the range of your off-chip RAM device as shown below:
START STOP LENGTH ALIGN RELOC MEMORY CLASS SEGMENT NAME ========================================================================= 80000000H 80000143H 00000144H 4 AT.. CODE STARTUPCODE 80000144H 80000150H 0000000DH 4 UNIT CONST ?CON?Hello 80000151H 80000153H 00000003H --- --- **GAP** 80000154H 8000015AH 00000007H 4 UNIT CONST ?CON?prnfmt 8000015BH 8000015BH 00000001H --- --- **GAP** 8000015CH 80000163H 00000008H 4 UNIT CONST ?C_CLRSEG 80000164H 8000016BH 00000008H 4 UNIT CONST ?C_INITSEG : : :
With Debug - Start/Stop Debug Session, the application code will be loaded to off-chip RAM and you may set as many breakpoints as required. It is only required that you have RAM in the memory region 0x80000000 and above.
The following Discussion Forum threads may provide information related to this topic.
Last Reviewed: Wednesday, March 24, 2010
of your data.