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:
您客气了