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.

MSP430F2111 Error58

Other Parts Discussed in Thread: MSP-GANG

If a GangLoadParameters function is used using GANG430.dll of a version 1.01.07, the following phenomenon will occur.

1. An unnecessary F_ERASE_PINFO and F_ERASE_CHECK_PINFO flag is set up when the following setup is performed to lFlags of an argument.

(F_ELASE_INFO | F_ERASE_MAIN | F_PROGRAM_MASS | F_ERASE_CHECK_INFO | F_ERASE_CHECK_MAIN | F_VERIFY)

I checked on the screen of MSP-GANG Programmer after function execution.

 

2. As a result, if a GangMainProcess function is fail, and GangGetResult function is return "Error 58 Verify Error".

 

3. This does not occur, after execute the GangLoadParameters function which set up the lFlags (F_ERASE_MASS | F_PROGRAM_MASS | F_ERASE_CHECK_MASS | F_VERIFY) also at once.

 

In addition, this occurred, even if it used the same setup by the sample program "CPP_Wrapper_demo".

There is no telling how carry out and this error comes out.
Aren't there those who understand a cause?

 

  • Hi Masaru,

    To make sure I'm understanding the issue correctly: you are saying that when you use the GangLoadParameters function in the Wrapper DLL, and have F_ERASE_INFO and F_ERASE_CHECK_INFO set, that the program appears to also set F_ERASE_PINFO and F_ERASE_CHECK_PINFO. Is my understanding of the behavior correct?

    Do you have a piece of code that you can provide so that we can reproduce the issue here, and any setup information or steps that we will need to use to reproduce the issue? Should I be able to reproduce with the CPP_Wrapper_demo or C_Wrapper_demo programs?

    Masaru Matsutani said:
    using GANG430.dll of a version 1.01.07

    Which MSP-GANG version did you use - I see what you posted but the version number has 4 numbers, so I'm unsure if you meant 1.0.1.7 or 1.1.0.7, or which version.

    The latest MSP-GANG version released is 1.1.8.0 - can you see if the issue still occurs in the latest version?

    Thanks for any additional information you can provide - it will be helpful for investigating root cause.

    Regards,

    Katie

  • Hi Katie,


    I am very glad to get a reply.

    Katie Pier said:
    To make sure I'm understanding the issue correctly: you are saying that when you use the GangLoadParameters function in the Wrapper DLL, and have F_ERASE_INFO and F_ERASE_CHECK_INFO set, that the program appears to also set F_ERASE_PINFO and F_ERASE_CHECK_PINFO. Is my understanding of the behavior correct?

    I arrange the present problem once again.

    1.
    I rewrote the sample program, "CPP_Wrapper_demo" as follows.

    The "User definitions" which begins from the line 64 of DLLtestDlg.cpp was rewritten.

    /////////////////////////////////////////////////////////////////////////////
    // User definitions

    #define ComPort  "COM15"                     // pluged MSP-GANG Programmer COM Port
    //#define ComPort  "COM3"
    #define BaudRate 115200
    #define FileName "tagWriteFile.txt"          // using program file
    //#define FileName "test_1k.txt"             // a result is the same although it reads this
    #define DeviceType "MSP430 F2111"            // using CPU name
    //#define DeviceType "MSP430 F2121"
    #define Action  (F_ERASE_INFO | F_ERASE_MAIN | F_PROGRAM_MASS | F_ERASE_CHECK_INFO | F_ERASE_CHECK_MAIN | F_VERIFY)      // A protection location (INFO-A) is not changed.
    //#define Action  (F_ERASE_MASS | F_PROGRAM_MASS| F_ERASE_CHECK_MASS | F_VERIFY)
    #define Vcc   30  
    #define SettleTime 200
    #define Blink  7

    2.
    If this is built and performed, after processing of the [Load] button will be successful, it will become an error if processing of the [Start] button is performed.
    It is displayed on a Status line as follows.

    ERROR 58: Verification Error


    At this time, it is displayed on LCD of MSP-GANG as follows.

    19 Gl.Verify-100
    Failed! Err 58 (this line changes and comes out and is displayed also as "Verify error.")

    3.
    The version display of dll was mistaken. I'm sorry.
    dll of msp-gang_1_01_07_00.zip was used.

    msp-gang_1_01_08_00.zip was downloaded.
    After changing to this, and rewriting the sample of the enclosed same name similarly, it performed, but the same error is displayed.

    4.
    If either performs MSP-GANG Programmer of GUI after an error display, the following will be displayed on image information.

    Info-A Erase: enable
    Hi current: enable
    Secure Device: enable

    5.
    This error does not occur in CPU which erased Info-A area also at once.


    Would you understand now?
    Thank you for your consideration.

  • Hi Masaru,

    I will continue to look into this to see if I can reproduce your issue.

    However, for your present situation I was wondering if there was a reason for using the Wrapper MSP-GANG430 DLL example, rather than using the MSP-GANG dll (not wrapper)? I am asking because it is preferred to use the MSP-GANG dll because this lets you access all features of the MSP-GANG programmer directly. Using the MSP-GANG DLL will be easier and more flexible - The wrapper is only intended for use for those migrating existing software from the old MSP-GANG430 to be used with the new MSP-GANG.

    You can find MSP-GANG dll examples in the C_Applications_MSP_DLL, CPP_Applications_MSP_DLL and CPP_Interactive_MSP_DLL folders in the MSP-GANG download http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSP_GANG/latest/index_FDS.html under Program Files\Texas Instruments\MSP-GANG\Examples.

    Regards,

    Katie

  • Hi Masaru,

    An update:

    I've been unable to reproduce your issue with the same settings for the #define Action. One thing that is different is the txt binary file that we are using for our test - I simply used the binary from a blinking LED example.

    If you do not want to or cannot share your binary file (which I totally understand on a public forum), can you please provide information about which addresses are used in your binary file? Does the file tagWriteFile.txt that you are using write to only main memory, or main and info memory? If it writes to info memory, which segments - does it write to segment A at all? I think this would help me be able to reproduce your issue.

    Regards,

    Katie

  • Hi Katie,

    I'm sorry that a reply is overdue.

    Katie Pier said:

    If you do not want to or cannot share your binary file (which I totally understand on a public forum), can you please provide information about which addresses are used in your binary file? Does the file tagWriteFile.txt that you are using write to only mian memory, or main and info memory? If it writes to info memory, which segments - does it write to segment A at all? I think this would help me be able to reproduce your issue.

    Old GANG430.dll is used because the company which created tagWriteFile.txt pointed so that this might be used for our company.

    If this is changed, the re-test of all the programs is needed.

    Moreover, since tagWriteFile.txt is equivalent to the secret matter of our company, it cannot be offered.

    In addition, although tagWriteFile.txt cannot be offered, writing is performing @1000, and @F800 and @FFE0 as a head address.

    There is also writing to an info memory area by that.

    added: (write info memory address is 0x1000 to 0x107C. This is enough in the range from info-D to info-C.)

    The thing which I would like to know is why Error58 occurs in CPU which has not performed erase operation of an info-A memory area once.

    It becomes the error same as the txt file attached to a sample program, "CPP_Wrapper_demo".

    Is there any solution in question?

    Thank you for your consideration.

    P.S.

    If very well, I will send the executable file built by VS2005.
    I think that it understands whether a problem occurs or not if I have you test now.

  • Hi Katie,

    Since a new driver and 1.01.09 came out, it examined.

    The result was the same.
    However, the result of a GangGetResult function is as follows.

    D1:01
    D2:01
    D3:00
    D4:00
    D5:00
    D6:3A
    D9:01
    D10:40
    D11:01
    D12:61
    D13-:GANG430-161.TXT

    In something, there is a problem in CPU and firmware. Possibly, is it such?

  • Hi Masaru,

    Thanks so much for your patience. I have found some behavior that looks strange once I modified my TI-txt file to program the same addresses as yours in INFO A (0x1000-107C).

    As a test, could you please do this to see if we are seeing the same behavior. We are going to walk you through having the MSP-GANG GUI to read back what your DLL programmed in to see if anything looks incorrect.

    1. Run your programming using the DLL just as you have been already.
    2. Now open the MSP-GANG GUI that comes in the GANG software download.
    1. Under Setup > Memory Options make it match this picture for all settings, then click OK
    2. Now on the main GUI screen click "Verify" and record what happens (does it give verification error 58)?
    3. Finally, on main screen click "Read". A window will pop up showing Flash Memory Data. Check to see if anything does not match your file, particularly in INFO A? (note - from the same window you can have it put the read out data into notepad as a .txt or .hex file - that would let you use file comparison software to compare what was read out vs what was written in)

    EDIT: I also meant to ask - I know you cannot share your code file because it is proprietary code. Could you make a test code file that doesn't contain any proprietary code (simple blink LED, with some dummy data in INFO A, etc) that uses same/similar addresses as your code, and reproduces your issue? This way you could provide us that file and we could all be working on the same thing to make sure we are in sync.

    Regards,

    Katie

  • Hi Katie,

    I am sorry that an answer becomes late.

    Katie Pier said:

    Thanks so much for your patience. I have found some behavior that looks strange once I modified my TI-txt file to program the same addresses as yours in INFO A (0x1000-107C).

    As a test, could you please do this to see if we are seeing the same behavior. We are going to walk you through having the MSP-GANG GUI to read back what your DLL programmed in to see if anything looks incorrect.

    1. Run your programming using the DLL just as you have been already.
    2. Now open the MSP-GANG GUI that comes in the GANG software download.
    1. Under Setup > Memory Options make it match this picture for all settings, then click OK
    2. Now on the main GUI screen click "Verify" and record what happens (does it give verification error 58)?
    3. Finally, on main screen click "Read". A window will pop up showing Flash Memory Data. Check to see if anything does not match your file, particularly in INFO A? (note - from the same window you can have it put the read out data into notepad as a .txt or .hex file - that would let you use file comparison software to compare what was read out vs what was written in)

    I performed.

    Not Error58 but Error385 is displayed.

    I think that writing is performed since the name of firmware is displayed.

    The solution built by VS2005 is attached.
    It is still a sample except setting change.

    6012.test.zip

    Thank you for your consideration.

  • Hi Masaru,

    You are getting error 385 in the GUI because you have not selected a code file for the GUI to compare the read-back data against. I realize now that I left out a step in my instructions for you to be able to use the Verify feature in the GUI.

    Please select Open Code File and select the same code file TI-txt file that the DLL is also programming from, containing the binary image for the MSP. Then click the Verify step (all other parts of the test I described above the same).

    If you do this step before clicking Verify, do you get the same error 58 as I did? If you click "Read" and read back the data that was programmed in using the DLL, and compare the INFO segment what do you see different from your original code file?

    Regards,

    Katie

  • Hi Katie,

    Long, an answer, I'm sorry to be late.

    After I tried every means possible including the matter you answered, it was settled by a way using new API proposed before.
    But the society used finally was VB6, so know-how was accumulated variously.

    It was saved really by this matter.
    Thank you for your consideration.

**Attention** This is a public forum