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'm relatively new to Keil and C167. I got an error: "error 65: access violation" while debugging an assembly program using simulator. I tried these 2 sets of assembly code 1) Using EXTS
EXTS #4, #3 mov r1, #0x0A mov r2, #0x1000 mov [r2], r1
mov DPP2, #0x0010 mov r1, #0x0A mov DPP2:0x1000, r1
I've just tried a similar thing to see how it works. It looks as though debugger maps memory ranges in sections which can be seen in linker map file. The external memory ranges in target options only give instructions to linker, they are not passed on to debugger. If you need to allocate a section, use the user sections part of the target options dialog. - Mike
Hi Mike, I'm afraid that even after entering the memory locations for the respective the user classes(in User Classes in target options), it hasn't worked out. Can you provide me the command line syntax of using the User Sections in the Target Options? Is the assembly code, which i had posted, correct? Thanx again...
To be honest, I didn't have to do anything like that before because I let the C compiler and the linker do all those things. I think Keil\C166\hlp\A166.PDF contains all the details about sections, classes and so on. The file Keil\C166\LIB\START167.A66 defines sections like system stack and user stack, so you can take the correct syntax from there. As for the assembler code, I would change only one thing. You wrote:
mov r1, #0x0A mov r2, #0x1000 EXTS #4, #1 mov [r2], r1