This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

有关ezdsp5535的例程aic3204的有关问题

Other Parts Discussed in Thread: TLV320AIC3204

(1)使用的是aic3204例程,没有做修改。但是在编译的时候提示有如下错误:

fatal error: file
"C:\ti\ccsv5\tools\compiler\c5500_4.4.1\lib\rts55.lib<divul.obj>" has a
Tag_Memory_Model attribute value of "1" that is different than one
previously seen ("2"); combining incompatible files 

请问这是什么原因,应该怎么解决?

(2)例程中有关A/D和D/A的函数,配置应该参考什么资料?

之前下载过一个Technical Reference文档,但是里面没有这方面的资料。

请问还可以参考什么有关资料?

  • 1. memory model和rts库不匹配。你现在用的是rts55.lib库。看一下CCS->Build->C5500 Compiler->Runtime Model Options->Specify Memory Model是否选了small? 

    2. A/D, D/A的配置要参考相应的datasheet。如果是要查看AIC3204的配置参数,请参考AIC3204的datasheet。 

  • shine你好,

    (1)我按照你的方法把那个设置为了small(之前是large),但是编译的时候还是有之前提到的那个问题。不知道现在应该怎么解决?

    (2)可不可以麻烦您给一下您上面提到的资料的链接,找了好久没有找到对应的有用资料。

  • 1. 还是报rts55.lib库的错吗?

    2. aic3204的datasheet如下。
    http://www.ti.com/product/TLV320AIC3204 

  • (1)提示的错误:

    fatal error: file

    >> Compilation failure
    "C:\Users\Administrator\workspace_v5_3\ezdsp5535_v1\lib\ezdsp5535bsl.lib<ezd
    sp5535_i2s.obj>" has a Tag_Memory_Model attribute value of "2" that is
    different than one previously seen ("1"); combining incompatible files
    gmake: *** [aic3204.out] Error 1
    gmake: Target `all' not remade because of errors.

    提示 file错误,不知道什么原因?

  • 这个提示bsl库和memory model不兼容。

    那你把memory model选成large, 把rts55.lib改成rts55x.lib

  • shine你好,

    按照你说的方法解决了 bsl库和memory model不兼容的问题;但是又有了新的问题.......

    编译的时候提示的错误是:

    (1)"../C5535.cmd", line 69: error: program will not fit into available memory 。

    (2)error: errors encountered during linking; "aic3204.out" not built 。

    麻烦您了,谢谢!!

  • 从错误提示看,应该是分配的memory大小不过。

    69行是什么语句?把cmd文件贴出来看看。

  • MEMORY
    {
    MMR: o = 0x000000 l = 0x0000c0 /* 192B Memory Mapped Registers */
    DARAM0: o = 0x0000C0 l = 0x001F40 /* 8kB Dual Access RAM 0 */
    DARAM1: o = 0x002000 l = 0x002000 /* 8kB Dual Access RAM 1 */
    DARAM2: o = 0x004000 l = 0x002000 /* 8kB Dual Access RAM 2 */
    DARAM3: o = 0x006000 l = 0x002000 /* 8kB Dual Access RAM 3 */
    DARAM4: o = 0x008000 l = 0x002000 /* 8kB Dual Access RAM 4 */
    DARAM5: o = 0x00A000 l = 0x002000 /* 8kB Dual Access RAM 5 */
    DARAM6: o = 0x00C000 l = 0x002000 /* 8kB Dual Access RAM 6 */
    DARAM7: o = 0x00E000 l = 0x002000 /* 8kB Dual Access RAM 7 */

    SARAM0: o = 0x010000 l = 0x002000 /* 8kB Single Access RAM 0 */
    SARAM1: o = 0x012000 l = 0x002000 /* 8kB Single Access RAM 1 */
    SARAM2: o = 0x014000 l = 0x002000 /* 8kB Single Access RAM 2 */
    SARAM3: o = 0x016000 l = 0x002000 /* 8kB Single Access RAM 3 */
    SARAM4: o = 0x018000 l = 0x002000 /* 8kB Single Access RAM 4 */
    SARAM5: o = 0x01A000 l = 0x002000 /* 8kB Single Access RAM 5 */
    SARAM6: o = 0x01C000 l = 0x002000 /* 8kB Single Access RAM 6 */
    SARAM7: o = 0x01E000 l = 0x002000 /* 8kB Single Access RAM 7 */
    SARAM8: o = 0x020000 l = 0x002000 /* 8kB Single Access RAM 8 */
    SARAM9: o = 0x022000 l = 0x002000 /* 8kB Single Access RAM 9 */
    SARAM10: o = 0x024000 l = 0x002000 /* 8kB Single Access RAM 10 */
    SARAM11: o = 0x026000 l = 0x002000 /* 8kB Single Access RAM 11 */
    SARAM12: o = 0x028000 l = 0x002000 /* 8kB Single Access RAM 12 */
    SARAM13: o = 0x02A000 l = 0x002000 /* 8kB Single Access RAM 13 */
    SARAM14: o = 0x02C000 l = 0x002000 /* 8kB Single Access RAM 14 */
    SARAM15: o = 0x02E000 l = 0x002000 /* 8kB Single Access RAM 15 */
    SARAM16: o = 0x030000 l = 0x002000 /* 8kB Single Access RAM 16 */
    SARAM17: o = 0x032000 l = 0x002000 /* 8kB Single Access RAM 17 */
    SARAM18: o = 0x034000 l = 0x002000 /* 8kB Single Access RAM 18 */
    SARAM19: o = 0x036000 l = 0x002000 /* 8kB Single Access RAM 19 */
    SARAM20: o = 0x038000 l = 0x002000 /* 8kB Single Access RAM 20 */
    SARAM21: o = 0x03A000 l = 0x002000 /* 8kB Single Access RAM 21 */
    SARAM22: o = 0x03C000 l = 0x002000 /* 8kB Single Access RAM 22 */
    SARAM23: o = 0x03E000 l = 0x002000 /* 8kB Single Access RAM 23 */
    SARAM24: o = 0x040000 l = 0x002000 /* 8kB Single Access RAM 24 */
    SARAM25: o = 0x042000 l = 0x002000 /* 8kB Single Access RAM 25 */
    SARAM26: o = 0x044000 l = 0x002000 /* 8kB Single Access RAM 26 */
    SARAM27: o = 0x046000 l = 0x002000 /* 8kB Single Access RAM 27 */
    SARAM28: o = 0x048000 l = 0x002000 /* 8kB Single Access RAM 28 */
    SARAM29: o = 0x04A000 l = 0x002000 /* 8kB Single Access RAM 29 */
    SARAM30: o = 0x04C000 l = 0x002000 /* 8kB Single Access RAM 30 */
    SARAM31: o = 0x04E000 l = 0x002000 /* 8kB Single Access RAM 31 */

    ROM: o = 0xFE0000 l = 0x01FF00 /* 128kB ROM (MPNMC=0) or CS5 (MPNMC=1) */
    VECS: o = 0xFFFF00 l = 0x000100 /* reset vector */
    }

    SECTIONS
    {
    vectors (NOLOAD) > VECS /* If MPNMC = 1, remove the NOLOAD directive */
    .cinit > DARAM0
    .text > DARAM1             //69
    .stack > DARAM0
    .sysstack > DARAM0
    .sysmem > DARAM4
    .data > DARAM4
    .cio > DARAM0
    .bss > DARAM5
    .const > DARAM0
    }

  • 看一下.map文件里.text段的大小多少?感觉段大小超过了DARAM1的大小。

  • (1)//.map文件

    就像您说的,大小超过了容量;但是我没有修改程序代码的,直接使用的就是下载的例程。

    这个情况就需要重新弄吗?

  • .text段大小5e4c超过了DARAM1 2000大小,所以你要改一下CMD文件里的MEMORY段分配,不要分那么细,合并几个组成一个大的MEMORY来放.text段。