打印

IQmath.h的问题

[复制链接]
2841|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
linhai2009|  楼主 | 2009-8-25 09:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
code composer could not locate IQNsqrt.asm
would you like to browse for it?

这是我在运行IQmath库时
老是出现这个框
下面是主程序
#include "IQmathLib.h"

#define PI 3.1415926
//----------------------------------------------------------------------------                        
// Main code:
//----------------------------------------------------------------------------                        
_iq in1,out1;


int main(void)
{
in1=_IQ(0.25*PI);
out1=_IQsqrt(in1);
        
}

大家知道是什么原因吗?

相关帖子

沙发
thf2008| | 2009-8-30 09:40 | 只看该作者
英文提示不是告诉你原因了撒,我个人猜测是缺少IQ的库吧,或者是IQNsqrt.asm文件没加到工程里来!

使用特权

评论回复
板凳
linhai2009|  楼主 | 2009-8-30 11:33 | 只看该作者
在main函数中加“IQmathLib。h”,在cmd文件分配空间,还需要在哪里加文件呀?

使用特权

评论回复
地板
thf2008| | 2009-8-31 13:00 | 只看该作者
IQmathLib。h
只是Q格式的头文件而已,而如果你程序调用比如SIN COS的Q格式运算,就需要调用LIB 注意 LIB跟H文件不是同一个概念,
或者这样说 IQmath,LIB只需要添加到工程中,而不需要额外的代码包含它!
这是我的理解

使用特权

评论回复
5
linhai2009|  楼主 | 2009-9-1 09:59 | 只看该作者
不是很理解,你能说的具体点吗?

使用特权

评论回复
6
thf2008| | 2009-9-6 15:08 | 只看该作者
用IQmath首先要安装,装完了之后在project里添加IQmath.lib,然后在程序里添加#include "IQmathLib.h",链接汇编一下就会自动生成.h文件,最后修改cmd文件如下:
MEMORY
{
PAGE 0 :
   BOOTROM    : origin = 0x3ff000, length = 0x000fc0
   PRAMH0     : origin = 0x3f8000, length = 0x002000      
   

         
PAGE 1 :
   /* SARAM                     */     
   RAMM0    : origin = 0x000000, length = 0x000400
   RAMM1    : origin = 0x000400, length = 0x000400
   
   
   

   /* Peripheral Frame 0:   */
   DEV_EMU    : origin = 0x000880, length = 0x000180
   FLASH_REGS : origin = 0x000A80, length = 0x000060
   CSM        : origin = 0x000AE0, length = 0x000010
   XINTF      : origin = 0x000B20, length = 0x000020
   CPU_TIMER0 : origin = 0x000C00, length = 0x000008
   CPU_TIMER1 : origin = 0x000C08, length = 0x000008                 
   CPU_TIMER2 : origin = 0x000C10, length = 0x000008                 
   PIE_CTRL   : origin = 0x000CE0, length = 0x000020
   PIE_VECT   : origin = 0x000D00, length = 0x000100

   /* Peripheral Frame 1:   */
   ECAN_A     : origin = 0x006000, length = 0x000100
   ECAN_AMBOX : origin = 0x006100, length = 0x000100

   /* Peripheral Frame 2:   */
   SYSTEM     : origin = 0x007010, length = 0x000020
   SPI_A      : origin = 0x007040, length = 0x000010
   SCI_A      : origin = 0x007050, length = 0x000010
   XINTRUPT   : origin = 0x007070, length = 0x000010
   GPIOMUX    : origin = 0x0070C0, length = 0x000020
   GPIODAT    : origin = 0x0070E0, length = 0x000020
   ADC        : origin = 0x007100, length = 0x000200
   EV_A       : origin = 0x007400, length = 0x000040
   EV_B       : origin = 0x007500, length = 0x000040
   SPI_B      : origin = 0x007740, length = 0x000010
   SCI_B      : origin = 0x007750, length = 0x000010
   MCBSP_A    : origin = 0x007800, length = 0x000040

   /* CSM Password Locations */
   CSM_PWL    : origin = 0x3F7FF8, length = 0x000008

   /* SARAM                    */     
   DRAMH0     : origin = 0x3f9000, length = 0x001000         
}


SECTIONS
{
   /* Allocate program areas: */
   .reset           : > PRAMH0,      PAGE = 0
   .text            : > PRAMH0,      PAGE = 0
   .cinit           : > PRAMH0,      PAGE = 0


   
   /* Allocate data areas: */
   .stack           : > RAMM1,       PAGE = 1
   .bss             : > DRAMH0,      PAGE = 1
   .ebss            : > DRAMH0,      PAGE = 1
   .const           : > DRAMH0,      PAGE = 1
   .econst          : > DRAMH0,      PAGE = 1      
   .sysmem          : > DRAMH0,      PAGE = 1
   
   /* Allocate Peripheral Frame 0 Register Structures:   */
   DevEmuRegsFile    : > DEV_EMU,    PAGE = 1
   FlashRegsFile     : > FLASH_REGS, PAGE = 1
   CsmRegsFile       : > CSM,        PAGE = 1
   XintfRegsFile     : > XINTF,      PAGE = 1
   CpuTimer0RegsFile : > CPU_TIMER0, PAGE = 1      
   CpuTimer1RegsFile : > CPU_TIMER1, PAGE = 1      
   CpuTimer2RegsFile : > CPU_TIMER2, PAGE = 1      
   PieCtrlRegsFile   : > PIE_CTRL,   PAGE = 1      
   PieVectTable      : > PIE_VECT,   PAGE = 1

   /* Allocate Peripheral Frame 2 Register Structures:   */
   ECanaRegsFile     : > ECAN_A,      PAGE = 1   
   ECanaMboxesFile   : > ECAN_AMBOX   PAGE = 1

   /* Allocate Peripheral Frame 1 Register Structures:   */
   SysCtrlRegsFile   : > SYSTEM,     PAGE = 1
   SpiaRegsFile      : > SPI_A,      PAGE = 1
   SciaRegsFile      : > SCI_A,      PAGE = 1
   XIntruptRegsFile  : > XINTRUPT,   PAGE = 1
   GpioMuxRegsFile   : > GPIOMUX,    PAGE = 1
   GpioDataRegsFile  : > GPIODAT     PAGE = 1
   AdcRegsFile       : > ADC,        PAGE = 1
   EvaRegsFile       : > EV_A,       PAGE = 1
   EvbRegsFile       : > EV_B,       PAGE = 1
   ScibRegsFile      : > SCI_B,      PAGE = 1
   McbspaRegsFile    : > MCBSP_A,    PAGE = 1

   /* CSM Password Locations */
   CsmPwlFile      : > CSM_PWL,     PAGE = 1
  
  /*IQmath*/
  IQmathTables     : load=BOOTROM,  type=NOLOAD,PAGE=0
  IQmath           : load=PRAMH0,                PAGE=0
}

我是这样做的,算的挺好的,楼主试一试。

使用特权

评论回复
7
linhai2009|  楼主 | 2009-9-6 16:05 | 只看该作者
理解了,谢谢了啊

使用特权

评论回复
8
thf2008| | 2009-9-16 00:41 | 只看该作者
不用了谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

191

主题

1930

帖子

2

粉丝