【使用伟福VW调试环境和Keil
uVision2调试环境的区别】
伟福V8/V5/SH51/SP51仿真器同时支持KEIL的uVersion2调试界面。用户可以直接在KEIL的uVersion界面中使用伟福仿真器。这对于习惯了KEIL界面的用户来说很方便。但需要说明的是,KEIL是专业的编译器提供商(软件开发商),而不是仿真器生产商,
对仿真器的支持毕竟有限,如不支持运行时间统计,跟踪器,逻辑分析仪等。而且对断点的支持也不好,在使用时要注意。
区别:
1. 一次最多设十个硬件断点,超过十个断点,KEIL将使用连续机器指令单步执行,而不是实时运行。
2. C语言中的单步运行也不是实时的,而是采用连续机器指令单步执行。
连续机器指令单步执行:
C语言 |
对应机器指令 |
i = 0x1234; |
MOV 1BH, #12H
MOV 1CH, #34H |
一条C语句通常对应多条机器指令,在伟福WAVE6000调试界面中,一条C语句中所有的机器指令是连续实时运行的,而在KEIl的环境中,是每次执行一条机器指令,进入监控,把当前状态上传给KEIL,KEIL判断C语句对应的机器指令是否执行完,如未完再次单步。如对于
for (i=0; i<20000; i++); 这样的语句,不要用单步跟踪,非实时地执行这条语句需要很长时间。所以在WAVE6000调试环境下,不支持#pragma
asm/#pragma endasm直接插入汇编语句;
|