At the middle of my project, I got an error **error 65: access violation at 0xD1010C54**
I remember seeing a similar error before which I solved it by adding an initializer file with certain address ranges as stated here -> http://www.keil.com/support/docs/814.htm
I am not too sure what does the new error mean and how do I go about getting rid of it. Anyone?
Regards
You've had this exact same conversation here before.
You can't fudge this with simulator settings, your code is broken you need to DEBUG IT. You've got something accessing memory incorrectly due to corruption in memory, stack, or some errant pointer.
Learn how to DEBUG. Learn how "your" code works and what it is doing, and why/where it fails to do what it supposed to be doing.
Other post by Jaffa Kinx, there was another near identical one using another name too, Huzaifa Asif? http://www.keil.com/forum/62625/ http://www.keil.com/forum/62634/
If my code was broken it wouldn't have worked in any other IDE. It just breaks in Keil
I suppose that's one myopic view of the problem, or that it is high-lighting a problem you haven't otherwise detected yet. GNU tools tend to place the stack at the far top of memory, with no depth parameter, Keil tends to allow you to pick a smaller depth, and by default quite small. Not saying that's the problem here, but open your mind a bit.
Again, look at WHAT is faulting, look at the code, and work backward to understand why the situation occurred. Focusing on the error message itself and suppressing it, and sticking your head in the sand and insisting on the code working someplace else isn't going to fix anything. Porting between architectures and tools can be a challenge if code isn't as portable as you thought.
If you use scanf/printf functionality, these also can hog stack. If you have large auto/local usage, and call depth, this too can frequently cause headaches.