TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28388D: f2838x_cpu1_allocate_ecat_to_cm例程C28内核与CM4内核交互区的疑问

Part Number:TMS320F28388DOther Parts Discussed in Thread:C2000WARE

在该工程中,MSCRAM_CPU_TO_CM被分配到CPUTOCMRAM

MSGRAM_CM_TO_CPU被分配到CMTOCPURAM,如下图所示

然而,我在工程中并没有找到MSGRAM_CPU_TO_CM及MSGRAM_CM_TO_CPU的定义

但是在.map文件文件中看到了他们的定义 如下图所示

从.map文件理解 是在ipc.c中定义了这两个buffer嘛 发现均为0x88个字

如果我想使用 或者修改交互区的大小 是不是也要在ipc.c中修改

再有就是ipc.c和driverlib是什么关系呢

为什么工程窗口看不到ipc.c文件 但是.map中确有与ipc.obj呢

user78960159:

说的有些乱 整理一下

没有找#pragma的使用,所以不清楚哪些变量或者属数组被定义到了MSGRAM_CPU_TO_CM和MSGRAM_CM_TO_CPU相关的数据段

已经被使用的0x88个字是什么内容呢

,

Yale Li:

您好,以ipc_ex1_basic_c28x1为例。

MSGRAM_CPU_TO_CM分别在如下代码中被分配:

而MSGRAM_CM_TO_CPU仅在ipc.c中被分配:

IPC_PutBuffer_t及IPC_GetBuffer_t的定义:

其中:

在main中,只有readData被使用:

user78960159 说:是不是也要在ipc.c中修改

在ipc.h中修改相关宏。

在使用中driverlib被Exclude from build:

您看一下这个帖子:

https://e2echina.ti.com/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/207401/tms320f280049c-ccs-driverlib-exclude-from-build

,

user78960159:

您好 您的链接里提到了driverlib使用的问题 我正好也有些疑问 目前对新一代处理的工程架构还是不熟悉

以ipc_ex2_msgqueue_c28x1例程为例:

driverlib文件夹被exclude了,这一点和链接里的例程一样,例程里的解释是库文件被inlude了,我看了这个工程的配置,是包含了TI\c2000ware\C2000Ware_4_01_00_00\driverlib\f2838x\driverlib,如下图所示:

图1.

工程导入到workspace下的时候,在device文件夹下也有库的复制,如下图所示

图2.

在工程的最后,有一个driverlib的链接,点击属性查看如下图所示:

图3

这个链接是链接到了C2000ware安装路径下的driverlib文件下的dibug库

我的问题是:

1. 工程编译的时候,使用的是

复制到workspace文件夹下的库文件(\TI\ccs1110\workspace\ipc_ex2_msgqueue_c28x1\device\driverlib,图2),

还是使用的安装路径下的库文件(TI\c2000ware\C2000Ware_4_01_00_00\driverlib\f2838x\driverlib,图1)

还是使用的工程最后driverlib link的那个库文件(TI\c2000ware\C2000Ware_4_01_00_00\driverlib\f2838x\driverlib\ccs\Debug\driverlib.lib,图3)

2.看到有的工程最后driverlib link的那个库文件使用了Debug\driverlib.lib(如f2838x_cpu1_allocate_ecat_to_cm),有的工程使用了Release\driverlib.lib

这两个文件夹下的库有什么区别

3.看到几乎所有工程都包含了一个driverlib的link链接,好像很多都是link的Debug\driverlib.lib,driverlib简单理解是不是把所有的驱动打包成了一个库,根据代码里使用的情况,编译器会自动增减库里的东西到最终生成的下载文件里

,

Yale Li:

1. 图1和图3。图2被exclude掉了。

2. https://e2e.ti.com/support/processors-group/processors/f/processors-forum/510261/difference-between-release-and-debug

3. 基本上是这样的。

,

user78960159:

您好 感谢帮助 对于您的答复 1和3我没有疑问了

对于2 还有些疑问 麻烦了

您分享的英文链接 里面似乎讲编译配置相关的

我更希望了解的是:

1.工程在编译的时候 使用的库 是工程文件列表下的那个driverlib.lib所link的库文件吗

2.最终是要用debug文件夹下的driver.lib还是release下的driver.lib呢

我理解debug的库如果是包含调试信息 是不是用debug的库编译出来的.out文件会大一些

3.如果在调试阶段用release的driver.lib会怎样呢 是看不到调试信息吗?

,

Yale Li:

您好

1. 是的

2. 调试的话使用debug下的,发布的话使用release下的。

user78960159 说:是不是用debug的库编译出来的.out文件会大一些

是的

3.是的

,

user78960159:

好的 感谢帮助

,

Yale Li:

您客气了

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28388D: f2838x_cpu1_allocate_ecat_to_cm例程C28内核与CM4内核交互区的疑问
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1