Part Number:CC2530Other Parts Discussed in Thread:Z-STACK
Z-Stack 3.0.2 文件中修改去掉UI_及工程zcl_sampleapps_ui的C和H文件,初始加dbd 出现调试能跑,下载不能跑的问题。
具体如下:
1,去掉工程中zcl_sampleapps_ui.h zcl_sampleapps_ui.c
2, 去掉其他文件中有UI_开头的部分。
3,zclSampleLight_Init中加bdb_StartCommissioning和led闪动提升
void zclSampleLight_Init( byte task_id )
{
。。。
#include "hal_led.h"
HalLedSet (HAL_LED_ALL, HAL_LED_MODE_FLASH);//20210908
#ifdef ZDO_COORDINATOR
bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_FORMATION|BDB_COMMISSIONING_MODE_FINDING_BINDING );
NLME_PermitJoiningRequest(255);
#else
bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_STEERING|BDB_COMMISSIONING_MODE_FINDING_BINDING );
#endif
}
4,编译运行(用ccdebugger)可以,而且形成了一个协调器(抓包工具看到),灯也闪了。
问题
1,别的设备加入进来有出去了,后面改个地址又加入。不知道怎么办。
2,调试可以,但直接下载进去后运行不行,灯都没闪。
3,调试运行后观看看日志有如下警告:
Sat Sep 18, 2021 08:52:05: The stack pointer for stack 'IdataStack' (currently IData:0x00) is outside the stack range (IData:0x40 to IData:0x100)
Sat Sep 18, 2021 08:52:05: The stack pointer for stack 'XdataStack' (currently XData:0x0000) is outside the stack range (XData:0x0001 to XData:0x0401)
求指点:1,如何下载后能运行(或者什么原因引起这样子)。2,设备加入后为什么会断开(想让他一直保持)。3,警告是什么个情况,如何消除?
Kevin Qiu1:
xuewen zhan 说:1,别的设备加入进来有出去了,后面改个地址又加入。不知道怎么办。
有没有抓包文件,传上来看一下
2&3.调试是在RAM中运行程序,下载是先下载到flash当中,看警告应该是flash内存有问题
https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/448768/cc2530-xdatastack-currently-xdata-0x0000-is-outside-the-stack-range-xdata-0x0001-to-xdata-0x0301
另外注意使用release note规定的 IAR EW8051 10.10.1版本
,
xuewen zhan:
是 IAR EW8051 10.10.1版本
,
Kevin Qiu1:
上面的设置改了吗,另外将抓把文件传上来
,
xuewen zhan:
今天试了一下,搞个led试,先是放在ZMacInit();前面,调试和单独下载都可以点亮,后面如下放到它后面就调试可以,单独下载就不可以了。不知道ZMacInit();里面有什么名堂。
int main( void ){ // Turn off interrupts osal_int_disable( INTS_ALL );
// Initialization for board related stuff such as LEDs HAL_BOARD_INIT(); // Make sure supply voltage is high enough to run zmain_vdd_check();
// Initialize board I/O InitBoard( OB_COLD );
// Initialze HAL drivers HalDriverInit(); HAL_TURN_OFF_LED1(); //20210922 // Initialize NV System osal_nv_init( NULL ); // Initialize the MAC ZMacInit(); HAL_TURN_ON_LED1(); //20210922
,
xuewen zhan:
//-M(CODE)[(_CODEBANK_START+_FIRST_BANK_ADDR)-(_CODEBANK_END+_FIRST_BANK_ADDR)]*\//_NR_OF_BANKS+_FIRST_BANK_ADDR=0x8000 这个在3.0里面是默认去掉注释的。
,
xuewen zhan:
抓包里面如果调试的时候可以看到生成了一个调试器 因为我把它固定设置成 11通道 panid 0x1234
但烧录进去是看不到这个的。
,
xuewen zhan:
// ZMacInit(); 注释掉这个后可以显示led了,直接不调试也可以。这是什么情况。 HAL_TURN_ON_LED1(); //20210922
,
xuewen zhan:
晶振? 是不是要配置一下?
,
xuewen zhan:
在hal_board_cfg.h 的#define HAL_CPU_CLOCK_MHZ 32 后面加了一条 #define OSC32K_CRYSTAL_INSTALLED FALSE
就可以调试和下载(不调试)都可以运行了