0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

调试时Memory窗口中Flash内容不更新的原因和解决办法

IAR爱亚系统 ? 来源:IAR爱亚系统 ? 2025-04-01 09:18 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

问题

调试时在代码中对Flash进行写操作时(比如Bootloader对Code Flash进行升级操作,Application对Data Flash进行写操作),Memory窗口中Flash内容不更新。

原因

正常情况下,Flash对应Memory区域在ddf(device description file)文件中的AccType是R,表示调试器对Flash只读,不能修改Flash的内容:

4baea618-0b8b-11f0-9310-92fbcf53809c.png

Memory Configuration窗口中(Memory Configuration窗口可以通过对应的仿真器 > Memory Configuration打开)Flash默认Type是Read only,,对应的Cache Type是ROM/Flash:

4bdc8f42-0b8b-11f0-9310-92fbcf53809c.png

4c0410b2-0b8b-11f0-9310-92fbcf53809c.png

对于Cache Type是ROM/Flash的Memory区域,调试器会认为对应Memory区域的值在调试过程中不会改变,所以调试器在调试过程中不会去更新对应Memory区域的值,导致即使对应Memory区域的值实际已经更新了,但是Memory窗口中的值却没有更新:

4c43ccac-0b8b-11f0-9310-92fbcf53809c.png

解决办法

前面介绍了造成调试时Memory窗口中内容不更新的原因是因为对应Memory区域的Cache Type是ROM/Flash,而Cache Type是ROM/Flash是因为ddf文件里面对应Memory区域的AccType是R,下面介绍对应的解决方法:

1.Disable Debugger Cache

使能Disable Debugger Cache(Disable Debugger Cache菜单可以通过对应的仿真器 > Disable Debugger Cache使能)之后,调试器将不会使用cache,所有的访问都会映射到目标系统:

4c6171ee-0b8b-11f0-9310-92fbcf53809c.png

4c932914-0b8b-11f0-9310-92fbcf53809c.png

2. 修改Flash对应Memory区域的Cache Type为RAM

4cc07a22-0b8b-11f0-9310-92fbcf53809c.png

4cd83a90-0b8b-11f0-9310-92fbcf53809c.png

需要在Memory Configuration窗口中将对应Flash对应Memory区域的Cache Type改成RAM(选中对应Memory区域,点击Edit,在Edit Memory Range窗口中选择Cache Type为RAM),这样调试器就会认为对应Memory区域的值在调试过程中会改变,从而会去读取目标系统对应Memory区域,在Memory窗口中更新对应Memory区域的值:

4d052e9c-0b8b-11f0-9310-92fbcf53809c.png

4d2907a4-0b8b-11f0-9310-92fbcf53809c.png

3. 修改ddf文件中Flash对应Memory区域的AccType为RW

在IAR安装目录armconfigdebugger下找到对应ddf文件,然后修改Flash对应Memory区域的AccType为RW。修改之后重新打开IDE,对应Memory Configuration窗口会加载更新的ddf文件:

4d3de4d0-0b8b-11f0-9310-92fbcf53809c.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FlaSh
    +关注

    关注

    10

    文章

    1683

    浏览量

    152181
  • 调试
    +关注

    关注

    7

    文章

    614

    浏览量

    34804
  • Memory
    +关注

    关注

    1

    文章

    79

    浏览量

    29839
  • 代码
    +关注

    关注

    30

    文章

    4905

    浏览量

    70989

原文标题:调试时Memory窗口中Flash内容不更新

文章出处:【微信号:IAR爱亚系统,微信公众号:IAR爱亚系统】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MDK调试时出现MEMORY MISMATCH错误的原因及解决方法

    MDK调试时出现MEMORY MISMATCH错误的原因及解决方法 一、问题    在用RealView MDK + ULink仿真器进行调试
    发表于 08-02 09:28

    音频系统噪声产生的主要原因和解决办法

    音频系统噪声产生的主要原因和解决办法
    发表于 12-11 20:08

    如何在调试时查看Flash中的内容

    大家好,我目前正在审查在Flash内容在我的创造者3.0调试。我在想,如果有一个窗口我可以查看Flash?我不知道如果一个内存
    发表于 07-23 11:33

    蜂鸣器原因以及解决办法

    选用无源蜂鸣器BUZZER,三极管PNP,各种修改参数,始终响,换用SOUNDER可以正常发声,程序,原理图如图所示,求原因以及解决办法
    发表于 06-28 19:01

    Keil导出memory窗口内容方式

    watch窗口内容,但是可以导出memory窗口内容。导出方式如下:1、将需要导出的变量添加到mem
    发表于 08-17 06:09

    STM32烧录出现The core is locked up的原因解决办法

    文件排除构建,而导致以上问题的出现。解决办法:在“导航器”视图窗口中,找到STM32的启动文件,将其添加构建。
    发表于 04-06 10:24

    变压器的常见故障和解决办法

    变压器的常见故障和解决办法  故障现象            
    发表于 07-18 15:33 ?4676次阅读

    音箱没声音的原因和解决办法

    本文首先介绍了音箱发声的原理,其次阐述了四种音箱没声音的原因和解决办法,最后还介绍了电脑音箱没声音的原因解决办法,具体的跟随小编一起来了解一下。
    发表于 05-28 14:33 ?4.5w次阅读

    高压断路器合上闸的原因解决办法

    本文主要阐述了高压断路器合上闸的原因解决办法
    的头像 发表于 12-18 15:27 ?4w次阅读

    汽车空调制冷的十种原因解决办法

    炎热的夏天,如果汽车的空调不能运转,那么在车内就相似在一个蒸笼,相当的难熬,特别是在烈日当下,车内几乎不能呆,因为整个车厢都会变成一个烤箱似的。下面我们就来看看汽车空调制冷的原因解决办法,让你少
    的头像 发表于 06-04 17:45 ?21.3w次阅读

    LED显示屏的常见故障及解决办法的介绍

    LED显示屏通讯新号载入上的原因和解决办法
    发表于 02-10 14:43 ?3728次阅读

    电梯IP五方对讲的问题和解决办法的介绍

    梯云物联:深圳电梯IP五方对讲有什么问题和解决办法
    发表于 04-11 18:16 ?6201次阅读

    电感啸叫的原因和解决办法

    电感啸叫就是指在20Hz-200Hz的电流激励频率下,电感会发出人耳能听见的吱吱声。 电感啸叫的原因之一是电感固定形成空腔噪声。 接下来,详细为你说下电感啸叫的原因和解决办法
    的头像 发表于 05-31 09:15 ?1.8w次阅读
    电感啸叫的<b class='flag-5'>原因</b><b class='flag-5'>和解决办法</b>

    java内存溢出的几种原因和解决办法

    的内存,但是如果程序中存在内存泄漏(Memory Leak)或者使用不当的数据结构等问题,仍然有可能导致内存溢出。下面将详细介绍Java内存溢出的几种原因以及相应的解决办法。 对象长时间存活或没有被正确释放: Java的垃圾回收
    的头像 发表于 11-23 14:44 ?6898次阅读

    PLC异常工作的原因和解决办法

    PLC(可编程逻辑控制器)异常工作的原因解决办法
    的头像 发表于 02-24 17:27 ?1159次阅读