4293|0

1140

帖子

0

TA的资源

纯净的硅(初级)

楼主
 

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基本不用动。

点赞 关注
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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