[C2000] 关于28379D双核固化的一些问题。

[复制链接]
219|4
 楼主 | 2019-1-30 14:44 | 显示全部楼层
/*
* 28379_cpu1_main.c
*
* Created on: 2019年1月25日
* Author: Administrator
*/


#include "F28x_Project.h"
#include "F2837xD_device.h"
#include "F2837xD_Examples.h"

void main(void)

{

uint32_t delay,az;


InitSysCtrl();
EALLOW;
// GpioCtrlRegs.GPADIR.bit.GPIO31 = 1;
EDIS;
EALLOW;
GpioCtrlRegs.GPBDIR.bit.GPIO34 = 1;
EDIS;

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

GPIO_SetupPinOptions(34,GPIO_OUTPUT,GPIO_PUSHPULL);

// GpioDataRegs.GPADAT.bit.GPIO31 = 1;
GpioDataRegs.GPBDAT.bit.GPIO34 = 1;
az = 0;

// k = 0;

// for(k=0;k<10;k++){}

for(;;)
{
for(delay=0;delay<2000000;delay++)
{
az++;
}

az = 0;
// GpioDataRegs.GPADAT.bit.GPIO31 = 0;
// for(delay=0;delay<1000000;delay++)
// {}
// GpioDataRegs.GPADAT.bit.GPIO31 = 1;

// for(delay=0;delay<1000000;delay++)
// {}
GpioDataRegs.GPBDAT.bit.GPIO34 = 1;
for(delay=0;delay<2000000;delay++)
{

az++;
}

az = 0;
GpioDataRegs.GPBDAT.bit.GPIO34 = 0;


}


}


这是CPU1的配置。
发现GpioDataRegs.GPBDAT.bit.GPIO34 = 1;执行完了以后直接执行GpioDataRegs.GPBDAT.bit.GPIO34 = 0;
中间的for循环没有执行,这是单步执行时候发现的,debug的时候都没有问题的,for也能执行到。

这是在flash程序固化以后,直接resume发现的结果。

for没执行到是咋回事。
 楼主 | 2019-1-30 14:45 | 显示全部楼层
顺便贴上CPU2的配置。
/*
* F28379D_CPU2_MAIN.c
*
* Created on: 2019年1月25日
* Author: Administrator
*/

#include "F28x_Project.h"
#include "F2837xD_device.h"
#include "F2837xD_Examples.h"

void main(void)

{

uint32_t delay1;
InitSysCtrl();
EALLOW;
// GpioCtrlRegs.GPADIR.bit.GPIO31 = 1;
EDIS;
EALLOW;
// GpioCtrlRegs.GPBDIR.bit.GPIO34 = 1;
EDIS;

// GPIO_SetupPinOptions(31,GPIO_OUTPUT,GPIO_PUSHPULL);
// GPIO_SetupPinOptions(34,GPIO_OUTPUT,GPIO_PUSHPULL);

GpioDataRegs.GPADAT.bit.GPIO31 = 1;
// GpioDataRegs.GPBDAT.bit.GPIO34 = 1;

for(;;)
{
for(delay1=0;delay1<1000000;delay1++)
{}
GpioDataRegs.GPADAT.bit.GPIO31 = 0;
for(delay1=0;delay1<1000000;delay1++)
{}
GpioDataRegs.GPADAT.bit.GPIO31 = 1;


}


}
 楼主 | 2019-1-30 14:46 | 显示全部楼层
拨码我也试过了,没有反应。
 楼主 | 2019-1-31 10:48 | 显示全部楼层
将delay定义为全局变量就可以了,原因不明。
发现进来就直接进入了initsysctrl,直接跳过了uint32_t delay1;
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

快速回复 返回顶部 返回列表