Hello,
I downlaoded an evaluation version of PK166 v7.4, and write a very very simple main function for XC2364B, when I try to debug in the simulation mode, it reports the error "error 65: access violation: addr=0x0000A000". Does PK166 v7.4 support the simulation of XC2364B?
Thanks, Simon
You haven't (correctly) configured your memory map.
Hello Andrew,
Is it possible to use Debug->Memory Map to change the memory maping of target system? I try to change it via the menu command Debug->Memory Map, but each time I re-enter the debug mode, the modified memory map configuration is lost.
Thanks.
i have the same probelm,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, give me answer
Yes, as the name suggests, that is what the MAP command does!
http://www.keil.com/support/man/docs/uv4/uv4_cm_map.htm
Are your memory setings correct in the project options?
"each time I re-enter the debug mode, the modified memory map configuration is lost"
http://www.keil.com/support/man/docs/uv4/uv4_db_cmd_input_file.htm
I checked the memory map, it is as below:
001: 0x00000000 - 0x00009FFF exec read write 002: 0x0000A000 - 0x0000A23F read write 003: 0x0000A240 - 0x0000F5FF exec read write
According to the map file (.m66), my code is allocated as below:
START STOP LENGTH TYPE RTYP ALIGN TGR GRP COMB CLASS SECTION NAME ===================================================================================== 00A000H 00A1FFH 000200H DATA REL WORD --- 2 PUBL NDATA ?C_USERSTACK 00A200H 00A21FH 000020H DATA REL WORD --- 2 PUBL NDATA ?C_USERSTACK1 00A220H 00A23FH 000020H DATA REL WORD --- 2 PUBL NDATA ?C_USERSTACK2 00F600H 00F7FFH 000200H DATA REL WORD --- 3 PUBL IDATA ?C_SYSSTACK 00FC00H 00FC1FH 000020H DATA --- BYTE --- --- --- *REG* ?C_MAINREGISTERS C00000H C00003H 000004H --- --- --- --- --- --- * INTVECTOR TABLE * C00004H C00295H 000292H CODE REL WORD --- --- PRIV ICODE ?C_STARTUP_CODE C10000H C10001H 000002H XDATA REL WORD --- --- GLOB --- ?C_INITSEC C10002H C10017H 000016H CODE REL WORD --- 1 PUBL NCODE ?PR?MAIN
The MCU XC2364B that I am using, the memory from the address 0x00A000 to 0xDFFF is Data SRAM. Everything looks OK, but the deggguer report the error "*** error 65: access violation: addr=0x0000A000", and in the Disassembly window, it stop at the address 0x00A000 and it looks like:
0000A000 0000 ADD R0,R0 .... ....
Now I have no idea why this happen because the memory map configuration looks correct.
Have you noticed that there is a 'Search' box at the top-right of the page...?
So look at that map again. Does that look like there is code at address 0xa000? So, should your program be trying to execute code at that address?