在main中调用自己写的调试函数zigbee_adp_changeMac_test 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(); zigbee_adp_changeMac_test(); // Initialize NV System osal_nv_init( NULL ); // Initialize the MAC ZMacInit(); 。 。 void zigbee_adp_changeMac_test(void) { #if 1 uint8 usrDefSecondaryMac[Z_EXTADDR_LEN] = {0}; uint8 locbitw[HAL_FLASH_LOCK_BITS] = {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF ,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; uint8 locbit[HAL_FLASH_LOCK_BITS] = {0}; uint8 testMac1[Z_EXTADDR_LEN] = {0x77,0x66,0x55,0x44,0x33,0x22,0x11,0x00}; uint8 testMac2[Z_EXTADDR_LEN] = {0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77}; uint8 tmp[200]={0}; osal_memset(locbit,0,HAL_FLASH_LOCK_BITS); HalFlashRead(HAL_FLASH_IEEE_PAGE, (HAL_FLASH_IEEE_OSET+HAL_FLASH_IEEE_SIZE), locbit, HAL_FLASH_LOCK_BITS); osal_memset(tmp,0,200); sprintf((char *)tmp, "\r\n[zmain,loc1:%02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x FCTL:0x%x]\r\n" ,locbit[0],locbit[1],locbit[2],locbit[3],locbit[4],locbit[5],locbit[6],locbit[7] ,locbit[8],locbit[9],locbit[10],locbit[11],locbit[12],locbit[13],locbit[14],locbit[15],FCTL); HalUARTWrite(1, tmp, osal_strlen((char *)tmp)); //尝试写loc HalFlashWrite(0xFFFC, locbitw, 4); osal_memset(locbit,0,HAL_FLASH_LOCK_BITS); HalFlashRead(HAL_FLASH_IEEE_PAGE, (HAL_FLASH_IEEE_OSET+HAL_FLASH_IEEE_SIZE), locbit, HAL_FLASH_LOCK_BITS); osal_memset(tmp,0,200); sprintf((char *)tmp, "\r\n[zmain,loc2:%02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x FCTL:0x%x]\r\n" ,locbit[0],locbit[1],locbit[2],locbit[3],locbit[4],locbit[5],locbit[6],locbit[7] ,locbit[8],locbit[9],locbit[10],locbit[11],locbit[12],locbit[13],locbit[14],locbit[15],FCTL); HalUARTWrite(1, tmp, osal_strlen((char *)tmp)); //获取Secondary MAC HalFlashRead(HAL_FLASH_IEEE_PAGE, HAL_FLASH_IEEE_OSET, usrDefSecondaryMac, Z_EXTADDR_LEN); osal_memset(tmp,0,200); sprintf((char *)tmp, "\r\n[test_01,FM:0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x,FCTL:0x%x]\r\n" ,usrDefSecondaryMac[0],usrDefSecondaryMac[1],usrDefSecondaryMac[2],usrDefSecondaryMac[3] ,usrDefSecondaryMac[4],usrDefSecondaryMac[5],usrDefSecondaryMac[6],usrDefSecondaryMac[7],FCTL); HalUARTWrite(1, tmp, osal_strlen((char *)tmp)); HalFlashErase(127); osal_memset(tmp,0,200); sprintf((char *)tmp, "\r\n[test_02,after erase FCTL:0x%x]\r\n",FCTL); HalUARTWrite(1, tmp, osal_strlen((char *)tmp)); HalFlashWrite(0xFFFA, testMac1, 2); osal_memset(tmp,0,200); sprintf((char *)tmp, "\r\n[test_03,after write FCTL:0x%x]\r\n",FCTL); HalUARTWrite(1, tmp, osal_strlen((char *)tmp)); //获取Secondary MAC HalFlashRead(HAL_FLASH_IEEE_PAGE, HAL_FLASH_IEEE_OSET, usrDefSecondaryMac, Z_EXTADDR_LEN); osal_memset(tmp,0,200); sprintf((char *)tmp, "\r\n[test_04,FM:0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x,FCTL:0x%x]\r\n" ,usrDefSecondaryMac[0],usrDefSecondaryMac[1],usrDefSecondaryMac[2],usrDefSecondaryMac[3] ,usrDefSecondaryMac[4],usrDefSecondaryMac[5],usrDefSecondaryMac[6],usrDefSecondaryMac[7],FCTL); HalUARTWrite(1, tmp, osal_strlen((char *)tmp)); #endif #if 1 osal_memset(tmp,0,200); sprintf((char *)tmp, "\r\n[test_001,before erase FCTL:0x%x]\r\n",FCTL); HalUARTWrite(1, tmp, osal_strlen((char *)tmp)); HalFlashErase(127); osal_memset(tmp,0,200); sprintf((char *)tmp, "\r\n[test_002,after erase FCTL:0x%x]\r\n",FCTL); HalUARTWrite(1, tmp, osal_strlen((char *)tmp)); HalFlashWrite(0xFFFA, testMac2, 2); osal_memset(tmp,0,200); sprintf((char *)tmp, "\r\n[test_003,after write FCTL:0x%x]\r\n",FCTL); HalUARTWrite(1, tmp, osal_strlen((char *)tmp)); //获取Secondary MAC HalFlashRead(HAL_FLASH_IEEE_PAGE, HAL_FLASH_IEEE_OSET, usrDefSecondaryMac, Z_EXTADDR_LEN); osal_memset(tmp,0,200); sprintf((char *)tmp, "\r\n[test_004,FM:0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x,FCTL:0x%x]\r\n" ,usrDefSecondaryMac[0],usrDefSecondaryMac[1],usrDefSecondaryMac[2],usrDefSecondaryMac[3] ,usrDefSecondaryMac[4],usrDefSecondaryMac[5],usrDefSecondaryMac[6],usrDefSecondaryMac[7],FCTL); HalUARTWrite(1, tmp, osal_strlen((char *)tmp)); #endif }