This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP432P401R: Custom BSL change uart port and module

Part Number: MSP432P401R
Other Parts Discussed in Thread: MSPBSL

I have succesfully compile MSPBSL_CustomBSL432  1_01_00_00.

I want to change default uart port (to P9) and module (UCA3).

As I understand with this port I cannot have hardware based BSL invokation which is based on interrupt and possible only on ports from 1 to 3.

It should work by software invokation and when first four bytes of memory are 0xFF (cleaned memory).

What I should change in file : BSL432_Peripheral_Interface_eUSCI_UART_SPI_I2C_IRQ.c  or in other files in project ?

I tryed to change:

uint32_t BSL432_UART_MODULE = EUSCI_A3_BASE;

and

uint8_t BSL432_UART_PORT = GPIO_PORT_P9;
uint16_t BSL432_UART_RXD_PIN = GPIO_PIN6;
uint16_t BSL432_UART_TXD_PIN = GPIO_PIN7;
uint8_t BSL432_UART_RXD_MODE = GPIO_PRIMARY_MODULE_FUNCTION;
uint8_t BSL432_UART_TXD_MODE = GPIO_PRIMARY_MODULE_FUNCTION;

and I also made some changes in function void BSL432_PI_detectInterface() - P2 replaced by P9

but this changes doesn't work.

It looks like program ignores this values and parse data default values from TLV memory and "TLV data is device specific and cannot be changed".

Is there any instruction how to customise this BSL ?

Regards

Pawel

  • I would recommend looking at BSL432_device_file.h .  Here you will find where the device TLV is used to define the instance, module, and whether the pins are muxed or dedicated.  

    #define BSL432_BSL_PER_IF_SEL_UART_INST     (uint8_t)(((BSL432_TLV_BSL_Configuration->BSLPeripheralInterfaceSelection) >> 0) & 0b1111)
    #define BSL432_BSL_PER_IF_SEL_UART_MOD      (uint8_t)(((BSL432_TLV_BSL_Configuration->BSLPeripheralInterfaceSelection) >> 4) & 0b11)
    #define BSL432_BSL_PER_IF_SEL_UART_MUX      (uint8_t)(((BSL432_TLV_BSL_Configuration->BSLPeripheralInterfaceSelection) >> 7) & 0b1)
    

    You can replace these with your custom settings, or alternatively you can simply remove the configuration mechanism and hard code your desired configuration.

    Regards,

    Chris

  • Have you had any success moving to the desired eUSCI instance?

    Thank you,
    Chris

**Attention** This is a public forum