较无耻的要求 PIC AN967的源代码 编译不能

[复制链接]
4988|7
 楼主| szcharle 发表于 2008-7-4 15:08 | 显示全部楼层 |阅读模式
是在Microchip网站上下载的AN967(用PIC16F72驱动单相交流电机)的原代码<br />压缩包里面包括一个asm&nbsp;和一个inc文件<br />我用MPLab&nbsp;8.1&nbsp;(网站上下的次新稳定版)&nbsp;编译&nbsp;<br />报错,内容如下:<br />----------------------------------------------------------------------<br />Release&nbsp;build&nbsp;of&nbsp;project&nbsp;`E:\pic&nbsp;test\1\1.mcp'&nbsp;started.<br />Fri&nbsp;Jul&nbsp;04&nbsp;11:37:28&nbsp;2008<br />----------------------------------------------------------------------<br />Make:&nbsp;The&nbsp;target&nbsp;&quot;E:\pic&nbsp;test\1\MC_16F72.o&quot;&nbsp;is&nbsp;out&nbsp;of&nbsp;date.<br />Executing:&nbsp;&quot;C:\Program&nbsp;Files\Microchip\MPASM&nbsp;Suite\MPASMWIN.exe&quot;&nbsp;/q&nbsp;/p16F72&nbsp;&quot;MC_16F72.asm&quot;&nbsp;/l&quot;MC_16F72.lst&quot;&nbsp;/e&quot;MC_16F72.err&quot;&nbsp;/x&quot;MC_16F72.xrf&quot;&nbsp;/aINHX8M<br />Error[149]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;76&nbsp;:&nbsp;Directive&nbsp;only&nbsp;allowed&nbsp;when&nbsp;generating&nbsp;an&nbsp;object&nbsp;file<br />Error[149]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;79&nbsp;:&nbsp;Directive&nbsp;only&nbsp;allowed&nbsp;when&nbsp;generating&nbsp;an&nbsp;object&nbsp;file<br />Error[149]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;83&nbsp;:&nbsp;Directive&nbsp;only&nbsp;allowed&nbsp;when&nbsp;generating&nbsp;an&nbsp;object&nbsp;file<br />Message[302]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;89&nbsp;:&nbsp;Register&nbsp;in&nbsp;operand&nbsp;not&nbsp;in&nbsp;bank&nbsp;0.&nbsp;Ensure&nbsp;that&nbsp;bank&nbsp;bits&nbsp;are&nbsp;correct.<br />Message[302]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;91&nbsp;:&nbsp;Register&nbsp;in&nbsp;operand&nbsp;not&nbsp;in&nbsp;bank&nbsp;0.&nbsp;Ensure&nbsp;that&nbsp;bank&nbsp;bits&nbsp;are&nbsp;correct.<br />Message[302]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;118&nbsp;:&nbsp;Register&nbsp;in&nbsp;operand&nbsp;not&nbsp;in&nbsp;bank&nbsp;0.&nbsp;Ensure&nbsp;that&nbsp;bank&nbsp;bits&nbsp;are&nbsp;correct.<br />Message[302]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;120&nbsp;:&nbsp;Register&nbsp;in&nbsp;operand&nbsp;not&nbsp;in&nbsp;bank&nbsp;0.&nbsp;Ensure&nbsp;that&nbsp;bank&nbsp;bits&nbsp;are&nbsp;correct.<br />Message[302]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;135&nbsp;:&nbsp;Register&nbsp;in&nbsp;operand&nbsp;not&nbsp;in&nbsp;bank&nbsp;0.&nbsp;Ensure&nbsp;that&nbsp;bank&nbsp;bits&nbsp;are&nbsp;correct.<br />Message[302]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;141&nbsp;:&nbsp;Register&nbsp;in&nbsp;operand&nbsp;not&nbsp;in&nbsp;bank&nbsp;0.&nbsp;Ensure&nbsp;that&nbsp;bank&nbsp;bits&nbsp;are&nbsp;correct.<br />Message[302]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;144&nbsp;:&nbsp;Register&nbsp;in&nbsp;operand&nbsp;not&nbsp;in&nbsp;bank&nbsp;0.&nbsp;Ensure&nbsp;that&nbsp;bank&nbsp;bits&nbsp;are&nbsp;correct.<br />Message[302]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;733&nbsp;:&nbsp;Register&nbsp;in&nbsp;operand&nbsp;not&nbsp;in&nbsp;bank&nbsp;0.&nbsp;Ensure&nbsp;that&nbsp;bank&nbsp;bits&nbsp;are&nbsp;correct.<br />Message[302]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;734&nbsp;:&nbsp;Register&nbsp;in&nbsp;operand&nbsp;not&nbsp;in&nbsp;bank&nbsp;0.&nbsp;Ensure&nbsp;that&nbsp;bank&nbsp;bits&nbsp;are&nbsp;correct.<br />Message[302]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;750&nbsp;:&nbsp;Register&nbsp;in&nbsp;operand&nbsp;not&nbsp;in&nbsp;bank&nbsp;0.&nbsp;Ensure&nbsp;that&nbsp;bank&nbsp;bits&nbsp;are&nbsp;correct.<br />Error[149]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;900&nbsp;:&nbsp;Directive&nbsp;only&nbsp;allowed&nbsp;when&nbsp;generating&nbsp;an&nbsp;object&nbsp;file<br />Halting&nbsp;build&nbsp;on&nbsp;first&nbsp;failure&nbsp;as&nbsp;requested.<br />----------------------------------------------------------------------<br />Release&nbsp;build&nbsp;of&nbsp;project&nbsp;`E:\pic&nbsp;test\1\1.mcp'&nbsp;failed.<br />Fri&nbsp;Jul&nbsp;04&nbsp;11:37:30&nbsp;2008<br />----------------------------------------------------------------------<br />BUILD&nbsp;FAILED<br /><br />
 楼主| szcharle 发表于 2008-7-4 15:12 | 显示全部楼层

接着

然后我根据Error&nbsp;149&nbsp;就改成输出build&nbsp;library&nbsp;target&nbsp;(invoke&nbsp;MPLIB)<br />这次编译成功了&nbsp;但是按照help&nbsp;此种只能生成.o文件&nbsp;也确实生成了一个.o文件&nbsp;<br />但是下一步该怎样做呢?&nbsp;怎么才能生成&nbsp;Hex文件呢&nbsp;晕了<br /><br />----------------------------------------------------------------------<br />Debug&nbsp;build&nbsp;of&nbsp;project&nbsp;`E:\pic&nbsp;test\1\1.mcp'&nbsp;started.<br />Preprocessor&nbsp;symbol&nbsp;`__DEBUG'&nbsp;is&nbsp;defined.<br />Fri&nbsp;Jul&nbsp;04&nbsp;11:36:15&nbsp;2008<br />----------------------------------------------------------------------<br />Make:&nbsp;The&nbsp;target&nbsp;&quot;E:\pic&nbsp;test\1\MC_16F72.o&quot;&nbsp;is&nbsp;out&nbsp;of&nbsp;date.<br />Executing:&nbsp;&quot;C:\Program&nbsp;Files\Microchip\MPASM&nbsp;Suite\MPASMWIN.exe&quot;&nbsp;/q&nbsp;/p16cxx&nbsp;&quot;MC_16F72.asm&quot;&nbsp;/l&quot;MC_16F72.lst&quot;&nbsp;/e&quot;MC_16F72.err&quot;&nbsp;/o&quot;MC_16F72.o&quot;&nbsp;/d__DEBUG=1&nbsp;/x&quot;MC_16F72.xrf&quot;&nbsp;/aINHX8M<br />Message[301]&nbsp;C:\PROGRAM&nbsp;FILES\MICROCHIP\MPASM&nbsp;SUITE\P16F72.INC&nbsp;35&nbsp;:&nbsp;MESSAGE:&nbsp;(Processor-header&nbsp;file&nbsp;mismatch.&nbsp;Verify&nbsp;selected&nbsp;processor.)<br />Message[302]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;89&nbsp;:&nbsp;Register&nbsp;in&nbsp;operand&nbsp;not&nbsp;in&nbsp;bank&nbsp;0.&nbsp;Ensure&nbsp;that&nbsp;bank&nbsp;bits&nbsp;are&nbsp;correct.<br />Message[302]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;91&nbsp;:&nbsp;Register&nbsp;in&nbsp;operand&nbsp;not&nbsp;in&nbsp;bank&nbsp;0.&nbsp;Ensure&nbsp;that&nbsp;bank&nbsp;bits&nbsp;are&nbsp;correct.<br />Message[302]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;118&nbsp;:&nbsp;Register&nbsp;in&nbsp;operand&nbsp;not&nbsp;in&nbsp;bank&nbsp;0.&nbsp;Ensure&nbsp;that&nbsp;bank&nbsp;bits&nbsp;are&nbsp;correct.<br />Message[302]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;120&nbsp;:&nbsp;Register&nbsp;in&nbsp;operand&nbsp;not&nbsp;in&nbsp;bank&nbsp;0.&nbsp;Ensure&nbsp;that&nbsp;bank&nbsp;bits&nbsp;are&nbsp;correct.<br />Message[302]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;135&nbsp;:&nbsp;Register&nbsp;in&nbsp;operand&nbsp;not&nbsp;in&nbsp;bank&nbsp;0.&nbsp;Ensure&nbsp;that&nbsp;bank&nbsp;bits&nbsp;are&nbsp;correct.<br />Message[302]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;141&nbsp;:&nbsp;Register&nbsp;in&nbsp;operand&nbsp;not&nbsp;in&nbsp;bank&nbsp;0.&nbsp;Ensure&nbsp;that&nbsp;bank&nbsp;bits&nbsp;are&nbsp;correct.<br />Message[302]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;144&nbsp;:&nbsp;Register&nbsp;in&nbsp;operand&nbsp;not&nbsp;in&nbsp;bank&nbsp;0.&nbsp;Ensure&nbsp;that&nbsp;bank&nbsp;bits&nbsp;are&nbsp;correct.<br />Message[302]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;733&nbsp;:&nbsp;Register&nbsp;in&nbsp;operand&nbsp;not&nbsp;in&nbsp;bank&nbsp;0.&nbsp;Ensure&nbsp;that&nbsp;bank&nbsp;bits&nbsp;are&nbsp;correct.<br />Message[302]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;734&nbsp;:&nbsp;Register&nbsp;in&nbsp;operand&nbsp;not&nbsp;in&nbsp;bank&nbsp;0.&nbsp;Ensure&nbsp;that&nbsp;bank&nbsp;bits&nbsp;are&nbsp;correct.<br />Message[302]&nbsp;E:\PIC&nbsp;TEST\1\MC_16F72.ASM&nbsp;750&nbsp;:&nbsp;Register&nbsp;in&nbsp;operand&nbsp;not&nbsp;in&nbsp;bank&nbsp;0.&nbsp;Ensure&nbsp;that&nbsp;bank&nbsp;bits&nbsp;are&nbsp;correct.<br />Make:&nbsp;The&nbsp;target&nbsp;&quot;E:\pic&nbsp;test\1\1.cof&quot;&nbsp;is&nbsp;out&nbsp;of&nbsp;date.<br />Executing:&nbsp;&quot;C:\Program&nbsp;Files\Microchip\MPASM&nbsp;Suite\mplib.exe&quot;&nbsp;/c&nbsp;&quot;1.lib&quot;&nbsp;&quot;MC_16F72.o&quot;<br />MPLIB&nbsp;4.20,&nbsp;Librarian<br />Copyright&nbsp;(c)&nbsp;2008&nbsp;Microchip&nbsp;Technology&nbsp;Inc.<br /><br />Errors&nbsp;:&nbsp;0<br /><br />----------------------------------------------------------------------<br />Debug&nbsp;build&nbsp;of&nbsp;project&nbsp;`E:\pic&nbsp;test\1\1.mcp'&nbsp;succeeded.<br />Preprocessor&nbsp;symbol&nbsp;`__DEBUG'&nbsp;is&nbsp;defined.<br />Fri&nbsp;Jul&nbsp;04&nbsp;11:36:19&nbsp;2008<br />----------------------------------------------------------------------<br />BUILD&nbsp;SUCCEEDED<br />
 楼主| szcharle 发表于 2008-7-4 15:13 | 显示全部楼层

老大们 帮看看 谢谢!

我尝试编译那些普通的example&nbsp;可以编译通过的&nbsp;(说明编译器和我可能没有问题)<br />单片机型号也没有选错啊&nbsp;环境变量没改&nbsp;尝试指定&nbsp;如lib&nbsp;lkr的&nbsp;也没有用&nbsp;<br /><br />这个程序&nbsp;纯粹的汇编&nbsp;根据作者说明&nbsp;有一段db(Sine表)&nbsp;是要在开机时候从rom加载到ram中的<br />我怀疑是不是这段导致的编译不能啊<br /><br />AN967的原链接<br />http://www.microchip.com/stellent/i...ppnote=en022135<br /><br />老大们帮我看看吧&nbsp;或许对你们是个很简单的小问题&nbsp;对我这个新手&nbsp;我看能卡死我啊&nbsp;呜呜<br />
yewuyi 发表于 2008-7-4 15:23 | 显示全部楼层

检查一下项目文件是否放在中文路径下?!

检查一下项目文件是否放在中文路径下?!
 楼主| szcharle 发表于 2008-7-4 18:38 | 显示全部楼层

搞定了 谢谢回复

一个高手帮我看了一下&nbsp;是那个code的什么重定位的问题<br />新手啊&nbsp;看来要多学习!&nbsp;俺决定投奔PIC了&nbsp;看中的就是它的“开源”!&nbsp;
yewuyi 发表于 2008-7-5 08:29 | 显示全部楼层

呵呵,佛山的待遇奇低

  
bob.xue 发表于 2008-7-8 09:50 | 显示全部楼层

检查,删除重编

Make:&nbsp;The&nbsp;target&nbsp;&quot;E:\pic&nbsp;test\1\MC_16F72.o&quot;&nbsp;is&nbsp;out&nbsp;of&nbsp;date.<br /><br />问题可能出在这里哦。<br /><br />(原来已经搞定了)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

27

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部