306|0

1905

帖子

0

资源

一粒金砂(高级)

TMS320F28379d双核使用记录 [复制链接]

设置生成flash编译,下载,不断电,直接运行,可以。但是断电重新上电运行就不可以。

怀疑是CPU1的工程中没有对CPU2的启动代码,需要加入:

    // Send boot command to allow the CPU2 application to begin execution
    IPCBootCPU2(0x0000000B);

    当然为了让上面这行代码能够编译通过和正常运行,需要做和他相关的头脑文件包含:#include "F2837xD_Ipc_drivers.h"

   以及该函数所在的源文件的导入:F2837xD_Ipc_Driver_Util.c

 CPU1的主函数,adc_epwm_cpu01.c,改成如下的样子:

#include "F28x_Project.h"
#include "F2837xD_Ipc_drivers.h"

void main(void)
{

    InitSysCtrl();
    // Send boot command to allow the CPU2 application to begin execution
    IPCBootCPU2(0x0000000B);

    InitGpio();

    GPIO_SetupPinMux(31, GPIO_MUX_CPU1, 0);
    GPIO_SetupPinOptions(31, GPIO_OUTPUT, GPIO_PUSHPULL);

    GPIO_SetupPinMux(34, GPIO_MUX_CPU2, 0);
    GPIO_SetupPinOptions(34, GPIO_OUTPUT, GPIO_PUSHPULL);

    DINT;

    InitPieCtrl();

    IER = 0x0000;
    IFR = 0x0000;

    InitPieVectTable();

    EINT;  // Enable Global interrupt INTM
    ERTM;  // Enable Global realtime interrupt DBGM

    InitEPwm1Gpio();
// Transfer ownership of EPWM1 and ADCA to CPU02
    EALLOW;
    DevCfgRegs.CPUSEL0.bit.EPWM1 = 1;
    DevCfgRegs.CPUSEL11.bit.ADC_A = 1;
    EDIS;

    while(1)
    {
        GPIO_WritePin(31, 0);
        DELAY_US(1000*500);
        GPIO_WritePin(31, 1);
        DELAY_US(1000*500);
    }
}

CPU2的主函数,adc_epwm_cpu02.c基本不用动。


回复
您需要登录后才可以回帖 登录 | 注册

最新文章 更多>>
    关闭
    站长推荐上一条 1/5 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表