keil软件仿真时,预先设置的断点变成灰色惊叹号了,run的时候跳不到断点上来了。

作者&投稿:兀有峰 (若有异议请与网页底部的电邮联系)
在keil软件中调试程序时,无法设置断点,必须切换到汇编语言窗口才能设置断点,怎么办?~

首先要说的,Keil是非常不错的模拟和调试工具。
其次要说的就是我个人理解的经验:
1、keil是模拟MCU的内部特性和外部设备(I/O口、中断、串行、定时等)特性,其模拟是一种“自内向外”的真实模拟,换句话说,可以又任意一个内部数据处理结果去指导I/O口工作,但这种I/O工作的方向是“输出型”的(广义),而对于MCU要去获取外部状态的工作(我把它称作为“输入型”的),则在Keil中调试无法能反映真实情况,必须要配合相应硬件才能正常调试,因为当仅用Keil软件(不用任何其他硬件)在电脑上“软”调试工程时,读取外部I/O口,读过来的数据都是1,但这可能并不意味着你的软件有问题。
2、有了真实“输出型”的调试,而无法“输出型”的调试,你是不是觉得只有一半的功能呢?其实不是这样的。当我们要去调试“输出型”时,我的做法是用软件去制作一个和外部硬件特性一样的软件模块(一般这个模块做起来是比较费力的),也就是说用我做的另一个独立的软件模块去产生或选取MCU需求的输入数据,这样就能验证某些过程是否在执行中按照自己的意识操作。
我曾经就只有keil做过DS18B20的“搜索ROM”的算法实现和整个过程(因为如果直接烧进MCU程序的话,如果不出正确结果,其实根本就发现不了错误存在),我做了一个外部DS18B20的硬件仿真软件模块(由很多个函数组成),后来就是在Keil的一些“软”单步调试中发现了我所有算法中的出现的问题,最后我才把多个DS18B20连接在一个MCU的I/O口上,全部正确的获取了在线的能正常工作的DS18B20的64位地址。

最后我想说的就是,仅在keil下去仿真外部硬件特性做需要的软件模块比较会忽略某些方面而出错的(一般而言),所以要开发keil工程话,我非常推荐用相应的仿真器(这个可是硬件哦)去调试你的项目。

PS:可惜我一直都是没有硬件仿真器的条件下开发工作的,有的时候会相当耗时。

当仿真的机内码程序与源程序不能对应时,会出现无法设置和取消断点的情况。

你这根本没有成功地进行软仿……
注意 Command 窗口的致命错误提示:代码大小超出了(评估版的)限制。所以你的程序根本没法编译,没法编译也就没法加载进行调试。

你把断点设在下面Init_TOSC()前面试试,变量赋值操作前好像不能设置断点。


Keil软件仿真的方法
首先打开keil软件,打开一个工程,然后连接好外部电路,单击软件的“仿真图标”然后在菜单栏找到View,单击打开View菜单。然后选择WatchWindows---Watch1弹出Watch菜单,将菜单放到合适位置 选择一个变量,随便选择一个就可以了,就拿冷传感器Cold_Sensor_AVE_ADValue为例 然后选中Cold_Sensor_AVE_ADValue变量...

Keil如何软件仿真调试
下面由我带领大家来认识一下软件仿真。第一步:确认写好的程序能通过编译。然后点击“Debug”→"Start\/Stop Debug Session"进入调试模式。如下图操作所示:第二步:调出观察窗口(用来设置要观察变量的设置窗口);点击“View”→"WatchCall Stack Window"。如下图操所示:第三步:...

keil怎么仿真?
首先打开Keil软件,打开一个工程,点击keil的编译图标,编译软件。2.确保已经连接了仿真器,而且已经给MCU上电,然后下载程序,等待下载完成。3.软件程序下载完成,现在就完成了程序下载,可以开始仿真了。4.单击软件的调试图标,进入软件调试模式。5.现在就已经打开运行模式。6.单击全速运行,运行软件仿真。

keil仿真时出现: I\/ O ERROR ON INPUT FILE:
产生‘FATAL ERROR L210: I\/O ERROR ON INPUT FILE:’的原因:一般是由于选择的度芯片有扩展口,而编译使用了系统默认的BL51等引起的。具体解决办法:如下命令:1、 project-> options for target 'target1'。2、选择L使用扩展百连接LX51替换BL51 。3、选择A使用扩展连接AX51替换A51。

keil仿真时间跟真实时间
keil仿真时间跟真实时间如下。需要精确的测量某一段代码的运行时间,在keil下仿真,打开工程设置对话框,在target的标签下,Xtal(MHZ),改为11.0592。

keil软件为什么不能仿真
很多仿真器不能做到完全硬件仿真,因而会造成仿真时正常,而实际运行时出现错误的 ... 在新版本(高于6.0)的Keil软件中,增强了软件的仿真能力,可以利用软件仿真更多

KEIL模拟仿真的时候执行2次停止 为什么下载到单片机里一直不停的执行...
因为仿真的时候,KEIL发现已经到程序结尾了,那就不会继续仿真了。而在实际情况中,当程序结束后,CPU会继续往下执行代码,当发现机器码是00时(一般没有程序代码的ROM空间都是00),就会跳到ROM的0000位置,也就相当于重启了,那么当然会反复重启了。给你个建议:for(j=0;j<2;j++){ ...} whil...

Keil4仿真时,单步运行直接跳到中断去执行了,不知道是怎么回事
Keil4仿真时,用T1定时吧,单步运行直接跳到中断去执行了,对T1初始化时没有写初值吧,正常的初始化后,仿真也是正常的。如下一个简单的测试程序,T1中断方式。仿真后,即使是全速运行,TF1也不显示为1,因有TF1=0; 语句,中断后立即被清0了,没有你说的情况,也不用设置什么选项的。TF1画红圈...

怎么加快keil仿真的时间
1、首先设置成keil仿真软件。2、其次运行软件中的debug。3、选择好仿真位置打好断点。3、让数据正常运行sec数值。4、然后通过main运行到断点开始位置的时间,最后再运行一次即可加快仿真的时间。

keil5.14 软件仿真所有代码都不能运行,是什么原因?
环境问题: 确保你的开发环境和软件仿真窗口的配置正确。有时候环境配置问题可能导致程序无法正常运行。重新编译: 尝试重新编译你的代码,确保编译过程没有错误。有时候编译器可能会产生一些警告,但不会阻止程序运行。查看日志: 如果有日志文件或控制台输出,查看其中是否有错误信息或警告,这可能有助于找到...

覃塘区18578717157: keil中设置断点的作用是什么? -
齐苛乙酰: 断点的作用是可以让程序运行到设置的断点处,然后查看各种变量和寄存器中的数值. 设置断点其实是省时的调试方法,但是千万要注意,如果断点前涉及到了一些CPU读取外部数据的话,有可能会让你的程序永远运行不到断点处,因为仅用keil“软”调试的话,读取的外部硬件的数据都是“1”. 所以断点使用时要注意这点就行了.

覃塘区18578717157: 大神,,我的keil 4怎么仿真的时候怎么设置断点啊? -
齐苛乙酰: 你好,先使其在调试状态下,然后在debug下拉菜单中找到“插入/清除断点”的功能键,是个手的标志.试试吧!

覃塘区18578717157: keil中设置了断点后执行时就消失了 -
齐苛乙酰: 设置到中断点之后肯定就会消失,所以的话可以进行同时执行,这样做的会更快一点.

覃塘区18578717157: KEIL软件有没有可以给内存设置断点的方法呢?比如当某个内存发生指定变化时,程序就会在那里停止的方法 -
齐苛乙酰: 这么基础的调试功能当然支持.进入调试界面,按Ctrl+B打开Breakpoints对话框,添加相应的表达式即可.例如如果你需要在程序改写D:0x50单元时终止程序的运行,可以在Expression中填写“D:0x50”,Access中勾选Write,保存此断点定义.那么当程序运行到对D:0x50单元进行修改的位置时就会自动停下来.这只是一个非常简单的例子,具体你可以好好看看uVision的使用帮助.软件的帮助文档都是最好的信息来源.

覃塘区18578717157: 这个延时函数用在AT89C52单片机上,如果采用外接12M的晶振,那么i=多少的时候才是延时一秒 -
齐苛乙酰: 使用Keil软件仿真一下,在option for target选项卡中设置晶振12M,Debug选项卡中设置为软件仿真,单击开始仿真,在你的调用延时函数前设置断点,在register--sys--sec中查看时间,调整 i 值,直到得到你想要的时间参数

覃塘区18578717157: Keil的基本操作包括步骤() - 上学吧
齐苛乙酰: 有中断触发后就会进入中断函数.你可以在中断函数中设置断点,就可以观察了.

覃塘区18578717157: 51单片机 keil软件 -
齐苛乙酰: 1. 点击仿真Start/Stop Debug2. 在Disassembly窗口会看到C:0x066A(地址)编译器会自动分配地址3. 对应地址位置双击,出现红色断点设置标志4. 点击全速运行,在对应的断点处会停止运行,查应寄存器

覃塘区18578717157: 在keil5怎么看某段程序的运行时间? -
齐苛乙酰: 在调试仿真里,在你需要计算时间的程序两端设断点,然后比较两个断点下的系统时间

覃塘区18578717157: 在KEIL中仿真时如何让箭头跟随C程序走 -
齐苛乙酰: 在main函数中加个断点,再全速运行,再单步运行试试

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网