KEIL软仿真技巧谈

上传人:工**** 文档编号:499043225 上传时间:2022-12-18 格式:DOCX 页数:11 大小:387.60KB
返回 下载 相关 举报
KEIL软仿真技巧谈_第1页
第1页 / 共11页
KEIL软仿真技巧谈_第2页
第2页 / 共11页
KEIL软仿真技巧谈_第3页
第3页 / 共11页
KEIL软仿真技巧谈_第4页
第4页 / 共11页
KEIL软仿真技巧谈_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《KEIL软仿真技巧谈》由会员分享,可在线阅读,更多相关《KEIL软仿真技巧谈(11页珍藏版)》请在金锄头文库上搜索。

1、KEIL软仿真技巧谈(1)废话少说,接上一章,话说建立了仿真环境后,我们就可以实现软件仿真了。在仿真状态下View菜单有一堆东西:* Status Ear* File TBuild TijLilb:rD eliug T : olb :r口Output WindowProject WindewDi ease ernbly Windowffatch A. Call St ack W indow 冒 filyniLirjr WindowCu de C overa ge W i TudowFerforTi:mce Aruilyzei- HimlDWSymbol Window 彗 Serial 当 Se

2、rialWindowVYindow#1#2Seri al 萨 ToolboxWindow#3FeriQiic Window VpdateInclude Dapendenciz头4个BAR都是普通的工具栏了。这里说一下Debug ToolBar,就是调试工具栏:丿运行中STOP可以进入函数内运行弘单步运行,可以跳过函数如果运行进某个函数,此键能直接跳出当前函数找回你的PC指针:当你的程序有好几个文件的时候,有时候你会不知道运行到哪里去了,按这个你就可以找会你的PC指针所在处了。仿真记录,相信很少人用到,其实这个东西可以记录下你的仿真过程,然后回放。从回放的“录象”中你可以观察每条指令的状态,例如

3、对应的运行时间,各个寄存器的值。个人觉得这个功能在调试OS的时候特有用:)ASM代码和C代码之间的转换,这个也是NB的调试利器,一般隐藏的BUG在ASM下无所遁形。WATCH窗口,如果你不知道什么叫watch窗口,那证明你以前一定没写过程序。了。挺逗的功能,可以看到每个函数有多少条指令,和你已经运行了某个函数的百分之多少代码。我从来不用这个东西的,呵呵 串口显示窗,如果你的程序有串口程序,那么单片机串口的输出就显示在这个窗上,如果你要对单片机串口输入数据,就在串口窗上打字就是Memory Window,存储器观察窗,这里可以看code,data,xdata对应的数据 各函数占用时间的比例,个人

4、感觉用处不大,在全速运行的时候会动态显示,用来调试UC/OS的时候可以看到各个任务占用的时间比。不过你需要先把你要观察的函数添加到表上才可以用。产这个东东一般没用好了,上面一堆东西,还是具体说说比较复杂的吧,其它东西你用过就自然会的了。仿真记录,这个在软件仿真的时候有,至于硬件仿真就看你仿真护曰器是否支持咯。当你需要记录的时候,就按崔怎,运行一段时间了,就按1。那么刚才运行过的整段程序就会重现你眼前:Registeryalua-3 I2r00x00rlOkODr20x00r30x00:r40x00r5OkOOrB0x00r70x00一 SysaOkOObOkODEP0x095p_Fi:=d-r

5、OmOQdptroxooaoFC $C;OkO01AEst:t E2psw3890.000389000x0036622C:0002Eii;;ii;;H;;iii;Hi;iii;Hi;iii;Hi;Hi;iii;Hi;iii;mitTimerfC :0025)MOVTMOD(089),#0x01 II 111 l IIIMOVIHO(OsSC),#0sD8in hiii iin iiTLO(OsSA),#B(OFO)RETC:000 IDD28CSETBTR0(0sS8.4)D2A9SETBET0(0zA8 . 1)EACOAS .7)D2AFSETBOOOH 鞋 MOV00012 KM Hlf

6、flia0001702001A MMM述述話匿蠶匿隘湛 ii;;;;;;;;;;; 120025 LCALLOOOU F6MOVC:OkOOIF EA=1;C:0k0021-5:.S备爲療鑑騷翩蕩H逐羞Ml薫織爾23:-1C:0x0028758CD8C:0002B75 8AF0 MOV-13kk Hiaa-12C-iir丄丄J-10C-gc酉融1H雅爾-SC:OkOOIAvoid initTimer (void) C : 00025758901 H H HI HI HI HI TH0=0sd8; III II I II I III H I II IIIail Hl Hl IH III III

7、HI :出事XT憾凹:=*=:=:mpo AR0用*ih lift :山:*::頊逹涯逹涯逹涯變SP(0x61),#0x07頊逹涯逹涯逹涯變|Bn(C:001A頊逹涯逹涯逹涯變【症症症症症症症痔肚潦肚潦肚24: while ( 1);C:0x0023 80FE SJMP C:00233 : void initTimer- fvoid 1你可以选择当前灰色区域的所有指令,窗口都会显示那条指令对应的寄存器值等信息。轴观察变量窗,这里可以用来观察全局变量和局部变量的,不过要你预先手动添加。具体方法就是找到你要观察的变量,然后点右键添加进指定的 WATCH 窗口,如下图:厲舗舗舗舗舗般般取般醸SUnl

8、oQlEed-o爲 Cut, 翳 Copy 息E盟応丸二 T o 耳L e E ij okm arkShuw Di zasseribly :it U3:FF0UUU1FEmt Fr:am CoutltwirInsert -include旳X52.HY弋 Ruil tu Cursor lineGo To Line世I Ins ert/KemciT.-u Br e:ikfiuint 眄 Emble/D i Bx:akpoirLt 匚cciFiplt: ttj Ccidbj C civerGo To Definition Of ETi丁Adi ETCl to Watch Window.#Go To

9、Re ferenee To J ETuJ=1; ile(l);添加后打开WATCH窗口就看到你刚才的变量了:I 1J-4klOJ工IetoTi显示的数制可以是十进制和十六进制的,只要你在当前变量上点右键选择:DecimalETO=V-sl1 * Niurib 4FL B 盘占色3。Memory Window,这里可以看到个存储器的值,只需要在窗口上敲你需要显示的变量区和地址:C :C :C :C:OkOOOO000140x00280k003CTI0nn nriMemory #1_uoD875呂AF0320002a037呂7FE4F6D8FD1A12002SD2BcD2A9D2AFB0FE7SB

10、g01F220000000000a00000000000000000000000000000000000000000000-d-|-|q-nd-LLn-LLdFidHln-LLdId-|-|-LLIc8o o8A不同的英文字头对应不同的区域c: 代码区,也就是 ROMd: data 区,就是片内 RAMx: xdata 区,片外 RAM如果你想修改某个区的值,只需要点右键 Modify Memory at xxx 就可以修改了1 MUJJ = UX 1 ; 758901THO=OKd8; 758CD0 TT.n=nxfn:MCMCDt!i2irTi:LUn-ignedDisassemblyFloatkdirE酊:|d:0x0|DoubleMolify Memory at II:0k01k.,D:0k00; 79 01 U益LILI UU UU UU UU 1U UCD:0k15 :D:0z2A:D:0z3F:Ti|i. 匚100000000 00 0000000000000000000000 00 00 00 oc000000000000ototMemory #1 KA Mennory #3JWMUHMmMWMUnUMLM 1 fI 】1币币币币币币山J 1“血币祈币币币Flf = I I唉,打字打到手软,贴图贴到累,这一章先到此为止。还不会用DEBUG工具栏的看完应该会用了吧

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号