电子产业
数字化服务平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 华强电子网公众号

    电子元器件

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

使用RealViewMDK时常见的问题(1)

来源:华强电子网 作者:华仔 浏览:377

标签:

摘要: 作者:赵明,华清远见嵌入式培训中心讲师目前在市场上最常用的ARM编程工具无非是Real View MDK和IAR Embedded Workbench。我个人觉得,目前IAR是比较成熟、稳定、使用方便等优点,深受广大嵌入式开发者的喜爱。Real view MDK得到ARM公司的大力支持,功能很强,也逐步完善起来。使用Real view(以下省略为RV)学习ARM指令的时候,初学者在调试过程中,经常

作者:赵明,华清远见嵌入式培训中心讲师

目前在市场上最常用的ARM编程工具无非是Real View MDK和IAR Embedded Workbench。

我个人觉得,目前IAR是比较成熟、稳定、使用方便等优点,深受广大嵌入式开发者的喜爱。Real view MDK得到ARM公司的大力支持,功能很强,也逐步完善起来。

使用Real view(以下省略为RV)学习ARM指令的时候,初学者在调试过程中,经常会遇到类似于如下的错误消息。

Error 65:access violation at 0xFFFFFFFC: no “write” permission

这个错误一般在使用RV模拟器(使用’debug’的’Use simulator’模式)进行调试时出现。

在发生这个错误时,观察寄存器的话,会错误消息中的地址正是SP(R13)的值。从此可以推测,错误就在进行堆栈操作时发生。

那为什么进行堆栈操作时,发生错误呢?因为,现在使用的是模拟器,而不是真正的目标板,所以对这些内存区域没有任何定义。

所以我们必须在模拟器中要将这个内存地址段的属性设置为可读/可写。

下面,以S3C2410模拟器为例,说明解决上述问题的几种方法:

第一种方法:打开(project -> options..)工程的选项对话框,其中将’Debug’标签的’Dialog DLL’中的DLL文件名(默认为DARMSS9.DLL)改成DARMST9.DLL

第二种方法:在ini file(.ini文件)中写入以下部分,表示这个内存区域是可读/可写/可执行。

map 0xFFFFF000,0xFFFFFFFF read write exec

第三种方法:这是在调试过程中的修改方法,所以在每次运行的时候,都要设置。

先进入调试模式(crtl+F5),接下来在debug菜单下打开memory_map对话框,在这个对话框中添加新的映射区域(map range)和它的属性。

“本文由华清远见http://www、embedu、org/index、htm提供”



华清远见
型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67