TMS320F28388D 的 IPC程序使用

IPC主要的作用是:
处理器之间的数据通信

本例背景
F28388D中的CPU1核与CM4核之间的简单数据通信。
本例主要是从CPU1向CM4核发送数据。
可以在之前的以太网通信例程中,加入IPC程序。

程序来源
IPC程序借鉴于C2000 WARE例程中的ipc_ex1_basic_c28x1.c与ipc_ex1_basic_cm.c
路径为:
C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f2838x\examples\c28x_cm\ipc
(例程给的特别好,稍微改一下,自己就可以用上了)

程序结构
两部分组成:
第一部分:
完成CPU1核中的IPC发送程序
(将上面的ipc_ex1_basic_c28x1.c程序移植进自己的CPU1核的例程中)

第二部分:
完成CM4核中的IPC接收程序(接收用的中断)
(将上面的ipc_ex1_basic_cm.c程序移植进自己的CM4核的例程中)

移植后,编译成功。然后根据上一篇文章中的下载方法下载到板子中去。

观察CPU1核的pass值,如果由0变为1,就代表IPC成功运行。

程序中,重点程序说明
自己的数据,可以先放到一个数组中,然后替换掉下面的readData数组。
#pragma DATA_SECTION(readData, “MSGRAM_CPU_TO_CM”);

下面IPC发送函数中的readData与前面的一样,可以被自己的数组替换。len代表给数组的长度,可以用#define定义一个常量,方便修改,也可以直接写数字。
IPC_sendCommand(IPC_CPU1_L_CM_R, IPC_FLAG0, IPC_ADDR_CORRECTION_ENABLE,
IPC_CMD_READ_MEM, (uint32_t)readData, len);

下面的是CM4核中的接收数据的函数。
&addr接收了来自CPU1的数据。 &data接收了来自CPU1的数组长度。
IPC_readCommand(IPC_CM_L_CPU1_R, IPC_FLAG0, IPC_ADDR_CORRECTION_ENABLE,
&command, &addr, &data);
下面的for循环中,UDPData1[i] =*((uint32_t )addr+i);可以通过i的依次增加,完成对地址对应数据的转存。
for(i=0; i<data; i++)
{
UDPData1[i] =
((uint32_t *)addr+i);

想法与例程的提供
当然,在我的应用背景下,对于CPU1的例程而言,也可以将以太网的例程(ethernet_c28x_config)移植进ipc_ex1_basic_c28x1.c中。与上面的移植方法相比,都很简单。
但是CM4核的程序,建议将IPC程序移植进enet_lwip中。反过来移植的话,工作量有点大。

移植完的IPC+UDP协议的以太网数据通信例程见博客中的资源上传。(文章中压缩包上传有限制)

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
TMS320F28034是一款由德州仪器(Texas Instruments)生产的32位单片机。它集成了强大的数字信号处理(DSP)功能,适用于各种应用领域,例如工业控制、电力电子、数字通信和汽车电子等。 在编写TMS320F28034的工程程序时,我们需要使用适合的集成开发环境(IDE),例如Code Composer Studio (CCS)。首先,我们需要了解TMS320F28034芯片的特性和功能,以便合理地使用它的资源和模块。 接下来,我们可以使用C语言或汇编语言编写程序。在程序编写过程中,我们需要使用TMS320F28034提供的各种库函数来实现所需的功能。这些库函数包括数字信号处理、控制算法、通信接口和定时器等。 在编写程序之前,我们需要了解所需的外设和系统要求。例如,如果需要使用ADC(模数转换器)来采集模拟信号,我们需要配置ADC的参数并使用合适的库函数进行数据采样和处理。同样,如果需要使用PWM(脉宽调制)输出控制信号,我们也需要配置PWM模块并使用相应的库函数。 在程序完成之后,我们可以通过JTAG或BSL等接口将程序下载到TMS320F28034芯片中。在下载完成后,我们需要对芯片进行初始化,以确保系统正常运行。 总之,TMS320F28034的工程程序编写涉及到对芯片特性和功能的了解,使用适当的开发环境和库函数,配置外设和实现所需的功能。通过合理地编写程序,并进行适当的调试和测试,我们可以为TMS320F28034芯片开发出高效可靠的应用程序
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xinxinjiaoliu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值