LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

MSP-GANG Verify Firmware using dll

I am trying to get the MSP-GANG programmer to verify the firmware already programmed into a PCBA.  for example, if I want to verify that Rev B of the firmware is programmed into the PCBA, I can do this through the MSP-Gang GUI, you select the desired firmware image, set the MCU, etc and then press verify.  If the firmware on the PCBA is Rev B, you get a pass.  If it is Rev A, then it fails.

 

Using the dll, I cannot figure out how to accomplish the same thing.  I have tried googling and looking through the User Guide, but TI descriptions of the functions are very generic.

 

Has anyone got this to work with the dll?

 

Kenny

0 Kudos
Message 1 of 5
(2,963 Views)

Hi Kenny,

 

I was able to find another forum post that may be helpful to you.

 

Texas Instruments MSP-Gang430 Gang Programmer

https://forums.ni.com/t5/LabVIEW/Texas-Instruments-MSP-Gang430-Gang-Programmer/m-p/530694

 

Regards,

sarahmo

0 Kudos
Message 2 of 5
(2,919 Views)

I worked with MSP430 gangprogrammer several Years ago.

I made the attached back then. Maybe You can play around with it and solve Your Problem.

 

BR 

Don't forget to rate a good Answer....
---------------------------------------------------------
Here should be some cool signature

But there's NOT

LabVIEW 2012-2017
---------------------------------------------------------
0 Kudos
Message 3 of 5
(2,909 Views)

I am good with programming a unit, it is with reading the contents and verifying it is correct.

 

The MSPGang_Get_Code_Info seems to calculate the checksum of the file that I load into the programmer, and not the contents of the device programmed.  I can use the MSPGANG_Read_Code_File and then the MSPGang_Get_Code_Info, and it provides the checksum of the code, and the checksum matches the checksum shown in the MSP-Gang GUI.   However, when I did this, I did not have any device connected to the programmer, so it could not have read out the device.

FYI - I am using a MSP430F2001.

So what I then tried was to use the MSPGANG_Interactive_Open_Target_Device, read the target using the MSPGANG_Interactive_DefReadTargets (Mask: 0x01,Start_addr: 0xFC00,End_addr: 0xFFFF), and then the MSPGang_Get_Code_Info.  But this always returns a checksum of 0.    I am not sure how to point the MSPGang_Get_Code_Info to the code read from the device, vs the Code loaded from the Read_Code_File.

Is the internal data buffer different than the internal buffer? (see bold text in the description of the two API functions below)

MSPGANG_Interactive_DefReadTargets

MSPGANG_Interactive_DefReadTargets reads the contents of the selected target devices (one to eight targets) simultaneously from Start_addr to the End_addr and saves it in the internal data buffer

 

 

MSPGANG_Read_Code_File

MSPGANG_Read_Code_File reads or appends a code file or reads a password file and saves it in its internal buffer.

Kenny

0 Kudos
Message 4 of 5
(2,902 Views)

Kenny.

 

Frankly, since its been 5 Years+, since I worked with this, i really haven't any clue of how to solve Your problem.

That being said, did You try to look at the .vi I attached? 

You can set it up to just verify the content of the MCU againts Your firmware File.

 

BR Bjarne

Don't forget to rate a good Answer....
---------------------------------------------------------
Here should be some cool signature

But there's NOT

LabVIEW 2012-2017
---------------------------------------------------------
0 Kudos
Message 5 of 5
(2,897 Views)