.我总结的KEIL51调试的错误总结.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
我总结的KEIL51调试的错误总结

KEIL51调试时一些的错误总结(1)提示无M51文件 编译时候提示: F:\...\XX.M51 File has been changed outside the editor, reload ? ------ 解决方法: 重新生成项目,产生STARTUP.A51即可。 (2)L15重复调用 ***WARNING L15: MULTIPLE CALL TO SEGMENT SEGMENT:?? ?PR?SPI_RECEIVE_WORD?D_SPI CALLER1:?? ?PR?VSYNC_INTERRUPT?MAIN CALLER2:?? ?C_C51STARTUP ??? ?? 如果函数可以在其执行时被调用,则情况会变得更复杂一些。这时可以采用以下几种方法: 1.主程序调用该函数时禁止中断,可以在该函数被调用时用#pragma disable语句来实现禁止中断的目的。必须使用OVERLAY指令将该函数从覆盖分析中除去。 2.复制两份该函数的代码,一份到主程序中,另一份复制到中断服务程序中。 3.将该函数设为重入型。例如: void myfunc(void) reentrant { ... } ????? 这种设置将会产生一个可重入堆栈,该堆栈被被用于存储函数值和局部变量,用这种方法时重入堆栈必须在STARTUP.A51文件中配置。这种方法消耗更多的RAM并会降低重入函数的执行速度。 (3)L16无调用 *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS ??? SEGMENT: ?PR?_COMPARE?TESTLCD ?????? 说明:程序中有些函数例如COMPARE(或片段)以前(调试过程中)从未被调用过,或者根本没有调用它的语句。 ?????? 这条警告信息前应该还有一条信息指示出是哪个函数导致了这一问题。只要做点简单的调整就可以。不理它也没什么大不了的。 ?????? 解决方法:去掉COMPARE()函数或利用条件编译#if …..#endif,可保留该函数并不编译。 (4)L10和L16主程序名字写错(或无主程序) 程序中: void mian (void) 编译提示: *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS ??? SEGMENT: ?PR?MIAN?MAIN *** WARNING L10: CANNOT DETERMINE ROOT SEGMENT ??? Program Size: data=8.0 xdata=0 code=9 --- 修改: 缺少主程序(其实是笔误),将mian改为main (5)L16主程序没用到前面定义的函数 主程序里没用到前面定义的函数,编译时显示: *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS ??? SEGMENT: ?PR?DELAY?MAIN (6)L210程序前生成SRC语句 Build target Target 1 assembling STARTUP.A51... compiling test.C... linking... BL51 BANKED LINKER/LOCATER V6.00 - SN: K1JXC-94Z4V9 COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2005 STARTUP.obj, test.obj TO test *** FATAL ERROR L210: I/O ERROR ON INPUT FILE: ??? EXCEPTION 0021H: PATH OR FILE NOT FOUND ??? FILE: test.obj Target not created --------- 设置上的问题,在程序里屏蔽掉#pragma src即可 (7)C206函数未定义 该函数没定义 MAIN.C(15): warning C206: delay1: missing function-prototype (8)C141少分号 部分程序: { pval = P1????????? /* Read P1 into pval */ P3 = pval;??????????? /* Write pval to P3 */ } 编译提示出错: MAIN.C(22): error C141: syntax error near P3 改正: P1后加; (9)C129汇编与C后缀问题 例如写这么一段小程序,保存为c0.c,编译时出现error c129,miss ; before 0

文档评论(0)

rovend + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档