您好,今天是: ·加入收藏·设为首页·联系站长·
网站首页 | 公司介绍 | 维修项目 | 收费标准 | 维修联盟 | 联系方式 | 在线报修 | 电器导购 | 本站地图  Rss2.0 Wap1.2

网站首页 | 行业新闻 | 家电维修 | 电脑维修 | 工控维修 | 制冷维修 | 网站制作 | 网络工程 | 休闲娱乐 | 英文欣赏 | 维修论坛

维修品牌 索尼 松下 日立 东芝 爱华 夏普 三星 三洋 先锋 健伍 胜利 飞利浦 日电 JVC NEC LG 长虹 海尔 康佳 王牌 海信 创维 牡丹 苹果 IBM 优派 狮龙 厦新 厦华 康力 宏基 三菱 JBL 湖山 熊猫 金正 万利达 安桥 高士达 明基 戴尔 BenQ DELL 长城 台达 现代 美格 EMC HPC SUN 联想 上广电 SVA TCL 北京牌 大宇 山水 彩星 冠捷 美的 格力 奇声 新科 狄克威尔 EIZO 金星 Sony Sharp Sanyo Haier Apple
当前位置:北京燕旭电子公司 >> 工控维修 >> 工控单片机开发 >> 浏览文章 立即入驻本站 | 免费发布供应信息
使用C编译器+ICD2调试程序需要注意的问题
作者:佚名 来源:互联网 文章点击数:

  因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” 的原因之一。

且写到这儿,欢迎批评指正呵!




人支持

发表评论】【告诉好友】【打印此文】【收藏此文】【关闭窗口
  最新文章
  热门文章
  推荐信息

| 设为首页 | 加入收藏 | 关于本站 | 联系站长 | 友情链接 | 版权申明 | 雁过留声 | 网站地图

Copyright 2000-2008 Powered by Bjlxjw.COM,北京龙旭电子技术服务中心 All Rights Reserved.
全天24小时服务电话:010-60118386、85451495.传真:010-64621509 技术支持:13146594250. E-Mail:bjlxjw@126.com
报修咨询服务QQ:879851559 技术支持QQ: 275960024 网站制作服务QQ: 377152508 维修讨论群:27584257(非技术人员请勿加入,加入本群请注明来意!)
送修联系地址:北京市朝阳区三元桥顺源里2号(坐车到三元桥下车南行60米三元东桥下向西200米左右路南建设银行后边即到)
免责声明:我站部分文章信息来自网络,如果侵犯了原作者的著作权,请直接联系我站,我站必将第一时间删除,谢谢支持! 京ICP备06024783号