原创 PICC18 V9.61断点问题

2011-4-23 14:22 2998 10 10 分类: MCU/ 嵌入式

 

今天想试试PIC18的单片机,遂拿pic18f6722开个刀,结果发现悲剧的PICC18 V9.61竟然在循环语句中不能在设置断点哭,还有NOP()这条语句也不能设置断点,反汇编list里面这些循环语句都是空白抓狂,看不到了,但是下载到单片机里是能执行的。遂网上搜索之吐舌头,找到这篇文章:

 

PICC18各版本使用心得

来源:http://www.365zhaosheng.com/html/2010/07/20100725125726218793.shtml

近来需要给一个大客户做培训,选择了最熟悉的PICC18编写了十几个程序,结果发现一些问题,出来和大家分享一下.如果有错,也请高手指点迷津。

1,V8.35PL3版本

指向特殊寄存器的指针有点问题,在9.61版本,此问题被修正掉了。具体表现。

static volatilenear BYTE *xp=&RXB0D0;//(18系列CAN总线功能MCU都有此寄存器)。

unsigned char lcd_buf[8];

unsigned char pt;

lcd_buf[pt]=*xp;//835版本无法得到正确值。961可以。

2,V950PL1/PL2/PL3

局部变量无法观察。其它版本无此问题。

3 PROV9.61

结构体,联合体无法正确显示,只能通过头地址推算进行观察。低版本无此问题。

DISASSEMBLE LISTING里面经常找不到一些源代码对应的反汇编代码,导致无法在源程序上直接设置断点,尝试了调整优化选项等方法后依然如此,8.35无此问题。

原因推断,8.35之所以OK,大概是因为在CRACK前,要先覆盖一个Z版的PICC18.EXE,其它版本,我们的CRACK估计只是在DEMO版的基础上解除了时间限制问题,DEMO板的一些功能限制实际上没有去除。

结语:最后我还是选择了PICC18V8.35培训客户,尽管如此,为了保证代码的兼容性,可移植性,PICC18依然是我今后开发的首选,毕竟限于国情,我不好奢求什么。

附带提一下,要用PICC开发676/630/675/629的朋友们请注意,只有805PL2才可以支持,高版本都有很严重的的问题,一旦使用中断,代码编译就不正常了。

有PIC18培训需求或者入门需求的,如果选择PICC18,建议从PICC18V835开始,如果可以忍受局部变量的问题,950PLX也是不错的选择,用全局调完挪成局部就可以了。

 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
10
关闭 站长推荐上一条 /3 下一条