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.

CCSv5 driver issue -cannot flash - MSP430Flasher works - CCSv5 does not

Other Parts Discussed in Thread: MSP430G2452, MSP430G2553, TUSB3410

PROBLEM:
Cannot program MCU with CCSv5.5.0.00077
Cannot program MCU with Elprotronic Inc, FET-Pro430 flash programmer, V3.1.
Able to program MCU with TI MSP430Flash programmer v1.2.3.
MCU is MSP430G2452
Same target hardware, MSP-EXP430G2, Rev 1.4 Launch Pad board
Ever tried several different identical LaunchPads with the same results.
It appears it is a PC software issue and not a hardware issue. (just my guess)
Same PC computer, Windows 7 Home Premium, 64x, SP1
Also cannot program target hardware using a TI MSP430-FET430UIF debugger.
Get the same error message below, using either the USB on the LaunchPad or the MSP430-FET430UIF Debugger.
    MSP430: Trouble Writing Memory Block at 0xffe4 on Page 0 of Length 0x2: Could not write device memory
    MSP430: GEL: File: C:\ti\TI_WORKSPACE\nutest_g2452\Debug\nutest_g2452.out: Load failed.


MSP430FLASHER:
MSP430Flasher batch file:
CLS
MSP430Flasher.exe -n MSP430G2452 -w "nutest_g2452.hex" -v -g -z [VCC]
pause


Screen shot of the MSP430Flasher with the MSP-EXP430G2, Rev 1.4 Launch Pad board...

C:\ti\MSP430Flasher_1.2.3>MSP430Flasher.exe -n MSP430G2452 -w "nutest_g2452.hex"
 -v -g -z [VCC]
* -----/|-------------------------------------------------------------------- *
*     / |__                                                                   *
*    /_   /   MSP430 Flasher v1.2.3                                           *
*      | /                                                                    *
* -----|/-------------------------------------------------------------------- *
* Evaluating triggers...done
* Checking for available FET debuggers:
* Found USB FET @ HID0026:COM5.
* Initializing interface on TIUSB port...done
* Checking firmware compatibility:
* FET firmware is up to date.
* Reading FW version...done
* Reading HW version...done
* Powering up...done
* Accessing device...done
* Reading device information...done
* Loading file into device...done
* Verifying transfer...done
*
/* ---------------------------------------------------------------------------
* UseCase     : MSP430Flasher.exe
* Arguments   : -n MSP430G2452 -w nutest_g2452.hex -v -g -z [VCC]
* Warning: Default options used due to incomplete argument list.
* ----------------------------------------------------------------------------
* Driver      : loaded
* Dll Version : 20409001
* FwVersion   : 30001000
* Interface   : TIUSB
* HwVersion   : E 2.0
* Mode        : AUTO
* Device      : MSP430G2xx2
* EEM         : Level 1, ClockCntrl 1
* Prog.File   : nutest_g2452.hex (ERASE_ALL, verified = TRUE)
* BSL Unlock  : FALSE
* InfoA Access: FALSE
* VCC ON      : TRUE
* ----------------------------------------------------------------------------
* Disconnecting from device...done
*
* ----------------------------------------------------------------------------
* Driver        : closed (No error)
* ----------------------------------------------------------------------------
*/

C:\ti\MSP430Flasher_1.2.3>pause
Press any key to continue . . .






Screen shot of the MSP430Flasher with the MSP-FET430UIF debugger...

C:\ti\MSP430Flasher_1.2.3>MSP430Flasher.exe -n MSP430G2452 -w "nutest_g2452.hex"
 -v -g -z [VCC]
* -----/|-------------------------------------------------------------------- *
*     / |__                                                                   *
*    /_   /   MSP430 Flasher v1.2.3                                           *
*      | /                                                                    *
* -----|/-------------------------------------------------------------------- *
* Evaluating triggers...done
* Checking for available FET debuggers:
* Found USB FET @ COM12.
* Initializing interface on TIUSB port...done
* Checking firmware compatibility:
* FET firmware is up to date.
* Reading FW version...done
* Reading HW version...done
* Powering up...done
* Accessing device...done
* Reading device information...done
* Loading file into device...
* ERROR : Verification error
* Unable to load file.
# Exit: 10
# ERROR: Could not reset device
* Disconnecting from device...done
*
* ----------------------------------------------------------------------------
* Driver        : closed (No error)
* ----------------------------------------------------------------------------
*/

C:\ti\MSP430Flasher_1.2.3>pause
Press any key to continue . . .



Using the MSP430Flasher with the MSP-FET430UIF debugger did not work. Just to check
the target hardware, I connected the same target hardware board using the MSM430Flasher
with the USB connection directly to the LaunchPad and was able to successfully program.



Have just downloaded the USB drivers and installed them. "FET-Pro430-Lite-Setup"
Message on the install screen...
Repair Elprotronic - FET-Pro430 v 3.1-2  -  Lite version for TI's MSP430
Was able to read memory with the  Elprotronic but could not erase flash.



In the past, I have had CCSv3, two different versions of CCSv4 and now I have
CCSv5. All previous versions have been uninstalled. But I'm thinking that maybe
some junk was left over on my harddrive or in my registry. Is this possible?



So my question is, what is wrong?

My thanks in advance,
Real Time Caveman


  • Hi, 

    my first question would be ... is it correct/can you verify you only have a problem when using the external FET + launchpad?   Because if not, first what I would do is try to make sure we get the launchpad directly plugged in working in all cases.   If the elprotronic software can read but not write, another thing to check is any memory lock/protection that might be there.  And the first thing I would do is try Elprotronic first, then CCS.  Also check USB ports as I have found sometimes an MSP will work in one USB but not another or not through a USB hub.  Also be sure to use the elprotronic version for TI boards.   

    So first, try to get the launchpad, directly plugged in working with all three.  What errors are you getting in CCS/Elprotronic software?

    Please keep us informed.

    Best Regards,
    Lisa 

  • Hi Lisa,

    Please reread my very detailed post.

    The hardware can be programmed while using the MSP430Flasher v1.2.3 software tool. So it is not an issue with the hardware. It is an issue with software within CCSv5.

    I would think if I can get CCSv5 to program the LaunchPad using the USB direct connection to the LaunchPad, then the connection using the MSP-FET-430UIF should be working. So for now, lets concentrate on getting the LaunchPad programmed just using the USB cable and the LaunchPad.

    Have been reading about the problems with MSP430.dll and HIL.dll. Could there be a problem that my registry is having a problem in using the correct driver? Just a thought.

    You help is greatly appreicated.

    Real Time Caveman

  • Hi,

    yes, as I said, we should first get the launchpad working.  What errors do you get?  Did you ever let ccs change the firmware on the launchpad?   

    Are you able to read a firmware version in the elprotronic tool?

    Best Regards,

    Lisa

  • Hi Lisa, Good news and bad news. The good news is all of the hardware works with most of the MCUs. The bad news is the linker is generating bad code. See the end of this note. The following is a matrix of hardware and software to show the problem. The hardware is the MSP-EXP430G2 Launch Pad. The "OK" below signifies the download was successful. As noted below, all software applications are using v3.3.1.4 of the MSP430.dll. Their directories are listed, please let me know it these are the correct directories where the applications look for the driver. ********************************************************************** CCSv5 IDE (Version: 5.5.0.00077): MCUs ------------------> G2211 G2231 G2452 G2553 with LaunchPad HW OK OK -NO- -NO- with MSP-FET430-UIF OK OK OK OK (C:\ti\ccsv5\ccs_base\DebugServer\drivers\MSP430.dll = v3.3.1.4) ********************************************************************** MSP430Flasher (v1.2.3): MCUs ------------------> G2211 G2231 G2452 G2553 with LaunchPad HW OK OK OK OK (C:\ti\MSP430Flasher_1.2.3\MSP430.dll = v3.3.1.4) ********************************************************************** FET-Pro430 (v3.1-2): MCUs ------------------> G2211 G2231 G2452 G2553 with MSP-FET430-UIF OK OK OK OK (C:\Program Files (x86)\Elprotronic\MSP430\FET-Pro430\MSP430-TI.dll = v3.3.1.4) I still cannot debug the MSP430G2452 and the MSP430G2553 MCUs. In the linker file there is a "mismatch" between the size of the interrupt vectors and the amount of date the linker is trying to place at that location. EXAMPLE: Line from the .map file is shown below: INT02 : origin = 0xFFE4, length = 0x0002 The error message from CCSv5 is: MSP430: Trouble Writing Memory Block at 0xffe4 on Page 0 of Length 0x8: Could not write device memory MSP430: GEL: File: C:\ti\TI_WORKSPACE\nutest_g2452\Debug\nutest_g2452.out: Load failed. As you can see the linker is trying to place 8 bytes of data into a memory region that consists of only 2 bytes. This seems like an issue with the linker. Please advise. Again, thanks in advance Real Time Caveman
  • Hi,

    Are you using the default linker command file?   If you are using the defaults, how are you switching between processors in your ccs project?  I ask because we have even still very recently found a few bugs to do with switching the msp430 processor a project is using.  Some settings don't get changed/changed properly.  Have you tried with a the G2452 and G2553 in fresh workspaces/projects specifically created from start based on those processors?  What .h file are you using, the specific one or the generic msp430.h?  Also, can I verify you change the target configuration?

    Best Regards,
    Lisa 

  • Hi Lisa, Took your advice and created an new WORKSPACE and created a new PROJECT. Added a new project from pull down menus, used the blink.c for the MSP430G2452. All defaults and no modifications. The error came when I tried run the debugger. The linker is still trying to stuff 8 bytes into a memory region that is designated for only 2 bytes. Here is the error message from CCSv5. MSP430: Trouble Writing Memory Block at 0xffe4 on Page 0 of Length 0x8: Could not write device memory MSP430: GEL: File: C:\ti\TI_WORKSPACE_2\G2452\Debug\G2452.out: Load failed. Here is the *.map file... INT02 0000ffe4 00000002 00000002 00000000 RWIX Please advise. Real Time Caveman
  • Hi,

    would you be able to send the project for me to see if I can reproduce this?  I have not seen this message at all with my launchpad on two different pcs.  You can use my ID (a link) for a friend/conversation request.

    Best Regards,

    Lisa

  • Real Time Caveman said:
    still cannot debug the MSP430G2452 and the MSP430G2553 MCUs. In the linker file there is a "mismatch" between the size of the interrupt vectors and the amount of date the linker is trying to place at that location. EXAMPLE: Line from the .map file is shown below: INT02 : origin = 0xFFE4, length = 0x0002 The error message from CCSv5 is: MSP430: Trouble Writing Memory Block at 0xffe4 on Page 0 of Length 0x8: Could not write device memory MSP430: GEL: File: C:\ti\TI_WORKSPACE\nutest_g2452\Debug\nutest_g2452.out: Load failed. As you can see the linker is trying to place 8 bytes of data into a memory region that consists of only 2 bytes. This seems like an issue with the linker.

    Does the map file show any interrupt vectors adjacent to INT02 are generated by the linker?

    My understanding is that when CCS programs a file into flash it collects adjacent memory regions together for writing together as one larger block. i.e. the problem may not be the linker.

    As Lisa has already suggested, if you can post your project that would allow an investigation into what is happening.

  • Hi Lisa, I responded to you email with an attached file. My guess is that it is still floating around in the either. Have also created the "Project>export>general>archive file" but have no idea on how to get it to you. Your message of "Reply to the message online" is not much of a clue. Will need some more help in sending this Zip file to you. Detailed step by step will help. Also is there a help guide to interacting with this E2E site? Sorry for newness. Real Time Caveman
  • Hi,

    I did not see any attachments in your message.  You can attatch it here or in the conversation you started with me offline.

    Best Regards,

    Lisa 

  • Hi Lisa, Finally figured out where "here" was located. It is under the "Options" tab. As I said, I am new to this blog format. So attached is my project for the MSP430G2452. Please keep in mind that the very same problem exist for the MSP430G2553 project. In my previous threads of the blog, I mentioned that at one time my system contained CCSv3, CCSv4, CCSv5 which contained the tools for the ARM processor. My latest installation of CCSv5 is just for the MSP430 family and no other MCUs. All previous version of CCS were "uninstalled" using Windows uninstaller before the current CCSv5 was installed. Hope this helps. Thanks again in advance, Real Time Caveman
    TI_WORKSPACE_2.zip
  • Hi,

    I suspect there might be something in your setup but this is likely not going to be easy or obvious to find.   I ran your project, and even changed it to the G2553 (the board I happen to have) and it worked absolutely fine.

    One thought, not sure is a corrupted ccs installation?   However this requires your time and willingness to clean out old installs and start fresh.

    Best Regards,

    Lisa

  • Hi Lisa, I am willing to completely uninstall the whole CCS software. My question to you is, what is the best way in which to COMPLETELY remove all traces of the previous CCS files? Have used Windows uninstaller as previously noted. So this is NOT working. Which directories will need to be completely removed? WHAT DATA IN THE REGISTRY WILL NEED TO BE REMOVED? Is there a document which provides more in site on how to completely remove all remnants of CCS? My PC is a windows 7, x64 with SP1. Thanks, Real Time Caveman
  • Hi,

    we don't usually worry about the registry.  What you can do is simply manually remove the installation folder and also the insalljammer registry logs.  These logs and the installjammer registry directory are under program files or program files (x86).

    Then you can use the full installer, with antivirus off, to reinstall the latest version, v5.5

    Best Regards,

    Lisa

  • Hi Lisa, We are almost there. Completely uninstalled CCSv5. Deleted the installjammer registry directory. Reinstalled CCSv5. Have been able to flash MSP4302452 using the MSP-FET430-UIF debugger with no problems. CANNOT flash same program into a MSP-EXP430G2 (rev 1.4) Launch Pad hardware. I get the same error message that the loader is trying to load 8 bytes into a memory region of only 2 bytes wide. Tried several different LaunchPads with several different MCUs. The MCU was the same that worked with the debugger. IS THE PROBLEM A WINDOWS DRIVER ISSUE? My currently loaded drivers for FTDI - CDC are; ( Under Control Panel > Programs and Features ) Windows Driver package - FTDI CDM Driver Package - Bus/D2XX Driver (03/18/2011 2.08.14) Windows Driver package - FTDI CDM Driver Package - VCP Driver (03/18/2011 2.08.14) Windows Driver package - FTDI CDM Driver Package (02/17/2009 2.04.16) Windows Driver package - FTDI CDM Driver Package (10/22/2009 2.06.00) Can I just delete these drivers and have Windows reinstall them? Thanks for all of your help. We can see the end of the tunnel now. Real Time Caveman
  • Real Time Caveman said:
    I get the same error message that the loader is trying to load 8 bytes into a memory region of only 2 bytes wide.

    Looking at the linker G2452.map file in your attached project shows that there are four consecutive interrupts INT02 to INT05 which are used in the program. Therefore, it is not a problem that CCS is trying to write 8 bytes starting from 0xFFE4 (INT02) into flash.

    The problem is that the flash programming fails for some reason. I can try and repeat the failure, but it would be useful if your could enable Debug Server Logging and attach the post the log file when CCS fails to program flash.

  • Lisa, I am trying to respond to Chester Gillon's post. Can you see that he gets this post? Have turned on the debugger logging and the file is attached. From my previous question, should I uninstall the CDC drivers on my system? Thanks Real Time Caveman
  • Chester, thanks for taking a look. Attached is the log file while attempting to flash a MSP430G2452 on a MSP-EXP430G2 Launch Pad board. Please keep in mind, that CCSv5 IDE is able to correctly flash this same program using the MSP-FET430UIF debugger. So what is the difference? It has be baffled. In looking at the log file, the script is indeed trying to flash 8 bytes of ".data" into location 0xFFE4. Any help will be greatly received. Real Time Caveman
  • Using your project I was able to successfully program and run the project using:

    - CCS 5.5.0.00077, which uses MSP430.dll v3.3.1.4

    - MSP-EXP430G2 v1.5

    - MSP430G2452

    The debug server log file is attached for reference 7077.debug_server.txt

    Real Time Caveman said:
    Attached is the log file while attempting to flash a MSP430G2452 on a MSP-EXP430G2 Launch Pad board.

    The part from the log file where the write failed is:
    0x00000574 1206826 3 MSP430 GTI C: GTI_WRITEMEM_BLK( 0x37955258, 0x0000FFE4, 0x00000000, 0x00000008, 0x00000000, "RAM", 0x00000000, 0x00000000, *0x344B0214 = 0x000000AA )
    0x00000574 1206826 3 MSP430 MSP C: MSP430_Memory( 0xFFE4, 56D75F58, 0x8, 0 )
    0x00000574 1206826 3 MSP430 MSP R: ( 0xFFE4, 56D75F58, 0x8, 0 ) = -1
    0x00000574 1206826 3 MSP430 MSP C: MSP430_Error_Number()
    0x00000574 1206826 3 MSP430 MSP R: MSP430_Error_Number() = 7
    0x00000574 1206826 3 MSP430 MSP C: MSP430_Error_String( 7 )
    0x00000574 1206826 3 MSP430 MSP R: MSP430_Error_String( 7 ) = Could not write device memory
    0x00000574 1206826 3 MSP430 GTI R: GTI_WRITEMEM_BLK( 0x37955258, 0x0000FFE4, 0x00000000, 0x00000008, 0x00000000, "RAM", 0x00000000, 0x00000000, *0x344B0214 = 0x000000AA ) = 0xFFFFFFFF
    The second number in each debug server log entry is a timestamp in milliseconds (with a resolution of around 15 milliseconds?). The failed GTI_WRITEMEM_BLK and MSP430_Memory calls all have the same timestamp for the call (C:) and return (R:). I am not sure what is causing the failure, but suspect the failure is occuring in the PC side, since on flash programming failures seen on the target in other cases the fault was reported after a time in the order of seconds.

    Real Time Caveman said:
    In looking at the log file, the script is indeed trying to flash 8 bytes of ".data" into location 0xFFE4.

    That is because default interrupt vectors from the RTS library are being used.

  • Hi Chester, I too am using CCS 5.5.0.00077, with MSP430.dll v3.3.1.4 However I am using - MSP-EXP430G2 v1.4 hardware. Is this the problem? Has there been a firmware change to support the v1.5 hardware? The MSP-EXP430G2 v1.4 hardware work perfectly with CCSv4.2.5. If as you suspect the problem may lie in the PC. Could it be in an old .dll driver? On the PC, Start> Control Panel > Programs and Features Windows Driver package - FTDI CDM Driver Package - Bus/D2XX Driver (03/18/2011 2.08.14) Windows Driver package - FTDI CDM Driver Package - VCP Driver (03/18/2011 2.08.14) Windows Driver package - FTDI CDM Driver Package (02/17/2009 2.04.16) Windows Driver package - FTDI CDM Driver Package (10/22/2009 2.06.00) Can I just delete these drivers and have Windows reinstall them when the EXP-MSP430G2 hardware is connected? Since this project works on both yours and Lisa's machines, it must be a conflict in my configuration. Thanks, Real Time Caveman
  • Real Time Caveman said:
    However I am using - MSP-EXP430G2 v1.4 hardware. Is this the problem? Has there been a firmware change to support the v1.5 hardware?

    The MSP430_Initialize call returns the firmware version in the emulator of the MSP-EXP430G2. Comparing the debug server logs from your failure (with MSP-EXP430G2 v1.4 hardware) and my successful programming (with MSP-EXP430G2 v1.5 hardware) both report the firmware version as 2.4.9.1. i.e. no apparent firmware difference.

    Real Time Caveman said:
    On the PC, Start> Control Panel > Programs and Features Windows Driver package - FTDI CDM Driver Package - Bus/D2XX Driver (03/18/2011 2.08.14) Windows Driver package - FTDI CDM Driver Package - VCP Driver (03/18/2011 2.08.14) Windows Driver package - FTDI CDM Driver Package (02/17/2009 2.04.16) Windows Driver package - FTDI CDM Driver Package (10/22/2009 2.06.00)

    The MSP-EXP430G2 uses a TI TUSB3410 for USB communication, which looking on my Windows XP machine uses the Microsoft usbccgp.sys driver. Not sure what the FTDI CDM Driver Package has to do with the problem.

  • Real Time Caveman said:
    The MSP-EXP430G2 v1.4 hardware work perfectly with CCSv4.2.5.

    That points at a possible problem in CCS 5.5 or the MSP430.dll that CCS 5.5 uses. I was going to suggest running a MSP430.dll v3.3.1.004 compiled for debug with CCS 5.5, since when compiled for debug the MSP430.dll creates a log file which records the USB traffic to/from the emulator. However, when I built MSP430.dll v3.3.1.004 from the source in SLAC460g it failed to recognize the MSP-EXP430G2 emulator.

    One other suggestion to try and determine the area of the problem, can you try replacing the MSP430.dll in the CCS 5.5 installation with the one from CCSv4.2.5? [make a backup of the MSP430.dll in the CCS 5.5 installation first].

  • Chester Gillon said:
    One other suggestion to try and determine the area of the problem, can you try replacing the MSP430.dll in the CCS 5.5 installation with the one from CCSv4.2.5?

    On further investigation, the MSP430.dll from CCS 4.2 isn't compatible with CCS 5.5.

    The reason is that CCS 5.5 makes a MSP430_Configure (SET_INTERFACE_SPEED, FAST) call which the MSP430.dll from CCS 4.2 doesn't understand (and causes a "Invalid parameter(s)" error).

  • Hi Chester, 

    you are correct.  CCSv4 uses the v2 dll, CCSv5 the v3  dll.   This is why the upgrade/downgrade utility was created.

    I am wondering if this might be best moved to the msp team?

    Best Regards,
    Lisa 

  • Chester, I think we know what is wrong. First of all, sorry about the lengthy tread. But it seems that I had two problems. First was Kaspersky anti virus was preventing a child process from closing. Kill Kaspersky SW and it works. The second problem is a bit more discomforting. In order to understand the problem, I installed a clean copy of CCSv5 on a laptop computer. It also failed while trying to flash an ESP-MSP430G with an MSP430G2452 inserted. Then I connected it to my MSP-FET430UIF debugger and was able to program the same MSP430G2452. If I only used this flashing tool, all would be alright. However I tend to also use the direct USB connection to different MSP430 Launch Pad devices. When I try to use the CCSv5 software with the USB direct connection, this is when I get the error message that I cannot flash at location 0xFFE4. So it appears it is issue where the two TI debugging tools do not play nicely with each other. I remember Lisa eluding to the fact that there was some issue when using different tools. It seems this is a TOOLS issue and not a compiler issue as I suspected in the beginning. I will not be looking at the TOOLS WiKi to see if others have incountered that same problem. Once again, thanks for all of your help. Real Time Caveman
  • Chester & Lisa, Still cannot get CCSv5 to work with the EXP-MSP430G2 Launchpad v1.4. Have originally loaded it on a desktop with the same problem. Have since installed it on a laptop with Kaspersky anti virus installed. Uninstalled Kaspersky and CCSv5. Kaspersky software did cause a child process to not exit properly. Reinstalled CCSv5 with the exact same problem of not being able to flash the MCU at location FFE4. Attached is the install LOG which was created when the new CCSv5 was installed. In the log file "ti_msp430pack_setup_5.5.0.17_install.log", there are several errors at the very end of the log. It appears to be in the area of loading USB and FET drivers. The following three attempts of installing drivers resulted in ERRORS. See the attach file for more details. The error was 256 in all three cases. The exact wording of the error is "Program ended with an error exit code". "C:/ti/ccsv5/ccs_base\emulation\drivers\msp430\USB_eZ-RF "C:/ti/ccsv5/ccs_base\emulation\drivers\msp430\USB_FET_Win7_64" "C:/ti/ccsv5/ccs_base\emulation\drivers\msp430\USB_CDC" As it appears to be a "emulation driver" problem, maybe this is what is causing the errors. As I stated before, I can use the exact same MCU and EXP-MSP430G2 Launchpad with the FET-MSP430UIF and it works perfectly. But not when I connect a USB cable directly to the Launchpad. Again all of your help is greatly appreciated. Real Time Caveman
  • Chester & Lisa, The problem has been solved. My issues were: (1) Installing CCSv5 and running it with Kaspersky anti virus installed. (2) In the process of getting the problem above resolved, the firmware in the MSP-EXP430G2 Launch Pad boards was corrupted. Each Launch Pad (total of 4) were all corrupted. The solution was to reinstall the Launch Pad firmware. To those who also might run into the same problem, here is the firmware downloader: http://e2e.ti.com/cfs-file.ashx/__key/CommunityServer-Discussions-Components-Files/166/3583.LaunchPadFirmwareUpdater.zip Read the "Readme.txt" file as there are some warnings to be noted. Execute the program "LaunchPadFirmwareUploader 2.0.exe". But the bottom line is my hardware is now currently working. Real Time Caveman