Hi,
Customer tried to start HWA in TI's demo, but found a problem, the initialization steps are as follows:
1. Compared with the files in main.c in C:\ti\mmwave_sdk_03_03_00_03\mmwave_sdk_03_03_00_03\packages\ti\drivers\hwa\test\common, first add all header files
* Standard Include Files. */ #include <stdint.h> #include <stdlib.h> #include <stddef.h> #include <string.h> #include <stdio.h> /* BIOS/XDC Include Files. */ #include <xdc/std.h> #include <xdc/cfg/global.h> #include <xdc/runtime/IHeap.h> #include <xdc/runtime/System.h> #include <xdc/runtime/Error.h> #include <xdc/runtime/Memory.h> #include <ti/sysbios/BIOS.h> #include <ti/sysbios/knl/Task.h> #include <ti/sysbios/knl/Event.h> #include <ti/sysbios/knl/Semaphore.h> #include <ti/sysbios/knl/Clock.h> #include <ti/sysbios/heaps/HeapBuf.h> #include <ti/sysbios/heaps/HeapMem.h> #include <ti/sysbios/knl/Event.h> /* mmWave SK Include Files: */ #include <ti/common/sys_common.h> #include <ti/drivers/osal/SemaphoreP.h> #include <ti/drivers/esm/esm.h> #include <ti/drivers/hwa/hwa.h> #include <ti/drivers/soc/soc.h> #include <ti/utils/testlogger/logger.h>
2. Initialize a task in main.c on the dss side
/* Initialize the SOC Module: This is done as soon as the application is started * to ensure that the MPU is correctly configured. */ gSOCHandle = SOC_init (&socCfg, &errCode); if (gSOCHandle == NULL) { System_printf ("Error: SOC Module Initialization failed [Error code %d]\n", errCode); return -1; } /* Initialize test logger */ // MCPI_Initialize(); /* Initialize the Task Parameters. */ Task_Params_init(&taskParams); taskParams.stackSize = 4*1024; Task_create(Test_initTask, &taskParams, NULL);
3.Task initialization is as follows
static void Test_initTask(UArg arg0, UArg arg1) { HWA_Handle handle; int32_t errCode, compareCode1, compareCode2; uint8_t paramsetIdx = 0, pingParamSetIdx = 0;// pongParamSetIdx = 0; uint8_t *srcAddr = (uint8_t*)SOC_HWA_MEM0; uint8_t *dstAddr = (uint8_t*)SOC_HWA_MEM2; #ifdef TEST_PARAMSET_INTERRUPT HWA_InterruptConfig paramISRConfig; SemaphoreP_Handle paramSetSem; #endif SemaphoreP_Handle doneSem; SemaphoreP_Params semParams; SemaphoreP_Status status; /************************************************************************** * Initialize the HWA **************************************************************************/ HWA_init(); // MCPI_setFeatureTestResult("API HWA_init()", MCPI_TestResult_PASS); /* Debug Message: */ System_printf ("Debug: HWA has been initialized\n"); }
Debug:
Please help check.