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.

MSP430F44x IAR warning

Other Parts Discussed in Thread: MSP430F4491, MSP430F449

Normal 0 false false false EN-US X-NONE X-NONE MicrosoftInternetExplorer4

I'm working on the MSP430F44x. But I've run in to an inconsistency with our IAR workbench.

 

We wanted to develop on the MSP430F4491, but started with the MSP430F449 because the MSP430F4491 wasn't available yet.

We've now got the MSP430F4491. But by coincidence I found, that the workbench doesn't give any warning if I download to a wrong device, as if it doesn't matter what device I use. I can download to any of the MSP430F44x devices (with the device in use being the MSP430F4491) without any warning.

 

After an comprehensive mail correspondence with IAR, they now points to the FET driver/dll from TI:

http://processors.wiki.ti.com/index.php/MSP430_JTAG_Interface_USB_Driver#High-Level_Debugger_Drivers_MSP430.dll_.26_HIL.dll

 

I'm using the LTP FET, for which IAR says only the dll is important. Updating the dll hasn't changed the situation.

 

Do you now of any solution, or shall I just ignore the missing warnings?

If so, the warning is worthless, as it doesn't provide any safety.

  • There is no reason to warn if the memory layout is identical. The downloader does not know whether specific hardwar emodules are used o r not. It jus thas to ensure it is not flashing data to a device that has no flash at this location. Often, code can be used on several memmber of the same family. Of course whether all the used modules are there is uncertain, but if I e.g. write a program for the 5418 device with 128k flash and 2 UARTs, I can flash the very same binary to the 5438 with 256k Flash and 4 UARTs without any problem. (the opposite won't go if my code exceeds 128kb or uses the additional UARTs, of course).

    So the important thing is that you get a message if you flash to a processow which is physically incompatible to the binary itself. Smaller flash size or different location.
    It is important for the experiemnter boards with two MSPs, so if you forget to disconnext teh 2x and connect the 4x processor, you're flashing the 4x code to the 2x, which may lock it up.

    Between 449 and 4491 there are no vital differences.

    Also, being not too pickery wher eit isn't necessary, allows users to buy a new member of the same family without the need of updating all their low-level tools.

    Even more, if using an external programmer software, such as the Elprotronic or the msp430-jtag, the binary (IHEX or ELF) does not contain any information for which processor it was compiled. Sure you'll have to select a processor (family) so the programmer knows where to put its download code into the processor ram, which flash controller has to be handled etc, but there also, the family is the important thing, not the individual device. And the user can still select the wrong binary for the right device :)

    anyway, the driver isn't the problem. IAR has a project setting, and IAR can get the device ID from the device through the driver. So it's the job of IAR to decide whether all is okay or not. The driver just establishes the connection and downloads binary data. Where this data comes from and where it originally belonged to is of no interest for the driver.

**Attention** This is a public forum