历史上的今天
返回首页

历史上的今天

今天是:2024年12月12日(星期四)

正在发生

2018年12月12日 | keil利用Breakpoints追踪内存值异常修改分析说明

2018-12-12 来源:eefocus

在开发过程中,经常会遇到内存值被异常篡改的情况。而且,篡改者往往并不是你当前所正在进行调试的部分(即内存异常篡改其实早就存在,只不过现在才凸显出来),这样问题很难跟踪,故利用keil的这一特性,追踪问题。


以下项目举例说明


1. 用电设备,A相电压偏差极值显示63.25%,而此时额定电压为220v,A相单相上电,偏差值不应有这么大偏差值计算公式为:


    ΔU = ((U - Un) / Un) * 100%;


    式中:△U--电压偏差百分比;U一实际电压:Un电网标称电压。


2. 观察ac_data_memory中相应数据显示确实为这么大,考虑数据调试过程中异常,故对到下一日,对时后,数据变为0,1分钟后变为60+%(其实是有做统计数据,但此时并未往这方面想)。


3. 经过2的分析后,确定一定是有某个地方对这块内存操作了,故使用推荐方法跟踪是哪个地方在操作内存。


4. 查看内存地址:


内存地址


5. 添加此内存地址(0x20017B27)到Breakpoints,Debug->Breakpoints,如:


breakpoints


6. 添加步骤如下图:


添加步骤


7. 全速运行,当访问者修改这片内存时,程序会中断,这时断点的位置就时访问者。如:


全速运行结果


8. 问题定位。


注意事项


使用中并不能100%命中,不能过分依赖。


推荐阅读

史海拾趣

CUI Inc.公司的发展小趣事

在追求持续增长的道路上,CUI Inc.采取了一项重要举措——收购加拿大电源制造商Tectrol Inc.。这次收购为CUI带来了丰富的产品线和技术资源,尤其是Tectrol在标准和定制电源解决方案方面的领先设计能力和制造能力。通过整合Tectrol的技术和资源,CUI进一步巩固了其在电源设计领域的领先地位,并为其未来的发展奠定了坚实的基础。

BUSSMANN公司的发展小趣事

1992年,Bussmann开始了第一款芯片保险丝的开发工作。这款保险丝将可熔性材料沉降到陶瓷基底上,大小只有3mm*1.5mm,可以通过自动装配机安装到印刷电路板上。这一创新不仅大大提高了熔断器的性能和可靠性,还降低了生产成本,为电子行业的发展注入了新的活力。

BITECH公司的发展小趣事

1985年,库柏工业收购了Bussmann公司,成立了新的事业部——“Cooper Bussmann熔断器”。这一收购为Bussmann带来了更广阔的市场和更多的资源,同时也带来了新的挑战和机遇。在库柏工业的支持下,Bussmann开始了更加积极的创新和市场拓展,逐渐成为了全球熔断器行业的领导者。

诚芯微(CXW)公司的发展小趣事

在2009年,诚芯微(CXW)公司在深圳成立,标志着其在中国电子行业的初步涉足。公司创始人凭借对集成电路设计领域的深刻理解和前瞻性的市场洞察,决定专注于电源芯片的研发与设计。初期,公司面临着资金紧张、技术储备不足等挑战,但创始人带领团队坚持自主研发,逐步积累了技术实力。

Cyrix Corp公司的发展小趣事

1999年,Cyrix再次被威盛电子(VIA)收购。这次收购后,Cyrix所生产的CPU产品上开始出现了两个商标:VIA和Cyrix。这种双标现象反映了Cyrix在被收购后的地位变化。随着时间的推移,Cyrix的商标逐渐淡出市场,最终被彻底放弃。

佰宏(BHFUSE)公司的发展小趣事

佰宏公司始终将品质放在首位,通过严格的生产流程和质量控制体系,确保每一件产品的稳定性和可靠性。同时,公司还注重环保和可持续发展,积极采用环保材料和节能技术,努力为社会和环境做出贡献。

这五个故事只是佰宏公司发展历程中的一部分,但它们却生动地展现了佰宏公司从创立到发展的艰辛与辉煌。在未来的道路上,佰宏将继续秉承“创新、品质、合作、共赢”的理念,为电子行业的发展贡献更多的力量。

问答坊 | AI 解惑

高分求hotkey driver 工作原理

小弟请教一下hotkey driver 工作原理,比如thinkpad hotkey driver  ,他的工作原理是什么?是EC发送出来的数据吗?为什么能感应到FN+FX的键值呢,我做了一个键盘过滤驱动程序,在笔记本上安装后,可是还是抓不到FN+FX的键值,是不是FN+FX根本就 ...…

查看全部问答>

委托开发工业机器人控制系统,有兴趣的请回复QQ79500116

委托开发工业机器人控制系统,有兴趣的请回复QQ79500116…

查看全部问答>

请教:与pc进行无线通信的数据采集(数据达到10Mbps)系统的设计思路?

想实现嵌入式系统和上位机的无线通信,即要通过无线网卡模块,再通过无线路由器和上位机进行通信。 我的这个无线网卡模块是想要支持wifi协议的。 电脑通过无线方式控制我的这个数据采集系统,同时我的数据采集系统也要连续不断的把采集到的数据 ...…

查看全部问答>

uboot移植不进开发板,不知是何问题

uboot移植不进开发板(OMAP核的),不知是不是JTAG除了什么问题? 下面是报错详情: Error connecting to the target: Error 0x80000240/-180 Fatal Error during: Initialization, OCS, This error was generated by TI\'s USCIF driver. ...…

查看全部问答>

VC++到EVC 的转型问题

RT 是一个使用wave***API 录音的程序        [code] D:\\WORK\\EVC_Projects\\EVC RecordHWnd\\RecordHWndDlg.cpp(543) : error C2440: \'=\' : cannot convert from \'unsigned short *\' to \'char *\' 这个错误怎么 ...…

查看全部问答>

急,嵌入式系统设计师?

软考里面似乎有这一个的呢, 谁能详细介绍一下哈? 考这个有用么? 她和计算机专业所学的相比怎么样呢? 对硬件知识要求怎么样? 谢谢!…

查看全部问答>

【信号处理】:FPGA在数字信号处理平台中的应用

信号采集和回放的模块化设计成为现代数字信号处理系统实现的一个趋势,随着集成电路工艺水平的不断发展,现场可编程门阵列芯片(EPGA)和数字信号处理芯片(DSP)性能不断提高,为系统的模块化设计提供了器件保证。本文结合某雷达干扰机的高速数据采集 ...…

查看全部问答>

DSP外部地址的数据乱变

DSP是采用28335,外部总线XINTF的地址是0x4000开始,外部总线上面有设备(CPLD)的时候,DSP程序采用断点调试,观察memory的地址0x4000区域数据,自己想改变的地方的数据没有变化,反而其他的数据在来回不断的变化,只要程序执行一条语句,有点地址 ...…

查看全部问答>

大家都是什么时间逛论坛

看看大家都在什么时间最活跃…

查看全部问答>