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.

TMS320F28335: BootLoader应用层CMD修改问题

Part Number: TMS320F28335

我的项目需要使用BootLoader,按照之前项目使用的BootLoader参考修改了应用层的CMD文件 

在Memory PAGE0中添加了如下语句

CINT00      : origin = 0x300000, length = 0x000050     /* on-chip FLASH (必需加)*/

在SECTIONS中添加了如下语句

boot28 :> CINT00, PAGE = 0

{
-l rts2800_ml.lib<boot28.obj>(.text)
}

我的程序中使用了IQ定点计算,因此添加的语句中使用的rts2800_ml.lib库,我在工程设置中已经包含了该库,但是编译后报警告

Description Resource Path Location Type
#10068-D no matching section F28335_FLASH_lnk.cmd /AudioAmplifier_CH1_CH3/cmd line 133 C/C++ Problem

貌似这个库没有起效?导致我生成的Hex文件前面部分内容如下图,通过CAN总线烧写入FLASH后应用层程序未执行

map文件中boot28.obj貌似并没有在rts2800_ml.lib中

我试了之前BootLoader没有问题项目中的hex文件,在我的控制板上依然能正常运行点亮led灯,那个项目中由于没有使用IQ定点计算,CMD中使用的-l rts2800_fpu32.lib<boot.obj>(.text)语句,并且在生成的hex文件中前部分与我不同如下,多了红框中部分,我将CMD 中-l rts2800_fpu32.lib<boot.obj>(.text)语句屏蔽后重新生成HEX就变成和我新项目中HEX一样了,并且CAN总线烧入后同样不执行。

请问我最新项目中的CMD修改是否有问题?如果没问题为什么会报no matching section的错误,导致生成的HEX以及map显示都不正常?我该如何解决,万分感谢!

  • Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    /*
    // TI File $Revision: /main/10 $
    // Checkin $Date: July 9, 2008 13:43:56 $
    //###########################################################################
    //
    // FILE: F28335.cmd
    //
    // TITLE: Linker Command File For F28335 Device
    //
    //###########################################################################
    // $TI Release: DSP2833x/DSP2823x C/C++ Header Files V1.31 $
    // $Release Date: August 4, 2009 $
    //###########################################################################
    */
    /* ======================================================
    // For Code Composer Studio V2.2 and later
    // ---------------------------------------
    // In addition to this memory linker command file,
    // add the header linker command file directly to the project.
    // The header linker command file is required to link the
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • 您好,这个帖子我不太看得懂他的解决办法,--gen_func_subsections这个选项我也不知道在哪里,能麻烦您教一下吗?

  • 您好,这里我添加试过了,编译还是有警告,我觉得我BootLoader应用程序没执行的原因应该是程序入口地址固定的不对,我的CINT00段地址是 CINT00      : origin = 0x300000, length = 0x000050,但是编译生成的map文件中ENTRY POINT SYMBOL: "_c_int00"  address: 00303884,地址在FLSHH段,请问这是为什么?是因为我的#10068-D no matching section这个警告导致的吗?

  • 问题解决了,就是cmd中对rts库调用的问题,原语句是这样:-l rts2800_ml.lib<boot.obj>(.text)   由于TI更新过这个库中boot的调用名称,改成这个语句就好了: -l rts2800_ml.lib<boot28.asm.obj>(.text),程序入口地址已经能固定在0x300000了

  • 好的。非常感谢分享~

x 出现错误。请重试或与管理员联系。