欢迎来到天天文库
浏览记录
ID:44811673
大小:31.51 KB
页数:2页
时间:2019-10-29
《ICD2注意问题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一:MCD2使用的流程第一步:打开相关的工程文件。第二步:把目标单片机插放到相应的芯片底子上。第三步:启动MPLAB,并打开需要调试的工程文件。第四步:执行菜单命令Configure-selectDevice选择目标单片机型号。第五步:执行菜单命令Configure-ConfigurationBits设置好相关配置位。第六步:执行菜单命令Debugger-SelectTools选择MCD2位调试工具。第七步:执行菜单命令Debugger-Settings选择通讯端口和设置给目标板供电方式。第八步:执行菜单命令Debugger-Connect建立MCD2与目标板的通信。第九步:执行菜单命
2、令Debugger-Program把目标程序和调试文件烧写到单片机内。第十步:执行菜单命令Debugger-Run或其他运行方式调试目标程序。第十一步:调试完成,断开MCD2与目标板的连接。二:因ICD2是在线仿真,所以会占用部分芯片资源。但编译器的链接文件不够聪明,不知道哪些资源会被ICD2占用,有可能链接器分配的ROM和RAM空间恰巧是被ICD2占用的,会引起用户程序和ICD2的调试程序发生冲突,通常表现为调试运行时程序会莫名其妙的复位,从而浪费大家的调试时间。那么如何让链接器知道哪些空间不分配给用户程序,而保留给ICD2呢?下面是针对PICC,PICC18,MCC18,C30几个
3、PIC开发中常见C编译器,基于MPLABIDE集成开发环境中给出的解决办法:1.HITECHC+ICD2. PICC和PICC18的设置一样,通过设置编译选项来实现。 编译程序前,在MPLABIDE中的PROJECT菜单下,按如下操作PROJECT->BUILDOPTIONS->PROJECT->PICCGlobal 在PICCGlobal选项卡中选择"compileforICD",确定后就可以编译程序啦2.MCC18+ICD2和PICC不一样,在MCC18下是选择合适的linkerscripts文件来实现对于每个PIC18Fxxxx型号,在C:mcc18lkr文件夹,都有两
4、个链接脚本文件,例如PIC18F452,分别是18f452.lkr和18f452i.lkr.如果您要使用ICD2调试,请选用带i的链接文件编译.如果打开18f452i.lkr,会看到代码区和数据区分别有:“CODEPAGENAME=debugSTART=0x7DC0 END=0x7FFF PROTECTED”“DATABANK NAME=dbgspr START=0x5F4 END=0x5FF PROTECTED”这部分空间都是会被ICD2占用的,所以“PROTECTED”,不分配给用户程序。3.C30+ICD2C30是通过设置编译选项实现。操作如下:MPLABIDE->P
5、ROJECT->BUILDOPTIONS->PROJECT->MPLABLINK30,选中“LinkforICD2”确定即可。对于dsPIC和PIC24系列来说RAM区0800h-0822h是为ICD2保留的,如果编译时没有选择“linkforICD2”,全局变量很有可能分配到800h-822h间.这也是为什么可以在watch窗口看到全局变量的地址,但在值那栏却显示“reserved memory”的原因之一。在Toolsuitecontents栏中把编译器、链接器、汇编器全部都设置为“picc.exe”单击“确定”即可。4,设置语言工具组件。选择Project----》SetLan
6、guageToolLaction菜单,展开HI-TECHPICCToolsuite前的“+”后打开目录树,并展开下面的DefaultSearchPath&Directory目录,并进行如下设置OutputDirectory跟IntermediatesDirectory项可以选择缺省路径;IncludeSearchDirectory路径选择为:安装路径/include;LibrarySearchDirectory路径选择为:安装路径/lib。单击确定。5,加入源程序跟选择器件,调试程序(这跟汇编语言完成相同,在此不再獒述)。
此文档下载收益归作者所有