4

I tried to run LCD software in Keil for STM32, but I got

*** error 65: access violation at 0x60000000 : no 'write' permission

Do you know how to solve that error ? I saw that I can create a MAP, but it didn't work

MAP  0x00000000, 0x70000000  READ WRITE  // allow R/W access to IO space

Click for full resolution

(Click for full resolution image)

from this definition :

#define LCD_REG              (*((volatile unsigned short *) 0x60000000)) /* RS = 0 */
#define LCD_RAM              (*((volatile unsigned short *) 0x60020000)) /* RS = 1 */

Thanks for reading

I'm using simulator enter image description here

Rick Ant
  • 536
  • 2
  • 10
  • 24
  • i followed this video to resolve the same issue related to access violation when i try to use keil in simulator mode https://youtu.be/gEedJNB2WfM –  Mar 03 '16 at 05:29

3 Answers3

5

If you want to use the simulator:

  • select the simulator in project properties on the debug page
  • start a debugging session. Don't run the code yet
  • go to Debug -> Memory Map... and manually map the ranges the simulator cannot find.

For example:

enter image description here

Dmitry Grigoryev
  • 25,576
  • 5
  • 45
  • 106
Chaitu
  • 51
  • 1
  • 3
  • Welcome to EE.SE, this is not a forum. Your answer is better suited as a comment as it doesn't aim to solve the given question. – Funkyguy Aug 20 '15 at 19:29
  • This does not provide an answer to the question. To critique or request clarification from an author, leave a comment below their post - you can always comment on your own posts, and once you have sufficient [reputation](http://electronics.stackexchange.com/help/whats-reputation) you will be able to [comment on any post](http://electronics.stackexchange.com/help/privileges/comment). – Daniel Grillo Aug 20 '15 at 20:39
  • @DanielGrillo - actually, this is an attempted answer to the specific part of the poster's question which concerned their inability to enact a map. Doing so may or may not solve the problem, but this is an entirely appropriate response to the question. – Chris Stratton Nov 10 '15 at 16:03
  • @ChrisStratton Have you seen it before Dmitry's edition? Now is much better to understand but at that time I couldn't. – Daniel Grillo Nov 10 '15 at 17:01
  • The information content was the same. Both before and after the edit, the answer is targeted at someone knee-deep in the problem, not an uninvolved reader. – Chris Stratton Nov 10 '15 at 17:04
  • @DanielGrillo Yeah, I could only understand it because I had Keil at hand and could match the labels in the dialog with several words used in the answer. I really hope the author will learn from these comments and improve their wording next time. – Dmitry Grigoryev Nov 10 '15 at 23:25
1

Try going to:

Project -> Options for Target '<your target>' -> Debug tab

and select the debugger option. enter image description here

Armandas
  • 7,845
  • 1
  • 32
  • 56
-1

Translated to English using Google translate - RM:

To eliminate the "error 65: access violation at 0x60000000 : no 'write' permission" error, a map.ini file was created indicating the available memory areas according to the Memory map for this chip.

I used stm32f030k6.

The contents of the map.ini file:

MAP 0x40000000, 0x40008000 READ WRITE // allow R/W access

MAP 0x40010000, 0x40018000 READ WRITE // allow R/W access

MAP 0x40020000, 0x400243FF READ WRITE // allow R/W access

MAP 0x48000000, 0x480017FF READ WRITE // allow R/W access

The map.ini file is placed in the folder with the project file.

To connect it go here:

Project -> Options for Target 'Target 1'... ->Debug -> Initialization File

Russell McMahon
  • 147,325
  • 18
  • 210
  • 386
  • Thanks for your post. This site requires English-only answers. I translated your post using Google translate. Please post future material in English. – Russell McMahon Dec 29 '22 at 11:36