世界足球俱乐部杯

登录 免费注册 世界足球俱乐部杯 | 行业黑名单 | 帮助
维库电子市场网

ICD2

ICD2 的PDF资料

暂且没有下载
其他型号

ICD2的供应商:
>>更多供应商

使用C编译器+ICD2调试程序需要注意的问题

查看最近90天中添加的最新产品 最新电子元器件资料免费下载 派睿电子TI有奖问答 - 送3D汽车鼠标 IR推出采用焊前金属的汽车级绝缘栅双极晶体管 全球电子连接器生产商—samtec 最新断路器保护套
  因ICD2是在线仿真,所以会占用部分芯片资源。但编译器的链接文件不够聪明,不知道哪些资源会被ICD2占用,有可能链接器分配的ROM和RAM空间恰巧是被ICD2占用的,会引起用户程序和ICD2的调试程序发生冲突,通常表现为调试运行时程序会莫名其妙的复位,从而浪费大家的调试时间。 那么如何让链接器知道哪些空间不分配给用户程序,而保留给ICD2呢?

  下面是针对PICC, PICC18, MCC18, C30几个PIC开发中常见C编译器, 基于MPLAB IDE 集成开发环境中给出的解决办法:

1. HITECH C + ICD2. 

  PICC 和PICC18的设置一样,通过设置编译选项来实现。
  编译程序前,在MPLAB IDE中的PROJECT菜单下,按如下操作PROJECT->BUILD OPTIONS->PROJECT->PICC Global  在PICC Global选项卡中选择"compile for ICD",确定后就可以编译程序。

2. MCC18 +ICD2

  和PICC不一样,在MCC18下是选择合适的linker scripts文件来实现,对于每个PIC18Fxxxx型号,在C:\mcc18\lkr文件夹,都有两个链接脚本文件, 例如PIC18F452,分别是18f452.lkr和18f452i.lkr.

  如果您要使用ICD2调试, 请选用带i的链接文件编译.

  如果打开18f452i.lkr, 会看到代码区和数据区分别有:

  “CODEPAGE NAME=debug START=0x7DC0    END=0x7FFF  PROTECTED”

  “DATABANK  NAME=dbgspr  START=0x5F4  END=0x5FF  PROTECTED”

  这部分空间都是会被ICD2占用的, 所以“PROTECTED”,不分配给用户程序。

3.C30+ICD2

  C30是通过设置编译选项实现。

  操作如下:MPLAB IDE->PROJECT-> BUILD OPTIONS->PROJECT->MPLAB LINK30, 选中“Link for ICD2” 确定即可。

  对于dsPIC和PIC24系列来说RAM区0800h-0822h是为ICD2保留的,如果编译时没有选择“link for ICD2”,全局变量很有可能分配到800h-822h间. 这也是为什么可以在watch窗口看到全局变量的地址,但在值那栏却显示“reserved  memory” 的原因之一。


  来源:ks99
收藏此页】【关闭】【返回】【打印】【推荐
分享: QQ空间 人人网 开心网 腾讯微博 新浪微博 搜狐微博 网易微博
本页面信息由维库用户提供,如有侵犯您的知识产权,请致电本站,本站核实后将迅速删除!

热门词条:
世界足球俱乐部杯相关的文章
  • 更多"ICD2"世界足球俱乐部杯相关的文章
  • © 2025 维库电子市场网(domainnameq.cn) 版权所有 经营许可证编号: 版权声明
    二十一年专注打造优质电子元器件采购网、IC交易平台。