TI中文支持网
TI专业的中文技术问题搜集分享网站

CCS3.3/3.1编译2812伺服驱动器程序时出错

最近用CCS3.3编译一套伺服程序,比较大(估计数十万行),编译结束生成.OUT文件前,报错,总是提示RAM_L不能分配空间,我查了一下是RAM_L分配的长度不够,我将其增大,比如下面代码中粗体length = 0x002FF8 ,则通过。

令我不解的是,此套代码在老外那里是没有任何问题的,可是到我这里为什么为出现这样的错误,还有,我如果采用我的一台比较老的笔记本WIN xp系统,则不会提示这样的错误(现在采用的是WIN7,系统安装了VM虚拟机,然后VM装了XP系统)

MEMORY {       RAM_M       : origin = 0x000000, length = 0x000800 

    PIE_VECT    : origin = 0x000D00, length = 0x000100

RAM_L       : origin = 0x007000, length = 0x001FF8

RAM_H       : origin = 0x3A8000, length = 0x001FF8 

OTP         : origin = 0x3D7800, length = 0x000800

….

}

rookiecalf:

可能和编译器的版本有关,你看一下实际使用空间是多大,是不是在0x1FF8左右

最近用CCS3.3编译一套伺服程序,比较大(估计数十万行),编译结束生成.OUT文件前,报错,总是提示RAM_L不能分配空间,我查了一下是RAM_L分配的长度不够,我将其增大,比如下面代码中粗体length = 0x002FF8 ,则通过。

令我不解的是,此套代码在老外那里是没有任何问题的,可是到我这里为什么为出现这样的错误,还有,我如果采用我的一台比较老的笔记本WIN xp系统,则不会提示这样的错误(现在采用的是WIN7,系统安装了VM虚拟机,然后VM装了XP系统)

MEMORY {       RAM_M       : origin = 0x000000, length = 0x000800 

    PIE_VECT    : origin = 0x000D00, length = 0x000100

RAM_L       : origin = 0x007000, length = 0x001FF8

RAM_H       : origin = 0x3A8000, length = 0x001FF8 

OTP         : origin = 0x3D7800, length = 0x000800

….

}

frank li4:

回复 rookiecalf:

老外的编译器版本是ccs3.1我用3.1和3.3都试过都是同样的错误,改天我把具体的错误图发出来。

最近用CCS3.3编译一套伺服程序,比较大(估计数十万行),编译结束生成.OUT文件前,报错,总是提示RAM_L不能分配空间,我查了一下是RAM_L分配的长度不够,我将其增大,比如下面代码中粗体length = 0x002FF8 ,则通过。

令我不解的是,此套代码在老外那里是没有任何问题的,可是到我这里为什么为出现这样的错误,还有,我如果采用我的一台比较老的笔记本WIN xp系统,则不会提示这样的错误(现在采用的是WIN7,系统安装了VM虚拟机,然后VM装了XP系统)

MEMORY {       RAM_M       : origin = 0x000000, length = 0x000800 

    PIE_VECT    : origin = 0x000D00, length = 0x000100

RAM_L       : origin = 0x007000, length = 0x001FF8

RAM_H       : origin = 0x3A8000, length = 0x001FF8 

OTP         : origin = 0x3D7800, length = 0x000800

….

}

user4187796:

回复 frank li4:

你自己修改程序了吗 或者定义变量了吗

最近用CCS3.3编译一套伺服程序,比较大(估计数十万行),编译结束生成.OUT文件前,报错,总是提示RAM_L不能分配空间,我查了一下是RAM_L分配的长度不够,我将其增大,比如下面代码中粗体length = 0x002FF8 ,则通过。

令我不解的是,此套代码在老外那里是没有任何问题的,可是到我这里为什么为出现这样的错误,还有,我如果采用我的一台比较老的笔记本WIN xp系统,则不会提示这样的错误(现在采用的是WIN7,系统安装了VM虚拟机,然后VM装了XP系统)

MEMORY {       RAM_M       : origin = 0x000000, length = 0x000800 

    PIE_VECT    : origin = 0x000D00, length = 0x000100

RAM_L       : origin = 0x007000, length = 0x001FF8

RAM_H       : origin = 0x3A8000, length = 0x001FF8 

OTP         : origin = 0x3D7800, length = 0x000800

….

}

frank li4:

回复 user4187796:

[Linking…] "C:\CCStudio_v3.3\C2000\cgtools\bin\cl2000" -@"PCB4123456_Release.lkf" <Linking> >>   error: can't allocate .intflash, size 00028a0d (page 0) in FLASH_INT             (avail: 0001fff0) >>   error: can't allocate .fastram_h, size 000001c0 (page 0) in RAM_H (avail:             000001e2) >>   error: can't allocate .sysmem, size 00000100 (page 0) in RAM_L (avail:             000000f7) >>   error: errors in input – ./_t_654_123456/654.out not built

>> Compilation failure

 

不好意思这么晚,前段时间太忙了,

我的出错信息如下,我一段程序也没有改,不知道什么原因?

最近用CCS3.3编译一套伺服程序,比较大(估计数十万行),编译结束生成.OUT文件前,报错,总是提示RAM_L不能分配空间,我查了一下是RAM_L分配的长度不够,我将其增大,比如下面代码中粗体length = 0x002FF8 ,则通过。

令我不解的是,此套代码在老外那里是没有任何问题的,可是到我这里为什么为出现这样的错误,还有,我如果采用我的一台比较老的笔记本WIN xp系统,则不会提示这样的错误(现在采用的是WIN7,系统安装了VM虚拟机,然后VM装了XP系统)

MEMORY {       RAM_M       : origin = 0x000000, length = 0x000800 

    PIE_VECT    : origin = 0x000D00, length = 0x000100

RAM_L       : origin = 0x007000, length = 0x001FF8

RAM_H       : origin = 0x3A8000, length = 0x001FF8 

OTP         : origin = 0x3D7800, length = 0x000800

….

}

Eric Ma:

回复 frank li4:

要看一下老外有没有使用编译器的优化功能,因为使用优化,就会让代码变得更小。优化功能见build option。

Eric

最近用CCS3.3编译一套伺服程序,比较大(估计数十万行),编译结束生成.OUT文件前,报错,总是提示RAM_L不能分配空间,我查了一下是RAM_L分配的长度不够,我将其增大,比如下面代码中粗体length = 0x002FF8 ,则通过。

令我不解的是,此套代码在老外那里是没有任何问题的,可是到我这里为什么为出现这样的错误,还有,我如果采用我的一台比较老的笔记本WIN xp系统,则不会提示这样的错误(现在采用的是WIN7,系统安装了VM虚拟机,然后VM装了XP系统)

MEMORY {       RAM_M       : origin = 0x000000, length = 0x000800 

    PIE_VECT    : origin = 0x000D00, length = 0x000100

RAM_L       : origin = 0x007000, length = 0x001FF8

RAM_H       : origin = 0x3A8000, length = 0x001FF8 

OTP         : origin = 0x3D7800, length = 0x000800

….

}

frank li4:

回复 mangui zhang:

多谢了,我看了下,opt level等级是o3,但是我把 program level Opt: 改为设定 Pragram Mode Compilation 后编译跟之前不一样了,但是现在出现了2个错误如下:

[Linking…] "C:\CCStudio_v3.3\C2000\cgtools\bin\cl2000" -@"PCB123456_Release.lkf" <Linking> >> 123.cmd:   error: system error, can't open file 'dummy_fat.obj' for input: No                      such file or directory

>> Compilation failure

 可是,我搜索了一下“  PCB123456_Release.lkf”  里面的路径是对的,而却存在'dummy_fat.obj' 这个文件

不知是怎么回事?

最近用CCS3.3编译一套伺服程序,比较大(估计数十万行),编译结束生成.OUT文件前,报错,总是提示RAM_L不能分配空间,我查了一下是RAM_L分配的长度不够,我将其增大,比如下面代码中粗体length = 0x002FF8 ,则通过。

令我不解的是,此套代码在老外那里是没有任何问题的,可是到我这里为什么为出现这样的错误,还有,我如果采用我的一台比较老的笔记本WIN xp系统,则不会提示这样的错误(现在采用的是WIN7,系统安装了VM虚拟机,然后VM装了XP系统)

MEMORY {       RAM_M       : origin = 0x000000, length = 0x000800 

    PIE_VECT    : origin = 0x000D00, length = 0x000100

RAM_L       : origin = 0x007000, length = 0x001FF8

RAM_H       : origin = 0x3A8000, length = 0x001FF8 

OTP         : origin = 0x3D7800, length = 0x000800

….

}

rookiecalf:

回复 frank li4:

使用rebuild试试

最近用CCS3.3编译一套伺服程序,比较大(估计数十万行),编译结束生成.OUT文件前,报错,总是提示RAM_L不能分配空间,我查了一下是RAM_L分配的长度不够,我将其增大,比如下面代码中粗体length = 0x002FF8 ,则通过。

令我不解的是,此套代码在老外那里是没有任何问题的,可是到我这里为什么为出现这样的错误,还有,我如果采用我的一台比较老的笔记本WIN xp系统,则不会提示这样的错误(现在采用的是WIN7,系统安装了VM虚拟机,然后VM装了XP系统)

MEMORY {       RAM_M       : origin = 0x000000, length = 0x000800 

    PIE_VECT    : origin = 0x000D00, length = 0x000100

RAM_L       : origin = 0x007000, length = 0x001FF8

RAM_H       : origin = 0x3A8000, length = 0x001FF8 

OTP         : origin = 0x3D7800, length = 0x000800

….

}

Eric Ma:

回复 frank li4:

program level Opt, 改成off,或空白, 然后把debug那个文件夹删掉,rebuild。

ERIC

最近用CCS3.3编译一套伺服程序,比较大(估计数十万行),编译结束生成.OUT文件前,报错,总是提示RAM_L不能分配空间,我查了一下是RAM_L分配的长度不够,我将其增大,比如下面代码中粗体length = 0x002FF8 ,则通过。

令我不解的是,此套代码在老外那里是没有任何问题的,可是到我这里为什么为出现这样的错误,还有,我如果采用我的一台比较老的笔记本WIN xp系统,则不会提示这样的错误(现在采用的是WIN7,系统安装了VM虚拟机,然后VM装了XP系统)

MEMORY {       RAM_M       : origin = 0x000000, length = 0x000800 

    PIE_VECT    : origin = 0x000D00, length = 0x000100

RAM_L       : origin = 0x007000, length = 0x001FF8

RAM_H       : origin = 0x3A8000, length = 0x001FF8 

OTP         : origin = 0x3D7800, length = 0x000800

….

}

mangui zhang:

回复 frank li4:

楼主   问题解决了吗   想知道答案

赞(0)
未经允许不得转载:TI中文支持网 » CCS3.3/3.1编译2812伺服驱动器程序时出错
分享到: 更多 (0)