I have a problem configuring IPv6 using NDK for TI-RTOS. Could you point out my mistake or provide a sample code of IPv6 config and socket creation?
I use *.cfg configuration with IPv6 support enabled. This is my code :
#ifdef IPV6_TEST
static void IPv6DADStatus(IP6N Address, unsigned short dev_index, unsigned char Status)
{
char strIPAddress[40];
/* Convert the IP Address to String Format. */
IPv6IPAddressToString(Address, strIPAddress);
/* Print the status of the address. */
NIMU_log("IPv6 address: %s on device %d is %s\n", strIPAddress, dev_index,
(Status == 1) ? "UNIQUE" : "DUPLICATE");
return;
}
#endif
/* ========================================================================== */
/* MAIN */
/* ========================================================================== */
int main()
{
/* Call board init functions */
Board_initCfg boardCfg;
Task_Params taskParams;
EMAC_HwAttrs_V4 cfg;
boardCfg = BOARD_INIT_PINMUX_CONFIG |
BOARD_INIT_MODULE_CLOCK | BOARD_INIT_UART_STDIO;
Board_init(boardCfg);
/* Chip configuration MII/RMII selection */
SOCCtrlCpswPortMacModeSelect(1, ETHERNET_MAC_TYPE_MII);
SOCCtrlCpswPortMacModeSelect(2, ETHERNET_MAC_TYPE_MII);
EMAC_socGetInitCfg(0, &cfg);
cfg.port[0].phy_addr = EMAC_CPSW_PORT0_PHY_ADDR_EVM;
cfg.port[1].phy_addr = EMAC_CPSW_PORT0_PHY_ADDR_EVM;
cfg.macModeFlags = EMAC_CPSW_CONFIG_MODEFLG_FULLDUPLEX;
EMAC_socSetInitCfg(0, &cfg);
#ifdef IPV6_TEST
llEnter ();
int status = IPv6InterfaceInit(1, IPv6DADStatus);
llExit ();
if (status < 0) {
NIMU_log("Unable to initialize the IPv6 stack\n");
}else{
NIMU_log("initialized IPv6 stack\n");
}
#endif
Task_Params_init(&taskParams);
taskParams.priority = 3;
taskParams.stackSize = 0x2400;
taskParams.instance->name = "SOC-recive";
Task_create(socket_recive_test, &taskParams, NULL);
Task_Params_init(&taskParams);
taskParams.priority = 1;
taskParams.stackSize = 0x2400;
taskParams.instance->name = "SOC-send";
Task_create(socket_send_test, &taskParams, NULL);
NIMUDeviceTable[nimu_device_index++].init = &CpswEmacInit ;
NIMUDeviceTable[nimu_device_index].init = NULL ;
BIOS_start();
return -1;
}
When i run it i get : CortxA8: Unhandled ADP_Stopped exception 0x800FCC38
Its based on a MINU_BasicExample from the PDK
