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.

TMS320VC5509A: 自建工程导入文件遇到的汇编文件报错问题

Part Number: TMS320VC5509A

汇编程序的报错不知道原因是啥,主要体现在三个方面,一是注释里面的语句也会被编译为错误,二是5509中的汇编指令有一些不能被识别,三是立即数前的# 分号以及一些缺少括号报错

  • 您好,我们已收到您的问题并升级到英文论坛寻求帮助,如有答复将尽快回复您。谢谢!

  • 您好,

    C5509汇编代码在一行的开头使用 ';' 进行注释。代码段中的第1行和第28行没有遵循该惯例。

    请确保汇编代码文件的后缀为*.asm

  • 不知道您还有什么问题吗?可以再描述下哈,不用点击reject的,我们会继续跟进您的问题的。

  • 哦哦,我以为需要点一下的。我这边修改了一下,现在是有关DMA的设置大面积的报错,头文件也引用了但报错说识别不了,按CTRL加点击也能够跳转到对应的头文件里面去。

  • 能麻烦您把图上的代码部分以文本形式再提供下吗?这样方便我们把中文注释转给工程师看。


  • #include <csl.h>
    #include <csl_mcbsp.h>
    #include <csl_dma.h>
    #include <csl_timer.h>
    #include <csl_mmc.h>
    #include <csl_irq.h>

    #include "register.h"
    #include "variable.h"
    #include "function.h"
    #include "mcbsp_initial.h"
    #include "wendu.c"
    #include "subfunction.c"
    #include "interrupt_function.c"
    #include "tistdtypes.h"


    目前是以下三个文件中有报错
    subfunction.c中
    比如 ADCCTL = 0x8000; // 启动AD转换,通道0
    do
    {
    temp_ADC=ADCDATA;
    此处报错为ADCCTL未定义,ADCCTL实际上是在头文件register.h中定义的,不知为何识别不到


    wendu.c中的情况也很相似
    volatile Uint32 delay;

    IODOR |= 0x02; //设置为输出状态
    IODATA |= 0x02; //输出高电平
    Uint32在tistdtypes.h中作如下定义 “ typedef unsigned long Uint32;”但仍出现未定义的报错


    variable.h中
    除了Uint未定义的报错外,
    volatile Uint32 Time_Delay; //转发延迟

    还有句柄的定义无法实现的问题,DMA_Handle等这些在csl_dma.h中定义的句柄也会出现未定义的情况
    DMA_Handle myhDma, hDmaSend0,hDmaSend1;
    TIMER_Handle mhTimer0,mhTimer1;
    MMC_Handle mmc1;
    MMC_CardObj *card, cardalloc;

    总之目前的问题表现在头文件不能识别出一部分别的头文件中定义的参数、语句等,是否是头文件引用的方式不对,希望能得到解答。

    编译环境设置如下

  • 您好,

    以上有两个问题:

    1. C55xxCSL\include 没有 register.h。它在哪里? 请确保该路径已包含。

    2.您说“Uint32在tistdtypes.h中作如下定义 “ typedef unsigned long Uint32;” 但实际上,UINT32与Uint32不同。

  • C55xxCSL\include 没有 register.h。

    对,这个有关寄存器的头文件是自己写的,所以肯定不在这个CSL库中,可是奇怪的是,Uint这个其实在CSL库的tistdtypes.h里就有定义的。我是根据我现在已知的知识将头文件链接,但很明显效果不好,请问有什么规范的方法能使自己需要的头文件路径被包含呢。麻烦提供一下,谢谢。

  • C55xxCSL\include 没有 register.h。

    对,这个有关寄存器的头文件是自己写的,所以肯定不在这个CSL库中,可是奇怪的是,Uint这个其实在CSL库的tistdtypes.h里就有定义的。我是根据我现在已知的知识将头文件链接,但很明显效果不好,请问有什么规范的方法能使自己需要的头文件路径被包含呢。麻烦提供一下,谢谢。

  • 您好,

    您可以通过在"Include options"中“adding a new path”来在 CCS 中添加新的 Include 路径: