Part Number: TM4C1294KCPDT Other Parts Discussed in Thread: TM4C1294NCPDT Tool/software: Dear Team, We are using TM4C1294KCPDT based customized board for one our application which uses TCP/IP communication and RS-232 Communication. For this application both LAN and RS-232 communication works well and the communication is consistent. The RS 232 driver is connected to UART0 pins in MCU. We would like to use Rs-232 Port (through UART0) to load the firmware by avoiding JTAG. I have used the bootloader example which I already implemented in other custom board using TM4C1294NCPDT couple of years back where I used LM flash programmer to load the software through Serial. It worked well there and I am trying to replicate the same in this project, I am getting error message in LM flash programmer saying baud rate could not sync to target. I am attaching the below bootloader code which will execute when some Switch is pressed for some time used to enter boot mode. The same code worked in TM4C1294NCPDT in previous project so that I could load the firmware through LM flash programmer and could not able to get it done in TM4C1294KCPDT. The schematics are same regarding MCU UART Pins. Only difference is currently I am using RS-232 Port connected to UART0 to load the firmware but in previous I used FT232 USB to UART chip to UART0 MCU Pins. I verified the baud rate too in code and LM flash programmer. Is that anything I am missing? void UpdateFW(void) -----> It will be executed when boot switch is pressed for 5 Seconds { SysCtlDelay(200000); // Disable all Interrupts ROM_IntMasterDisable(); ROM_SysTickIntDisable(); ROM_SysTickDisable(); HWREG(NVIC_DIS0) = 0xffffffff; HWREG(NVIC_DIS1) = 0xffffffff; HWREG(NVIC_DIS2) = 0xffffffff; HWREG(NVIC_DIS3) = 0xffffffff; HWREG(NVIC_DIS4) = 0xffffffff; // Configure UART0 for PA0 and PA1 for Serial Bootloader ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA); ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0); GPIOPinConfigure(GPIO_PA0_U0RX); GPIOPinConfigure(GPIO_PA1_U0TX); ROM_GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1); ROM_UARTConfigSetExpClk(UART0_BASE, g_ui32SysClock, 115200 ,(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE)); ROM_IntEnable(INT_UART0); //ROM_UARTIntEnable(UART0_BASE, UART_INT_RX | UART_INT_RT); ROM_SysCtlDelay(g_ui32SysClock / 3); ROM_IntMasterEnable(); ROM_UpdateUART(); } Regards, Arjun Devadass Director - Technology ELDAPS Technology Solutions Pvt Ltd
↧