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.

[参考译文] TMS320F28.0025万C:CCS库创建

Guru**** 2460950 points
Other Parts Discussed in Thread: C2000WARE

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1097818/tms320f280025c-ccs-library-creation

部件号:TMS320F28.0025万C
主题中讨论的其他部件:C2000WARE

你(们)好

我正在尝试使用示例i2c_ex4_eeprom_polling创建库。 以下是为静态库创建项目的过程

创建库文件

=================

1.创建新项目

   答 输出类型"静态库"

   B. 输出格式"eabi (ELF)"

2.在4.0 “属性->常规->产品”下添加产品"C2000Ware(C2000Ware.<xmt-block1>2000 0.00)

3.将i2cLib_Fifo_polloing.c,i2cLib_FIFO_polling.h和2.8002万x_generic_flash_link.cmd复制到项目目录

4.在property->builm->C2000 Archiver ->基本选项下,将输出文件扩展名.lib更改为.a

所有的东西都能正常工作,文件和库都能成功生成。

在项目中使用库

1.在property->buil->C2000链接器->File Search Path下的“将库文件或命令文件作为输入包含”窗口中添加具有完整路径和名称的库

2.define a variable struct I2CHandle asyncCmd wehre I2CHandle is define in i2cLib_FIFO_polling.h

3.但是,编译项目时出现如下错误"。

"../halo_func.c",第399行:警告#225-D:函数"I2CBusScan"隐式声明
"../halo_func.c",第425行:错误#71:不允许不完整的类型
"../halo_func.c",第426行:错误#71:不允许不完整的类型
"../halo_func.c",第427行:错误#71:不允许不完整的类型
"../halo_func.c",第428行:错误#71:不允许不完整的类型
"../halo_func.c",第429行:错误#71:不允许不完整的类型
"../halo_func.c",第430行:错误#71:不允许不完整的类型
"../halo_func.c",第431行:错误#71:不允许不完整的类型
"../halo_func.c",第432行:错误#71:不允许不完整的类型
"../halo_func.c",第433行:错误#71:不允许不完整的类型
"../halo_func.c",第436行:错误#71:不允许不完整的类型
"../halo_define.h",第359行:错误#237:变量"asyncCmd"被声明为从未完成的类型

a.行399为status = I2CBusScan (I2CA_BASE,pAvailableI2C_slaves);

B.第425-436行

       asyncCmd. SlaveAddr     = 0x59;
       asyncCmd. base          = I2CA_BASE;
       asyncCmd. pControlAddr  =&ControlAddr;
       asyncCmd. NumOfAddrBytes =1;
       asyncCmd. ptx_MsgBuffer = i2c.message.tx;
       asyncCmd. prx_MsgBuffer = i2c.message.rx;
       asyncCmd. NumOfAttempts =1;
       asyncCmd. delay_us      = 1000;
       asyncCmd. WriteCycleTime_in_us = 1000;   //10ms对于EEPROM此代码已测试

C.第359行

     外部结构I2CHandle asyncCmd;

请告知我有什么问题,因为这是我第一次构建库。

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    创建库是否有任何特殊原因? 您可以将这两个文件"i2cLib_Fifo_polloing.c,i2cLib_Fifo_polling.h"添加到项目中并使用它。

    此致

    Siddharth  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们不希望用户自己修改代码  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,  

    好的,将尝试重现该问题并回复给您。

    此致

    Siddharth

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    "./halo_define.h"109.7818万"./halo_define.h",28.0025万,第359行:错误#237:变量"asyncCmd"以一种从未完成的类型声明[/quote-completed]

      为了查看结构I2CHandle的定义,halo_define.h或 halo_func.c需要 halo_define.h中引用 结构I2CHandle的第359行之前#include "i2cLib_Fifo_polling.h"  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,切斯特

    我有一个问题,因为我是创建库的新手。 我在第359行之前添加了#include "i2cLib_Fifo_polling.h"。 它工作正常,文件i2cLib_FIFO_polling.h 和i2cLib_Fifo_polling.c仍在项目中。 我删除了这两个文件,并提示错误消息"../halo_define.h",第19行:致命错误#1965:无法打开源文件"i2cLib_fifo_polling.h",然后我将标题复制到项目,它就会消失。 是否意味着头文件必须在项目中,对吗?

    谢谢

    胡国兴

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这2000这是否109.7818万是否意味28.0025万意味着406.777万着头406.777万头文件必须包含在项目中?对吗?

    否,在CCS Build -> C2000 Compiler -> Include Options下的CCS项目属性中,您可以向编译器包含路径添加目录,用于查找包含文件。 例如:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,  

    头文件应可供项目访问。  

    如Chester所述,您可以将标题的路径添加为项目中的包含路径。

    此致

    Siddharth