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.

FLASH-PROGRAMMER: The Channel 2 of C2000-Gang Programmer cannot be setted to download sucessfully

Part Number: FLASH-PROGRAMMER
Other Parts Discussed in Thread: C2000-GANG, TMS320F28335

When we used C2000 GANG, we found below problem:

The computer calls the dll to control the programmer to download the program, and set the channel to be downloaded through the interface C2000GANG_SetConfig.

The input parameter is CFG_TARGET_EN_INDEX, data = 2, that is, we want to control channel 2 to download. And, using C2000GANG_GetConfig can get 2, that is, the setting is successful.

But it doesn't seem to take effect, and there is still an hourglass in channel 1 on the programmer interface while downloading. Channel 2 does not respond.

Maybe we got the wrong edition of dll or there were some other reasons.

However, we want to solve the above problem as soon as possible.

Looking forward to your reply sincerely.

  • Hi,

    Which device are you trying to program using GANG?

    For faster support, please contact Elprotronic technical support team directly at support@elprotronic.com .

    I notified this issue to Elprotronic.

    Update: I spoke to Elprotronic. They did not understand the chinese email thread correctly. Hence could not help on time. Please expect a reply today.

    Thanks and regards,

    Vamsi

  • Hi,

    The Gang Programmer program all targets simultaneously (in parallel). You can select what target is verified, but does not means that other target does not take the commands the same as sent to active channel. Means - it is not possible to select e.g. target 2 and  disable targets 1,3,4,5,6, then enable target 1 and disable  all other targets and send e.g. command Erase. That can erase all of them. We provide gang option commands that can provide unique data to each targets, but commands can be the same to all targets with different data to each target e.g. for saving calibration data or serial number unique to each targets. Only enabled targets are verified. All other response from un-market targets are ignored. 

    Please let me know if you have any questions.

    Regards,

    Gregory Czajkowski
    Elprotronic Inc.

  • Hi, Vamsi

    We are trying to program TMS320F28335 using C2000-Gang.

    Thanks

    WangCaixia

  • Hi,Gregory Czajkowski

    Thank you for your reply sincerely.

    We are trying to program two TMS320F28335  chips that we called one the main chip and the other one the assisted chip. Do you mean that we can download the respective program of the main chip and the assisted chip using channel 1 and channel 2 at the same time?

    Thanks and regards,

    WangCaixia

  • Hi WangCaixia,

    It is not possible at the same time. You should download project one and program target 1 with disconnected target 2. When finished - disconnect target 1, connect target 2 and download project 2 to programmer and run it. If you would like to download different programs to different targets simultaneously, then you need two programmers and control them from one PC. You can use our FlashPro2000 (in your case - 2 pcs) and control up to 64 programmers simultaneously via our DLLs. We do not provide that option for C2000-GANG.

    Let me know if you have any questions.

    Regards,
    Gregory Czajkowski
    Elprotronic Inc.

  • Hi,Gregory Czajkowski

    Add some information:

    1、The version of our C2000-Gang is as below. "Serial number" , "API firmware"  and "Boot firmware" cannot display normally. Please help us to correct them.

    2、When we use GUI software to download certain program to target from channel 2, the result is  PASS; But when we use dll to download the same program to the same target from channel 2 with the interface C2000GANG_SetConfig, the result is FAIL, and we get the error return from dll.  We want to solve this problem.

    Looking forward to your reply sincerely.

    Thanks and regards,

    WangCaixia

  • Hi Gregory Czajkowski,

    Thank you so much. Actually,we control the download process of these 2 targets as your description:"You should download project one and program target 1 with disconnected target 2. When finished - disconnect target 1, connect target 2 and download project 2 to programmer and run it".

    But we get the error return from DLL. Please refer to my other reply mail.

    Thanks and regards,

    WangCaixia

  • You should check drivers and connection. When label is not displayed correctly, the C2000-GANG will not work.

    Regards,
    Gregory Czajkowski

  • Hi Gregory Czajkowski,

    Thank you so much.

    The drivers we used are provided by TI engineer:http://content.elprotronic.ca/C2000-GANG-1v10200-Setup.zip.

    Would you please provide the correct drivers ?

    Thanks and regards,

    Wangcaixia

  • Hi,

    Software is correct. I was talking about USB driver. Please check if the programmer is detected under Device Manager.

    Regards,
    Gregory Czajkowski

  • Hi Gregory Czajkowski,

    We use RS232 to control C2000-Gang not USB, and we can see COMXX under Device Manager.

    Looking forward to your reply.

    Thanks and regards,

    Wangcaixia

  • Wangcaixia

    The USB drive is also seen as the COM port (like RS232). But if you would like to control two programmers then you should set the commands separately to two programmers under com-A and com-B and control them from the top application. Then you should create multi- thread applications if more that one programmer is connected. Otherwise you cannot send at the same time commands to many programmers. You can use application without multi-thread and switch port in your application  every time you want to send command to dedicated programmer via selected com-port, but that would be the nightmare.

    Regards,
    Gregory Czajkowski

  • Let‘s review our application scheme and communication records.

     

    There are two TMS320F28335 chips on target board. We want to download the program to chips by C2000 Gang. We can control the connection status between 14pin and TMS chips by electric relay. So we can download one chip and then the other, that means we execute the download process in serial mode not parallel mode. C2000 Gang is connected to PC by RS232 not USB. The download process is as below.

      

    Now we have two problems:

    1、  When we use GUI software to download certain program to target from channel 2, the result is  PASS. But when we use DLL to download the same program to the same target from channel 2 with the interface C2000GANG_SetConfig, the result is FAIL, and we get the error return from DLL, the error code is “MCU device init.” .  We are confused that there are different results from GUI software and DLL when using channel 2. The same problem is not happened when using channel 1. Maybe DLL revision is not applicable or exists some bugs. Please help us to analyze this problem and solve it. Or can you send us the latest DLL?

    2、The label of C2000 Gang is not displayed correctly, but it can work. How to make the label correct?

  • Hi,

    There is no problem with DLL, because GUI is using the same dll for communication with target. GUI itself is doing just configuration and calling functions via DLL in certain order. Please run the GUI, save configuration file for first setup that works, then make the second setup and run the GUI. Save configuration file with different name. Then in your application run your software, load first configuration, run your sequence, when finished, load the second configuration file and run the second setup from your application via DLL. That should work.

    Gregory Czajkowski
    Elprotronic

  • Hi Gregory Czajkowski,

    Thank you for your latest suggestion. It works.

    Regards,

    Wangcaixia

  • Hi Gregory Czajkowski,

    Now we have an application requirement of C2000-gang: we want to load the .C2000gangimage file generated by the local PC into the specified image channel in the memory of C2000-Gang by calling C2000-GANG.dll. But no related functions was found from《C2000 Gang Programmer (C2000-GANG) User's Guide》.

    We tried to use C2000GANG_LoadImageBlock() . But there was no input parameter like image file name and path of this function.

    So please give us some suggestion.

    Regards,

    Wangcaixia

    Regards,

    Wangcaixia

  • Wangcaixia,

    Please expect the reply in a day or two.  

    Thanks and regards,
    Vamsi

  • Hi Wangcaixia

    You should use the C2000GANG_ImageFileLoad function. See below syntax in the C2000-Gang.h  header 

    //The C2000GANG_ImageFileSave and C2000GANG_ImageFileLoad Save/Load the image to/from file

    // Used internally by GUI
    LONG WINAPI C2000GANG_ImageFileSave( LPTSTR filename, LPTSTR name, LONG type, LPTSTR passw );
    #define BINARY_EXTENTION ".c2000gangbin"
    #define IMAGE_FILE_EXT ".c2000gangimage"
    // note -> extention in the filename will be removed and added extention as above to the final file name.
    // for example file name filename.aabb will create files
    // filename.c2000gangbin
    // and filename.c2000gangimage

    #define PROJ_SEC_UNPROTECTED 1
    #define PROJ_SEC_PASSW_PROTECTED 2
    #define PROJ_SEC_PC_HW_PROTECTED 3
    #define PROJ_LOCK_EN 0x10
    // available type in the C2000GANG_ImageFileSave
    // type = PROJ_SEC_UNPROTECTED or PROJ_SEC_PASSW_PROTECTED or PROJ_SEC_PC_HW_PROTECTED
    // or (PROJ_SEC_UNPROTECTED | PROJ_LOCK_EN) or (PROJ_SEC_PASSW_PROTECTED | PROJ_LOCK_EN) or (PROJ_SEC_PC_HW_PROTECTED | PROJ_LOCK_EN)
    //
    LONG WINAPI C2000GANG_ImageFileLoad( LPTSTR filename, LPTSTR passw, LONG mode );
    // mode -> 0. Other value reserved for the future.

    Let me know if that helps.

    Regards,
    gregory Czajkowski

  • Hi Gregory Czajkowski,

    Thank you for your reply. We will try this function later and inform you the results.

    According to your reply, maybe 《C2000 Gang Programmer (C2000-GANG) User's Guide》does not contain all the dll function descriptions. Would you please send me the latest user manual?

    Regards,

    Wangcaixia

  • Hi Wangcaixia,

    User manual is OK. These two functions was prepared for access from GUI only, because file before write or load need to be provided password options and password name. In load is less critical. These options provided during write should be also provided in the Load option. That is the reason that it was not listed in User Guide. It was concept that image file would be saved using GUI and also loaded from file to image - also using GUI.

    Regards,
    Gregory Czajkowski 

  • Wangcaixia,

    Can I close this post?

    You can contact Gregory directly at support@elprotronic.com for further queries or open a new post.

    Thanks and regards,
    Vamsi

  • Hi Gregory Czajkowski ,

    We tried C2000GANG_ImageFileLoad function to load a new imagefile to C2000-Gang and then executed the download process, but only the old imagefile was downloaded.

    Do you mean that this function cannot be used effectively without GUI?

    Actually,we want to load the imagefile to C2000-Gang and then execute the download process using C2000-GANG.dll  called by the PC application independently.We don't want to use GUI.

    So is there any way to satisfy the above requirements?

    Regards,

    Wangcaixia

  • Hi,Vamsi

    I'm sorry to reopen this post.

    I will open a new post next time.

    Regards,

    Wangcaixia

  • Hi Wangcaixia,

    Since these btwo commands are hidden for regular use, I will provide you sequence for the Load commands via email. Let me know what option yyou are using in the save commands - means password protection option. Then I will provide you sequence for load instruction. Email me your request to my email - see email below.

    Regards,
    Gregory
    gregory@elprotronic.com 

  • Hi Gregory,

    Have you received my email on October 19th? Maybe there was some problems between our two company email. My company email is  caixia.wang@hirain.com , and my personal email is monitorxia@163.com .

    We saved the imagefile not protected like the below options. So we called the function C2000GANG_ImageFileLoad( LPTSTR filename, LPTSTR passw, LONG mode ) with the input parameters: null to "passw" and 0 to "mode".

    Regards,

    Wangcaixia

  • Hi Wangcaixia,

    If you do not have the password then set the image number first where the image must be saved. Then

    err = C2000GANG_ImageFileLoad( file_name, “”, 0 );
    if( err == ERR_NONE )
    {
      err = C2000GANG_LoadImageBlock();
      if( err == ERR_NONE )
       err = C2000GANG_VerifyPSAImageBlock();
    }

    Best regards,
    Gregory Czajkowski
    Elprotronic Inc.

  • Hi Gregory,
     
    Would you please give us the complete calling process to take the specific imagefile effect?
     
    By now, we have tried the ImageFileLoad function with the right input parameters as you have showed,but we got an unexpected result(an original  imagefile was downloaded to the target device).
     
    Best regards,
    Wangcaixia
  • Wangcaixia,

    We are working on this.  Please expect the reply in a day or two.

    Thanks and regards,

    Vamsi

  • Hi Vamsi,

    When could I receive your reply for the last request?

    Best regards,

    Wangcaixia

  • Wangcaixia,

    Elprotronic will reply on this tomorrow. 

    Thanks and regards,
    Vamsi

  • Wangcaixia,

    Please contact Gregory (@Elptrotronic) directly at gregory@elprotronic.com.

    Thanks and regards,

    Vamsi

  • Hi Vamsi,

    I sent the email to Gregory on November the second.

  • Wangcaixia,

    Gregory is working on a demo for you.  He hopes to send the details to you today.

    Thanks and regards,
    Vamsi