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.

MSP-EXP432P4111: might have found 2 bugs in BSL, version MSP432BSL_1_01_00_00

Part Number: MSP-EXP432P4111

Hi,

  I needed to creat a bespoke version of the ubuntu scripter that talked to the BSL on a bespoke board because of error messages that had no detail.

  I am working with a launchpad first because the lab setup makes it difficult to develop new software or bring the bespoke board back home.

  I assume the launchpad is using MSP432BSL_1_01_00_00, correct me if I am wrong.

  Problems:

     1. the version per the BSL source is 2 bytes, but the documentation and the handler for the version return 10 bytes.

        the reason that I believe this is a bug, is the variable that holds the version is declared as a 2 byte array:

        BSL432_Command_Interpreter.c: const uint8_t BSL432_VersionVendor[2] = {0x00, 0x00};  // TI production build uses 

case BSL432_TX_BSL_VERSION:
{
BSL432_CI_sendDataBlock((uint32_t)(&BSL432_VersionVendor), 10);
break;
}

   This might be a double-bug in that this is the version vendor and not the version id, which is also a 2 byte variable

        also, when 10 bytes are returned, they seem to be sending the contents of the next variables declared.

    2. my attempts to flash load on the launchpad return no error, but the launchpad does not boot to the program loaded,

        I print to console the byte blocks and this matches the .txt file loaded.

       I am guessing at this point  the flash might not have loaded, perhaps due to timing between commands.

       So I am attempting to code the read flash function to read back and compare, i.e. BSL432_TX_DATA_BLOCK

       On requesting a 256 byte block, the BSL attempts to send 256+1 bytes, the extra byte is not the crc, but seems to be an off-by-one error

       in the function: BSL432_CI_sendDataBlock statement:  BSL432_PI_sendData(bytes + 1);

thank you for your consideration.

bob s.