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.

MDK5包含asmdefs.h这个头文件出错



MDK5包含asmdefs.h这个头文件出错。

//*****************************************************************************
//
// The defines required for RV-MDK.
//
//*****************************************************************************
#ifdef rvmdk

//
// The assembly code preamble required to put the assembler into the correct
// configuration.
//
thumb
require8
preserve8

//
// Section headers.
//
#define __LIBRARY__ ;
#define __TEXT__ area ||.text||, code, readonly, align=2
#define __DATA__ area ||.data||, data, align=2
#define __BSS__ area ||.bss||, noinit, align=2
#define __TEXT_NOROOT__ area ||.text||, code, readonly, align=2

//
// Assembler nmenonics.
//
#define __ALIGN__ align 4
#define __END__ end
#define __EXPORT__ export
#define __IMPORT__ import
#define __LABEL__
#define __STR__ dcb
#define __THUMB_LABEL__
#define __WORD__ dcd
#define __INLINE_DATA__

#endif // rvmdk

主要报错提示

thumb
require8
preserve8 这三个未定义。请问这个怎么解决?

  • 1.你用的是什么芯片

    2.头文件加载对了没

    3.你看看这三个变量在哪里定义的了,全局搜索下看看

  • 用的TM4C123GH6PMI,全局搜不到,肯定是没定义,看英文注释这边几句需要自己修改的,但是怎么修改,请TI技术人员出来给个解决方案吧,还是这个头文件有啥用,不包含可以吗。

  • asmdefs.h,从字面上看,应该是汇编代码的宏定义,该头文件的介绍,在头文件开头就有了

    // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

    从内容看,是汇编指令的宏定义

    #define __ALIGN__               .balign 4
    #define __END__                 .end
    #define __EXPORT__              .globl
    #define __IMPORT__              .extern
    #define __LABEL__               :
    #define __STR__                 .ascii
    #define __THUMB_LABEL__         .thumb_func
    #define __WORD__                .word
    #define __INLINE_DATA__