Tool/software: TI-RTOS
I've read through several threads including:
https://e2e.ti.com/support/arm/sitara_arm/f/791/p/675848/2495684?tisearch=e2e-sitesearch&keymatch=rtos%20am57%20uart%20pinmux#2495684
and
I'm using a custom board and pinmux configuration that enables UART's 3 and 5, it uses 3 by default. I can't seem to make any of my changes in the board library or driver files take effect. I've recompiled the board library by using "make board_lib_clean" and then "make board_lib". I then cleaned and recompiled my app but nothing changes.
int main(void) { Task_Params taskParams; Task_Handle task; Error_Block eb; UART_Params params = { UART_MODE_CALLBACK, /* readMode */ UART_MODE_CALLBACK, /* writeMode */ SemaphoreP_WAIT_FOREVER,/* readTimeout */ SemaphoreP_WAIT_FOREVER,/* writeTimeout */ uartRxCb, /* readCallback */ uartTxCb, /* writeCallback */ UART_RETURN_FULL, /* readReturnMode */ UART_DATA_TEXT, /* readDataMode */ UART_DATA_TEXT, /* writeDataMode */ UART_ECHO_ON, /* readEcho */ 115200, /* baudRate */ UART_LEN_8, /* dataLength */ UART_STOP_ONE, /* stopBits */ UART_PAR_NONE /* parityType */ }; // initialize UART settings UART_init(); uart_handle = UART_open(UART_INSTANCE, ¶ms); // UART_INSTANCE=2 (UART3) // create UART messaging task Error_init(&eb); Task_Params_init(&taskParams); taskParams.instance->name = "uartTest"; task = Task_create(uart_test, &taskParams, &eb); if (task == NULL) { System_printf("Task_create() failed!\n"); BIOS_exit(0); } /* Start BIOS */ BIOS_start(); return (0); }
In my code snippet, the only thing that will reliably change is the settings when I change the UART_INSTANCE in the UART_open call. It uses a different configuration depending on which number I pass, but it does not reflect any changes I make when I edit the file I thought the configuration is coming from, UART_soc.c. Here are the files I've edited but no changes are being reflected when I recompile my program and debug:
C:\ti\pdk_am57xx_1_0_10\packages\ti\board\src\{board}\{board}_pinmux.c
C:\ti\pdk_am57xx_1_0_10\packages\ti\board\src\{board}\boardPadDelayInit.c
C:\ti\pdk_am57xx_1_0_10\packages\ti\board\src\{board}\include\board_cfg.h
C:\ti\pdk_am57xx_1_0_10\packages\ti\drv\uart\soc\am572x\UART_soc.c
I'm trying to just change my instance to UART5 which in the pinmux file isassigned to pins F11(rx) and G10(tx). If I change UART_INSTANCE to reflect UART5 with UART_open, it appears to open correctly but I do not get any kind of signal from the expected source. That's when I just tried to "break" it and see which files it was actually pulling the configuration from, but I've been unsuccessful to this point.
Any suggestions as to what I may be doing wrong in terms of rebuilding the board_lib or why I can't seem to see any changes would be greatly appreciated.