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.

CCS / TMS320F28335:#10068-D no matching section warning appears in CMD when calling Flash28335_API_V210.lib library

Other Parts Discussed in Thread: TMS320F28335

产品编号: TMS320F28335

工具/软件: Code Composer Studio

#10068-D调用Flash28335_API_V210.lib库时,CMD中没有匹配的部分警告

SECTIONS
{

/ *分配方案领域:* /
Flash28_API:
{
-l Flash28335_API_V210.lib(.econst)
-l Flash28335_API_V210.lib(的.text)
} LOAD = FLASHD_2,
RUN = RAML0,
LOAD_START(_Flash28_API_LoadStart),
LOAD_END(_Flash28_API_LoadEnd),
RUN_START(_Flash28_API_RunStart),
PAGE = 0

以上绿色编译将报告此错误:
#10068-D无匹配部分 F28335.cmd / EA180_CPUA_F110第166行C / C ++问题

#10068-D没有匹配的部分  F28335.cmd / EA180_CPUA_F110第167行C / C ++问题

我没有找到在网上查看很长时间的原因。

附加到我的CMD文件和地图文件:

2337.EA180_CPUA_F110.map.txt

8270.F28335.cmd.txt
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/*
//###########################################################################
//
// FILE: F28335.cmd
//
// TITLE: Linker Command File For F28335 Device
//
//###########################################################################
// $TI Release: 2833x/2823x Header Files and Peripheral Examples V133 $
// $Release Date: June 8, 2012 $
//###########################################################################
*/
/* ======================================================
// 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
// peripheral structures to the proper locations within
// the memory map.
//
// The header linker files are found in <base>\DSP2833x_Headers\cmd
//
// For BIOS applications add: DSP2833x_Headers_BIOS.cmd
// For nonBIOS applications add: DSP2833x_Headers_nonBIOS.cmd
========================================================= */
/* ======================================================
// For Code Composer Studio prior to V2.2
// --------------------------------------
// 1) Use one of the following -l statements to include the
// header linker command file in the project. The header linker
// file is required to link the peripheral structures to the proper
// locations within the memory map */
/* Uncomment this line to include file only for non-BIOS applications */
/* -l DSP2833x_Headers_nonBIOS.cmd */
/* Uncomment this line to include file only for BIOS applications */
/* -l DSP2833x_Headers_BIOS.cmd */
/* 2) In your project add the path to <base>\DSP2833x_headers\cmd to the
library search path under project->build options, linker tab,
library search path (-i).
/*========================================================= */
/* Define the memory block start/length for the F28335
PAGE 0 will be used to organize program sections
PAGE 1 will be used to organize data sections
Table 4-1. Initialized Sections Created by the Compiler
---------+------------------------------------------------------------------+---------------------------
Name | Contents | Restrictions
---------+------------------------------------------------------------------+---------------------------
.cinit | Tables for explicitly initialized global and static variables | Program
---------+------------------------------------------------------------------+---------------------------
.const | Global and static const variables that are explicitly | Low 64K
| initialized and contain string literals |
---------+------------------------------------------------------------------+---------------------------
.econst | Far constant variables | Anywhere in data
---------+------------------------------------------------------------------+---------------------------
.pinit | Table of constructors to be called at startup | Program
---------+------------------------------------------------------------------+---------------------------
.switch | Jump tables for large switch statements | Program with -mt option
| | Data without -mt option
---------+------------------------------------------------------------------+---------------------------
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • Hi,

    Could you please re-post your question/issue in English?

    Best,
    Kevin

    Edit:

    Also, can you provide the full text of the warning. Something may be missing or improper in your linker command file (.cmd)

  • user3829300,

    You need to actually call a flash API function before the API section will appear in your build.  The warning is saying that you have linked the section, but the section is not present in the build.

    Regards,

    David

  • Thank you, this problem has been solved, but there is another problem. Please help me to look at it.

    The second entry variable of Flash_Program() function is Uint16 type,
    but I want to store the int32 type, and then I get an error.
    How can I implement int32 type data to write to fixed Flash,
    thank you!


    int32 Buffer1[20]={1,2,3,4,5,6,7,8,9,10,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10}; Flash_ptr = Sector[1].StartAddr; Length = 0x4; Status = Flash_Program(Flash_ptr,Buffer1,Length,&FlashStatus); if(Status != STATUS_SUCCESS) { Example_Error(Status); }

    Compile error message:

    Description Resource Path Location Type
    #169 argument of type "int32 *" is incompatible with parameter of type "Uint16 *" Flash_API_Func.c /EA180_CPUA_F110/SpecialFunction line 310 C/C++ Problem

  • Thank you, this problem has been solved, 
    but there is another problem. Please help me to look at it.

    The second entry variable of Flash_Program() function is Uint16 type,
    but I want to store the int32 type,
    and then I get an error.
    How can I implement int32 type data to write to fixed Flash,
    thank you!


    int32 Buffer1 [20] = {1,2,3,4,5,6,7,8,9,10,-1,-2,-3,-4,-5,-6,-7,-8 ,-9,-10};

    Flash_ptr = Sector[1].StartAddr;
    Length = 0x4;
    Status = Flash_Program(Flash_ptr,Buffer1,Length,&FlashStatus);
    if(Status != STATUS_SUCCESS)
    {
    Example_Error(Status);
    }

    Compile error message:

    Description Resource Path Location Type
    #169 argument of type "int32 *" is incompatible with parameter of type "Uint16 *" Flash_API_Func.c /EA180_CPUA_F110/SpecialFunction line 310 C/C++ Problem

     

  • Dear David:
    Thank you, this problem has been solved,
    but there is another problem. Please help me to look at it.

    The second entry variable of Flash_Program() function is Uint16 type,
    but I want to store the int32 type,
    and then I get an error.
    How can I implement int32 type data to write to fixed Flash,
    thank you!


    int32 Buffer1 [20] = {1,2,3,4,5,6,7,8,9,10,-1,-2,-3,-4,-5,-6,-7,-8 ,-9,-10};

    Flash_ptr = Sector[1].StartAddr;
    Length = 0x4;
    Status = Flash_Program(Flash_ptr,Buffer1,Length,&FlashStatus);
    if(Status != STATUS_SUCCESS)
    {
    Example_Error(Status);
    }

    Compile error message:

    Description Resource Path Location Type
    #169 argument of type "int32 *" is incompatible with parameter of type "Uint16 *" Flash_API_Func.c /EA180_CPUA_F110/SpecialFunction line 310 C/C++ Problem
  • user3829300,

    You can typecast the array as 16-bit unsigned in the function call.

    Status = Flash_Program(Flash_ptr,(Uint16*)Buffer1,Length,&FlashStatus);

    I didn't test, but I believe the above is correct.

    Regards,

    David

  • Thank You Very Much!