微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > CC1310可以仿真下载程序,但是断电再上电就不会运行

CC1310可以仿真下载程序,但是断电再上电就不会运行

时间:12-23 整理:3721RD 点击:

我使用的是CC13104*4的芯片,下载的是tirtos_cc13xx_cc26xx_2_21_00_06里面CC1310DK_7XD的发送数据包rfPacketTx例程,然后把board.h,CC1310DK_7XD.c和CC1310DK_7XD.h三个文件替换成CC1310DK_4XD目录下的相应的board.h,CC1310DK_7XD.c和CC1310DK_7XD.h三个文件。现在的现象是,可以使用仿真器下载运行LED灯发送一个包就闪烁频谱仪上有波形,但是如果我断电重新上电,LED灯就不再闪烁同时频谱仪也没有波形。

请问各位大神,我这种现象是如何解决?会是什么原因?会是替换文件有问题吗?

发送任务源码:

static void txTaskFunction(UArg arg0, UArg arg1)
{
uint32_t time,i;
// RF_EventMask result;
RF_Params rfParams;
RF_Params_init(&rfParams);

RF_cmdPropTx.pktLen = PAYLOAD_LENGTH;
RF_cmdPropTx.pPkt = packet;
RF_cmdPropTx.startTrigger.triggerType = TRIG_ABSTIME;
RF_cmdPropTx.startTrigger.pastTrig = 1;
RF_cmdPropTx.startTime = 0;

/* Request access to the radio */
rfHandle = RF_open(&rfObject, &RF_prop, (RF_RadioSetup*)&RF_cmdPropRadioDivSetup, &rfParams);

/* Set the frequency */
RF_postCmd(rfHandle, (RF_Op*)&RF_cmdFs, RF_PriorityNormal, NULL, 0);

/* Get current time */
time = RF_getCurrentTime();
while(1)
{
/* Create packet with incrementing sequence number and random payload */
packet[0] = (uint8_t)(seqNumber >> 8);
packet[1] = (uint8_t)(seqNumber++);
uint8_t i;
for (i = 2; i < PAYLOAD_LENGTH; i++)
{
packet[i] = rand();
}

/* Set absolute TX time to utilize automatic power management */
time += PACKET_INTERVAL;
RF_cmdPropTx.startTime = time;

/* Send packet */
RF_EventMask result = RF_runCmd(rfHandle, (RF_Op*)&RF_cmdPropTx, RF_PriorityNormal, NULL, 0);
if (!(result & RF_EventLastCmdDone))
{
/* Error */
while(1);
}
PIN_setOutputValue(pinHandle, Board_LED1,!PIN_getOutputValue(Board_LED1));
}
}

仿真器可能只停留于RAM仿真,并没有真正下载到flash里面,建议用Flash Programmer 2鉴定一下是否flash 有代码

这个地方是勾选仿真下载到FLASH的吗?我已经勾选了,但是还是有可能没有下载到芯片里面去吗?

有尝试用Flash Programmer 2把he或者bin或者out文件烧写进去吗?看看能不能成功

我使用的是CC1310 7*7的芯片也遇到了同样的问题,不知道你的问题原因找到了吗?

移植除了board.h以外,CC1310DK_7XD.c和CC1310DK_7XD.h,RF配置文件看一下? 

http://processors.wiki.ti.com/index.php/CC13xx_frontend_configurations

1、我程序里没有用到RF,我也没有用rtos,用的大循环;

2437.bin文件.rar

2、附件bin文件压缩包里包括一个正常运行程序和一个异常不能运行程序,这两个文件是我从同一个CC1310芯片通过flash programmer2读取出来的。

正常运行程序:用IAR先烧写一个程序a,然后再烧写程序b;

异常不运行程序:用IAR直接烧写程序b;

我比对了2个bin文件只有从1FFA0开始的内容不同,请问是IAR哪里设置的不对还是在程序里需要设置?

你是否使用了NVS,把CCFG区擦除了

对,是把CCFG区擦除了。找了半天总算找到原因了。还有我现在遇到一个新的问题,用IAR生成的hex文件无法用flash programmer2下载,知道是怎么回事吗?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top