Other Parts Discussed in Thread: SYSBIOS
Tool/software: TI-RTOS
Hello All,
We are working on TDA2Px based custom board sysbios all configuration and PSDK3.03.
In the board UART4 is used for interfacing with one of the sensor. To initialize UART4 instance following changes are done in the PSDK code base
1. Added UART4 instance in bsp_boardTda2pxDefault.h as follows
{ \
BSP_DRV_ID_UART, /* devDrvId */ \
BSP_DEVICE_UART_INST_ID_3, /* instId */ \
NULL, /* i2cInstId */ \
NULL, /* i2cAddr */ \
NULL, /* drvId */ \
NULL, /* drvInstId */ \
&Bsp_boardSelectDeviceTda2xx, /* selectDev */ \
NULL, /* resetDev */ \
NULL, /* powerOnDev */ \
},
2. Updated pin muxing based on the board schematic
3.In code for initializing UART4 following sequence is added (based on example ti_components/drivers/pdk_01_09_00_17/packages/ti/drv/bsp_lld/uart/examples/uart_echo)
GIO_addDevice(uartDeviceName1, (Ptr)&Uart_IOMFXNS, NULL,
uartDevId, (xdc_Ptr) & uartParams); where uartDeviceName1 is uart4
Bsp_boardSetPinMux( BSP_DRV_ID_UART,BSP_DEVICE_UART_INST_ID_3,BSP_BOARD_MODE_DEFAULT);
Bsp_boardSelectDevice(BSP_DRV_ID_UART, uartDevId);
Uart4RxHandle = GIO_create(uartDeviceName1, (UInt32)GIO_INPUT,&ioParams, &eb);
while it is executing the GIO_addDevice and pin mux call without any error, but executing GIO_create results in a crash on ipu1_0.
On debugging further, I have found that it is crashing at the point when it tries to execute UARTEnhanFuncEnable() for SOC_UART4_BASE (0x4806E000) giving hard fault error.
As per my understanding this type of error comes when IPU tries to access non mapped memory region.
Please let me know if i am missing anything here.
regards
Hrishikesh