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: MSP432P4xx Security and Update Tool Failure

Part Number: MSP432P401R

Hi,

The MSP432P4xx Security and Update Tool released by TI is not working.

Works well on a simple example project:  simplelink_msp432p4_sdk_3_10_00_08\examples\nortos\MSP_EXP432P401R\driverlib\gpio_toggle_output

Does not work on another example project such as: simplelink_msp432p4_sdk_3_10_00_08\examples\rtos\MSP_EXP432P401R\drivers\pwmled2 as well as a number of custom projects.

We are using the JTAG/SWD LOCK -> Update Firmware functionality of the tool. The start address of firmware location loads but the length of firmware does not.

Within the tools folder: C:\ti\msp\MSP432P4xxSecurityAndUpdateTool_1.01.00.00\MSP432P4xxSecurityAndUpdateTool, the imageCopy.txt keeps growing in size and getting filled with 0xFFFFF...

I attached the two TI-TXT files mentioned above which work and don't work.

pwmled2_MSP_EXP432P401R_nortos_ccs.txt
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
@0000
00 00 01 20 41 27 00 00 77 29 00 00 DB 28 00 00
27 28 00 00 F7 26 00 00 27 28 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 27 28 00 00
27 28 00 00 00 00 00 00 27 28 00 00 27 28 00 00
27 28 00 00 27 28 00 00 27 28 00 00 27 28 00 00
27 28 00 00 27 28 00 00 27 28 00 00 27 28 00 00
27 28 00 00 27 28 00 00 27 28 00 00 27 28 00 00
27 28 00 00 27 28 00 00 27 28 00 00 27 28 00 00
27 28 00 00 27 28 00 00 27 28 00 00 27 28 00 00
27 28 00 00 27 28 00 00 27 28 00 00 27 28 00 00
27 28 00 00 27 28 00 00 27 28 00 00 27 28 00 00
27 28 00 00 27 28 00 00 27 28 00 00 27 28 00 00
27 28 00 00 27 28 00 00 27 28 00 00 27 28 00 00
27 28 00 00 27 28 00 00 27 28 00 00 27 28 00 00
27 28 00 00 27 28 00 00 27 28 00 00 27 28 00 00
27 28 00 00 27 28 00 00 27 28 00 00 27 28 00 00
27 28 00 00 27 28 00 00 27 28 00 00 27 28 00 00
27 28 00 00 27 28 00 00 27 28 00 00 27 28 00 00
27 28 00 00 27 28 00 00 27 28 00 00 27 28 00 00
27 28 00 00 27 28 00 00 27 28 00 00 27 28 00 00
27 28 00 00 2D E9 F0 4F 80 46 00 20 B8 F1 01 0F
AD F1 14 0D 01 90 06 D0 B8 F1 02 0F 18 BF B8 F1
04 0F 40 F0 5E 81 B4 48 C1 68 01 29 40 F0 56 81
02 24 B8 F1 01 0F C4 60 07 D0 10 20 B8 F1 04 0F
02 90 04 BF 01 20 01 90 02 E0 08 20 01 24 02 90
4F F0 00 70 D0 F8 34 08 00 6A 80 47 4F F0 00 71
B8 F1 01 0F 01 F6 34 01 00 91 21 D1 F0 B1 40 1E
19 D0 C0 1E 14 D0 40 1E 0F D0 C0 1E 0A D0 40 1E
05 D0 4F F0 FF 30 9C 4A 01 21 D1 60 2B E1 4F F0
19 0A 0D E0 4F F0 18 0A 0A E0 4F F0 15 0A 07 E0
4F F0 14 0A 04 E0 4F F0 11 0A 01 E0 4F F0 10 0A
01 99 20 46 02 F0 C4 F8 00 28 E4 D1 B8 F1 02 0F
18 BF B8 F1 04 0F 40 F0 A5 80 88 48 00 78 01 28
40 F0 A0 80 87 48 80 1F 86 88 44 89 83 89 C1 88
02 88 45 88 34 43 23 43 4F F6 FF 74 19 43 84 EA
01 03 1A 40 29 40 11 43 41 80 C1 88 03 91 19 43
C1 80 86 8C 43 8D 82 8D C1 8C 07 8C 45 8C 33 43
1A 43 11 43 84 EA 01 02 17 40 29 40 39 43 41 84
C1 8C 04 91 11 43 C1 84 B0 F8 44 70 B0 F8 4A 50
B0 F8 4C 30 B0 F8 46 10 B0 F8 40 20 B0 F8 42 60
3D 43 2B 43 19 43 84 EA 01 03 1A 40 31 40 11 43
A0 F8 42 10 B0 F8 46 B0 4B EA 03 01 A0 F8 46 10
B0 F8 64 60 B0 F8 6A 30 B0 F8 6C 20 B0 F8 66 10
B0 F8 60 70 B0 F8 62 50 33 43 1A 43 11 43 84 EA
01 02 17 40 29 40 39 43 A0 F8 62 10 B0 F8 66 90
49 EA 02 01 A0 F8 66 10 B0 F8 84 70 B0 F8 8A 30
B0 F8 8C 20 B0 F8 86 10 B0 F8 80 50 B0 F8 82 60
A4 46 3B 43 1A 43 11 43 8C EA 01 02 15 40 31 40
29 43 A0 F8 82 10 B0 F8 86 40 44 EA 02 01 A0 F8
86 10 B0 F8 24 61 B0 F8 2A 31 B0 F8 2C 21 B0 F8
26 11 B0 F8 20 71 B0 F8 22 51 33 43 1A 43 63 46
11 43 4B 40 1F 40 01 EA 05 02 3A 43 A0 F8 22 21
B0 F8 26 51 81 F0 FF 03 45 EA 03 01 01 F0 FF 01
A0 F8 26 11 02 F0 A0 F8 B8 F1 01 0F 07 46 21 D0
B8 F1 02 0F 18 D0 32 4E 70 88 00 F0 40 0A BA F1
40 0F 05 D0 4F F0 00 70 D0 F8 48 08 40 68 80 47
B6 F8 0C 64 06 F0 80 06 80 2E 05 D0 4F F0 00 70
D0 F8 64 08 00 68 80 47 00 98 00 68 80 69 01 46
20 20 04 E0 00 98 00 68 80 69 01 46 50 46 88 47
21 49 03 20 B8 F1 04 0F C8 60 10 D1 BA F1 40 0F
05 D0 4F F0 00 70 D0 F8 48 08 00 68 80 47 80 2E
05 D0 4F F0 00 70 D0 F8 64 08 40 68 80 47 B8 F1
02 0F 18 BF B8 F1 04 0F 10 D1 10 48 00 78 01 28
0C D1 10 48 03 99 01 80 04 9E 06 84 A0 F8 40 B0
A0 F8 60 90 A0 F8 80 40 A0 F8 20 51 0F B1 01 F0
9F F9 02 98 01 99 01 F0 B3 FF D4 E6 6F F0 04 00
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

gpio_toggle_output_MSP_EXP432P401R_nortos_ccs.txt
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
@0000
00 00 01 20 D9 01 00 00 ED 01 00 00 ED 01 00 00
ED 01 00 00 ED 01 00 00 ED 01 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 ED 01 00 00
ED 01 00 00 00 00 00 00 ED 01 00 00 ED 01 00 00
ED 01 00 00 ED 01 00 00 ED 01 00 00 ED 01 00 00
ED 01 00 00 ED 01 00 00 ED 01 00 00 ED 01 00 00
ED 01 00 00 ED 01 00 00 ED 01 00 00 ED 01 00 00
ED 01 00 00 ED 01 00 00 ED 01 00 00 ED 01 00 00
ED 01 00 00 ED 01 00 00 ED 01 00 00 ED 01 00 00
ED 01 00 00 ED 01 00 00 ED 01 00 00 ED 01 00 00
ED 01 00 00 ED 01 00 00 ED 01 00 00 ED 01 00 00
ED 01 00 00 ED 01 00 00 ED 01 00 00 ED 01 00 00
ED 01 00 00 ED 01 00 00 ED 01 00 00 ED 01 00 00
ED 01 00 00 ED 01 00 00 ED 01 00 00 ED 01 00 00
ED 01 00 00 15 49 08 68 40 F4 70 00 08 60 14 49
4F F4 B5 40 08 80 13 49 80 20 08 60 12 49 46 F6
5A 10 08 60 11 49 4F F4 80 30 08 60 10 48 10 49
00 68 20 F0 07 10 40 F0 03 00 08 60 0A 49 00 20
08 60 0C 48 0B 49 00 68 20 F0 30 00 08 60 0A 48
09 49 00 68 20 F0 30 00 08 60 70 47 88 ED 00 E0
0C 48 00 40 14 30 04 E0 00 04 01 40 04 04 01 40
08 04 01 40 10 10 01 40 14 10 01 40 08 B5 10 48
00 68 00 68 80 47 0F 48 00 68 00 68 01 21 02 46
01 20 90 47 00 20 00 90 0B 49 00 98 81 42 06 D9
00 98 40 1C 00 90 08 49 00 98 81 42 F8 D8 05 48
00 68 C0 68 01 21 02 46 01 20 90 47 EA E7 C0 46
64 08 00 02 24 08 00 02 A0 86 01 00 08 48 80 F3
08 88 08 49 08 68 40 F4 70 00 08 60 00 BF 00 BF
00 F0 10 F8 00 20 FF F7 C9 FF 01 20 00 F0 0C F8
00 00 01 20 88 ED 00 E0 08 B5 FF F7 83 FF FF F7
E5 BF 08 BD 01 20 70 47 00 BF FE E7 FE E7
q
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Thanks,

Robert

  • Hello Robert,

    I will ask our SME to look into this issue. Give us couple of days' time to get back.

    Thanks,

    Sai

  • Hi Robert,

    to use the update firmware image via JTAG/SWD lock mode some specs need to be meet:

    - the new image needs to be placed in Bank 1 of Flash (address of Bank 1 starts from size memory / 2; if you are using P401R, that means Bank 1 starts at 0x20000)

    - i expect that when you try, you got the pop up message like first screen shot:

    - i changed the address from your images from @0 to @20000 and the result shown at the second screen shot below:

  • Hi Fatmawati,

    If you download the file I originally attached pwmled2_MSP_EXP432P401R_nortos_ccs.txt and click Open File within the New Firmware Image box, I receive the same pop up as you have shown. However, after I click OK, the program freezes.

    I cannot modify the start address of firmware location since the program is frozen and the start address of firmware location box is greyed out.

    We are using the newest version of the tool found online: v.1.01.00.00

    We also tested it across multiple PCs here and in Germany. The gpio_toggle_output_MSP_EXP432P401R_nortos_ccs.txt works fine. You can generate these TI-TXT files yourself from the MSP432 SDK but the problem occurs across multiple project which indicates an issue with the tool.

    Robert

  • Hi Robert,

    I apologize for the late reply. I found the limitation in the tool that it did not read the image which are chucked.

    • in gpio example, the image contains one big block of data starting from address 0x0
    • while in pwm example, we have 2 chucks
      • starting from 0x0
      • and starting from 0x297c

    What I can offer as workaround, if you work with ccs, under linker command file in the project, we can add the "fill" to fill the gap between two chunks. However the "fill" with fill the memory completely, that means it is generate the image size equal to the main memory size. therefore we need to adjust main memory section relates to the size of actual application.

    in this example below that i tested, i am using MSP432P401M, which flash bank 1 starts from 0x1:0000. since the image generated is about ~0x2000 bytes, i put the size of main 0x3000. i also need to move the .intvect to the new location of 0x1:0000.

    let me know if this workaround helps you.

  • Hi Fatmawati,

    Thank you for the workaround for that example. 

    However, I attempted modifying a custom program's linker command files we are working on and unfortunately managed to brick my launchpad with a firmware update. That being said, when can you release an update to the tool which would make it sufficiently robust to handle firmware regardless of the # of chunks of code?

    I believe if this were to continue to be the officially released TI tool to aid in JTAG/SWD lock firmware upgrades, it should easily be able to handle a variety of firmware image inputs for more inept users such as myself. Unless there is a better alternative?

    Thanks,

    Robert

  • Hi Robert,

    could you please elaborate more about "unfortunately managed to brick my launchpad with a firmware update"?

    Did you get it running by other workaround?

  • Hi Fatmawati,

    I went ahead and tested the procedure you outlined above on a new MSP432P401R launchpad.  I generated the TI text file using the tool and loaded it into memory at 0x20000.  After reboot, the firmware update did not work (no blinking LED) and now I am now stuck with another bricked launchpad, i.e. I cannot program the device after a factory reset.

    How should I proceed? Can you test this yourself so I do not continue bricking launchpads?

    As a control experiment, I followed the same procedure with the original example I posted: simplelink_msp432p4_sdk_3_10_00_08\examples\nortos\MSP_EXP432P401R\driverlib\gpio_toggle_output and had no issues getting the unit to update and blink accordingly, generated 0xACE success in JTAG/SWD firmware update flag.

    Thanks,

    Robert

  • We had an internal discussion today, and opted not to use the JTAG/SWD lock method to update firmware on the MSP432 since we have successfully tested a custom bootloader firmware update. Generating the encrypted TI-TXT image proved much too complicated and cumbersome.

    Regardless, I would appreciate that this tool be upgraded and be sufficiently robust to work with separate chunks and on simple projects because someday someone might find a use for it.  That is in fact, the reason for the tool to exist. Least TI could do is release the source for encrypting the TI-TXT images so developers could generate these files themselves.

    Best,

    Robert

  • Hello Robert,

    Thanks for the feedback! We will add this upgrade request to our roadmap.

    Regards,

    Sai

**Attention** This is a public forum