TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2640R2F Mutil_Role PERIPHERAL + OBSERVER OAD

工程需要,需要带OAD功能和主从一体功能

我再CC2640R2F 官方on-chip OAD工程上改了 多角色 从机+发现者

但是APP角色初始化不通过,没有触发GAP_DEVICE_INIT_DONE_EVENT 事件。APP还是正常运行的,其他的定时任务都能正常执行。

build_config.opt做了如下更改 :

/* BLE Host Build Configurations */
/* -DHOST_CONFIG=PERIPHERAL_CFG */
/* -DHOST_CONFIG=CENTRAL_CFG */
/* -DHOST_CONFIG=BROADCASTER_CFG */
/* -DHOST_CONFIG=OBSERVER_CFG */
-DHOST_CONFIG=PERIPHERAL_CFG+OBSERVER_CFG/* -DHOST_CONFIG=CENTRAL_CFG+BROADCASTER_CFG */
/*-DHOST_CONFIG=PERIPHERAL_CFG+CENTRAL_CFG*/

multi.c中做了如下更改

static void gapRole_init(void)
{
// Register the current thread as an ICall dispatcher application
// so that the application can send and receive messages.
ICall_registerApp(&selfEntity, &syncEvent);

// Get link DB maximum number of connections
#ifndef STACK_LIBRARY
linkDBNumConns = linkDB_NumConns();
#endif /* STACK_LIBRARY */

// Setup timers as one-shot timers
Util_constructClock(&startAdvClock, gapRole_clockHandler,
0, 0, false, START_ADVERTISING_EVT);
Util_constructClock(&updateTimeoutClock, gapRole_clockHandler,
0, 0, false, CONN_PARAM_TIMEOUT_EVT);

// Initialize the Profile Advertising and Connection Parameters
gapRole_profileRole = GAP_PROFILE_PERIPHERAL | GAP_PROFILE_OBSERVER;

VOID memset(gapRole_IRK, 0, KEYLEN);
VOID memset(gapRole_SRK, 0, KEYLEN);
gapRole_signCounter = 0;

gapRole_AdvEventType = GAP_ADTYPE_ADV_IND;
gapRole_AdvDirectType = ADDRTYPE_PUBLIC;
gapRole_AdvChanMap = GAP_ADVCHAN_ALL;
gapRole_AdvFilterPolicy = GAP_FILTER_POLICY_ALL;

// Restore Items from NV
VOID osal_snv_read(BLE_NVID_IRK, KEYLEN, gapRole_IRK);
VOID osal_snv_read(BLE_NVID_CSRK, KEYLEN, gapRole_SRK);
VOID osal_snv_read(BLE_NVID_SIGNCOUNTER, sizeof(uint32_t),
&gapRole_signCounter);
}

另外,我又在官方的Multi_role 工程实验,同样做上面这些更改,下载到设备中可以正常工作。这个没有OAD功能,尝试了在这个基础上改OAD,步骤忒复杂了,最后也没有成功。

各位大侠,我上面问题出现在哪里了啊?问什么从机+发现者+OAD不能正常初始化呢?

Susan Yang:

建议您在Mutil_Roled的例子中添加oad功能,请参照下面的文档中的Add Off-chip OAD to an existing project。但是有可能出现内存的溢出的情况,建议增加堆栈大小。此外不建议在此工程上曾加oad功能。

qingqing huang:

回复 Susan Yang:

Susan Yang

建议您在Mutil_Roled的例子中添加oad功能,请参照下面的文档中的Add Off-chip OAD to an existing project。但是有可能出现内存的溢出的情况,建议增加堆栈大小。此外不建议在此工程上曾加oad功能。

bo wu:

回复 qingqing huang:

请教下   楼主 有没有在成功在PERIPHERAL 基础上加上OBSERVER,目前我碰到的问题和你一样。麻烦您看到的话  回复一下

qingqing huang:

回复 bo wu:

我最后是在oad on chip 上增加的OBSERVER,成功了的。

赞(0)
未经允许不得转载:TI中文支持网 » CC2640R2F Mutil_Role PERIPHERAL + OBSERVER OAD
分享到: 更多 (0)