This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Error 65, memory permissions problem

Dear friends,

I have been learning CORTEX-M4 based microcontrollers lately, I use KEIL-5 for developing the software. But I have a problem when I am trying to debug any program (even ready programs which I have downloaded from TEXAS INSTRUMENT website or other sources).
It seems that a lot of people have this problem:

*** error 65: access violation at 0xA0033000 : no 'read' permission

The solution which I found is to use memory map while debugging (or initializing ini file) to give the appropriate permissions for all the addresses which I use in my code!
But actually it is not easy and not logical to read an old code and search for the used addresses and rearrange them in memory map!!!

Could anybody help me please cuz I stopped developing my apps because of this error!

regards.

Parents
  • If you use the simulator and it doesn't support all peripherials, then that is like simulate the day for a school teacher by standing in front of an empty classroom. Code that expects responses from non-simulated peripherials will either never run, or will do wrong things.

    Another thing. You plan to do software work on someone else's program? And you think the program is too big for you to scan the code to figure out what memory regions you need to map? I'd say you need to spend a significant amount of time reading through that code anyway before you start to make any changes.

    Another thing - just because Keil can emulate the M4 processor instructions doesn't mean that it has full emulation of serial ports, DMA transfers etc. And all the peripherial hardware has extra memory regions. And if Keil doesn't support your processor fully, then it doesn't know what to do when your program tries to access the memory regions that corresponds to unsupported peripherial hardware.

Reply
  • If you use the simulator and it doesn't support all peripherials, then that is like simulate the day for a school teacher by standing in front of an empty classroom. Code that expects responses from non-simulated peripherials will either never run, or will do wrong things.

    Another thing. You plan to do software work on someone else's program? And you think the program is too big for you to scan the code to figure out what memory regions you need to map? I'd say you need to spend a significant amount of time reading through that code anyway before you start to make any changes.

    Another thing - just because Keil can emulate the M4 processor instructions doesn't mean that it has full emulation of serial ports, DMA transfers etc. And all the peripherial hardware has extra memory regions. And if Keil doesn't support your processor fully, then it doesn't know what to do when your program tries to access the memory regions that corresponds to unsupported peripherial hardware.

Children