New user MCU Boot Loader questions

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

New user MCU Boot Loader questions

1,699 Views
WilliamW
Contributor III

Is the boot loader example for the FRDM64 board (frdm64f_freedom_bootloader) the same as the MCU Boot Loader?  Should it work with blhost.exe?  If not, is there another project or example I can download that will provide the MCU Boot Loader.  I'm currently running this on a prototype board using a MK64FX512VLQ12.  The prototype board uses an FTDI chip which provides a virtual COM port through UART5.  When I attempt the command from a Windows command line "blhost.exe -p COM10 -- get-property 1" which should get the boot loader version, I get the response "Error: Initial ping failure: No response received for ping command.".  I have verified that COM10 is my virtual COM port.  Should this example project work as-is since the processors are so similar or are there modifications that I need to make to the example project before I will be able to get it to work?

0 Kudos
3 Replies

1,678 Views
danielchen
NXP TechSupport
NXP TechSupport

Hi william:

 

 The default UART interface is UART1 for k64 tower board and Uart0 for other boards.

Please refer to peripherals_pinmux.h

 


//! peripheral enable configurations
#if defined(TOWER)
#define BL_ENABLE_PINMUX_UART1 (BL_CONFIG_SCUART)
#else
#define BL_ENABLE_PINMUX_UART0 (BL_CONFIG_SCUART)
#endif

 

If you use UART5, please enable it.

 

Regards

Daniel

0 Kudos

1,667 Views
WilliamW
Contributor III

Thanks for your response Daniel.

To be sure I understand, is the boot loader example frdm64f_freedom_bootloader the same as the MCU Boot Loader 2.5 ? 

The code doesn't appear to support UART5 (the code only has references up to UART4).  Before I start making changes for it to support UART5, is there some reason why UART5 was excluded, perhaps some feature it doesn't support?

 

0 Kudos

1,622 Views
WilliamW
Contributor III

I'm trying to implement MCU Boot loader based on the example for the FRDM64.  I see that many of the functions are not implemented except for use with UART0.  I am attempting to use UART4.  One function that I'm attempting to replicate for UART for is the following.  I don't understand what the line that begins with SIM->SOPT5 is for and as there is nothing similar for UART4 I have no way to replicate it.  Can someone tell me what this line is for and whether it's necessary to get the MCU Boot Loaders working on UART4.  So far when using the BLHost command I am attempting to get property 1 and get a response that there was "No response received for ping command".  Any help would be appreciated

void UART0_InitPins(void)
{

/* PORTB16 (pin 62) is configured as UART0_RX */
PORT_SetPinMux(UART0_RX_PORT, UART0_RX_PIN, kPORT_MuxAlt3);

/* PORTB17 (pin 63) is configured as UART0_TX */
PORT_SetPinMux(UART0_TX_PORT, UART0_TX_PIN, kPORT_MuxAlt3);

SIM->SOPT5 = ((SIM->SOPT5 &
/* Mask bits to zero which are setting */
(~(SIM_SOPT5_UART0TXSRC_MASK)))

/* UART 0 transmit data source select: UART0_TX pin. */
| SIM_SOPT5_UART0TXSRC(SOPT5_UART0TXSRC_UART_TX));
}

0 Kudos