Other Parts Discussed in Thread: HALCOGEN
Tool/software: Code Composer Studio
Hi all,
We are trying to do practice on some network functions in lwIP with FreeRTOS by using HDK of TMS570LC4357. For this purpose, we initially use a base project (linked by below) supported by Texas Instruments Teams.
Project Link Post : https://e2e.ti.com/support/microcontrollers/hercules/f/312/t/799670 --> ( 7178.TMS570LC4357_FreeRTOS_LWIP.7z )
Enhanced Sight to Link : /cfs-file/__key/communityserver-discussions-components-files/312/4478.TMS570LC4357_5F00_FreeRTOS_5F00_LWIP.7z
Although, FreeRTOS and lwIP debugging and building successfully on our HDK, we are not able to pinging our device. These lines firing our ping proccess:
Here are HL_sys_main.c :
#include "HL_sys_common.h" #include "FreeRTOS.h" #include "os_task.h" #include "HL_het.h" #include "HL_gio.h" #include "HL_esm.h" #ifdef DEBUG void __error__(char *pcFilename, uint32_t ui32Line) { } #endif void vTask1(void *pvParameters); extern void vApplicationStackOverflowHook(xTaskHandle *pxTask, signed char *pcTaskName ); extern void EMAC_LwIP_Main (uint8_t * emacAddress); xTaskHandle xTask1Handle; uint8 emacAddress[6U] = {0x00U, 0x08U, 0xEEU, 0x03U, 0xA6U, 0x6CU}; uint32 emacPhyAddress = 1U; int main(void) { esmREG->SR1[2] = 0xFFFFFFFFU; esmREG->SSR2 = 0xFFFFFFFF; esmREG->EKR = 0x0000000A; esmREG->EKR = 0x00000000; gioInit(); gioSetDirection(gioPORTB, 0xFFFF); gioSetDirection(hetPORT1, 0xFFFFFFFF); //HDK uses NHET for LEDs if (xTaskCreate(vTask1,"Task1", configMINIMAL_STACK_SIZE, NULL, ((configMAX_PRIORITIES-1)|portPRIVILEGE_BIT), &xTask1Handle) != pdTRUE) { while(1); } vTaskStartScheduler(); while(1); return 0; } void vTask1(void *pvParameters) { EMAC_LwIP_Main (emacAddress); #if 1 for(;;){ /* Taggle GIOB[6] with timer tick */ gioSetBit(gioPORTB, 6, gioGetBit(gioPORTB, 6) ^ 1); /* Taggle HET[1] with timer tick */ gioSetBit(hetPORT1, 17, gioGetBit(hetPORT1, 17) ^ 1); //LED on HDK, top left vTaskDelay(300); } #endif }
Here are reference official document that we are use about the issue:
https://www.ti.com/lit/an/spna239/spna239.pdf
Result :
I tried everything step by step such like using IPADDR_USE_STATIC, IPADDR_USE_DHCP and IPADDR_USE_AUTOIP in lwiplib.h. But it can not success lwIP_init and it is not pinging my device. Do you know why is this happening ?
Thank you for interests.