My background is primarily Windows development and I know very little about embedded development so I hope someone can explain what is causing my problem.
I am using the Keil compiler in uVision3 and am trying to simulate an NXP LPC2468.
My program is very basic :P ...
int main() { return 0; }
But when the simulator starts I receive this in the output window:
*** error 65: access violation at 0xA0033000 : no 'read' permission
This happens in LPC2400.s at the LDR instruction on line 1308...
LDR R4, =NORMAL_CMD ; Write NORMAL Command STR R4, [R0, #EMC_DYN_CTRL_OFS]
I could map this region using the instruction's here http://www.keil.com/support/docs/814.htm
but, shouldn't the code work anyway straight out of the box?
Your code is closer to what I will need Tamir so have tried your suggestions (since that's more like the main I need) but it's still stops in the assembler code before getting to the main function.
I thought I could simply select a chip and be on my way, have I missed out a crucial step somewhere?
Do you have the latest version of the development tools, since the processor is quite new - maybe your version can't simulate all peripherials.
Yes, I think I am fully up to date.
uVision3 - v3.63 Toolchain - Realview MDK-ARM V3.24
Compiler and linker version (armcc.exe etc) is V3.1.0.939
My program now works as intended. Yay!
In the configuration settings tree I expanded "External Memory Controller Setup (EMC)" and unchecked "Dynamic Memory Interface Setup"
Thanks for your help folks, I can now start fleshing out my main function. :)