EVAL-ADICUP3029 / ADuCM3029

Hello,

I have a EVAL-AD5940BIOZ kit that I cannot get to work. I have original post here:

https://ez.analog.com/data_converters/precision_adcs/f/q-a/540972/eval-ad5940bioz-sensorpal-com-port-problem

It is the main board ADICUP3029 (ADuCM3029) that I am having problems with. I cannot flash it through SensorPal, nor with Drag-and-Drop, nor can I erase flash through CrossCore Serail Flash Programmer. I have also tried using IAR EW but it did not work either. I have tried 3 different cables, 3 different computers, nothing helps. 

I have tried everything in this:
wiki.analog.com/.../help_and_support

and in this:
wiki.analog.com/.../adicup3029_hw_drivers

SensorPal error:

"Connection to target on was not established"

CrossCore error:

"No autobaud response"

IAR EW error:

"Fatal error: Failed to connect to CPU"

Could it be that the board is simply faulty? What is the process of getting it changed?

    •  Analog Employees 
    on Feb 23, 2021 4:52 PM

    Hi Povsel,

    The EVAL-ADICUP3029, to my knowledge, is not programmable through SensorPal.  Drag and drop of a .HEX file that has semihosting disabled should work fine.  Also setting up a debug session through CCES should work as well.  I can't comment on IAR, because that is a tool that is not officially support (even though it should work if you setup the steps properly).

    May I ask if you can send a picture of your setup?  I read the previous post that says you can see the DAPLINK drive and the Maintenance drive, that is a good start.  Which software file are you trying to download to the ADICUP3029?

    Do you work in a company that adds extra security to your PC when trying to copy and paste files to external hard drives?  I know Analog Devices does that, so I had to work with my IT department to get an exemption for this board, to ensure that anytime I was copying and pasting a file into this drive it wouldn't be encrypted. 

    I've attached a very basic "blinky" program here.  Can you please try to plug in your ADICUP3029, drag and drop the .HEX file onto the DAPLINK drive.  Wait for the programming to finish (the drive should disappear and then reappear in a couple seconds).  Lastly, hit the S1 reset button.

    The LEDs near the silkscreen of the processor should start blinking on and off.

    Cheers,

    Brandon

    https://github.com/analogdevicesinc/no-OS/releases/download/Latest/aducm_blinky_example.zip

  • Hi Brandon,

    I have tried to drag and drop .hex that you have attached into DAPLINK. I get the following fail:

    "The interface firmware FAILED to reset/halt the target MCU"

    There are no restrictions regarding computers.

    I can enter Maintenance by powering up the board while holding down the Reset button. I can then drag and drop a .hex from https://wiki.analog.com/resources/eval/user-guides/eval-adicup3029/tools/adicup3029_hw_drivers (rev C) then it restarts and shows up as DAPLINK.

    (LEDs stay always ON)

    Povilas

    •  Analog Employees 
    on Feb 24, 2021 8:53 PM in reply to Povsel

    Hi Povsel,

    What worries me here is that you may have over written the emulator chip on the board during "maintenance mode" by dragging and dropping a hex file that should be targeted for the ADuCM3029.  

    The maintenance mode is really reserved for updating the firmware on the DAPLINK side without having to get a separate Jlink programmer and doing the programming from the JTAG.

    So I would suggest trying to do the following:

    1. Download the correct emulator file here (https://wiki.analog.com/_media/resources/eval/user-guides/eval-adicup3029/tools/adicup3029_maintenance_drive_revc_1_0.zip )
    2. Place the ADICUP3029 into maintenance mode
    3. Drag and drop that HEX file into the Maintenance drive
    4. Let it program and it should detach and reattach several moments later.
    5. Unplug the ADICUP3029 from the computer
    6. Plug the ADICUP3029 back into the computer, and make sure the DAPLINK drive shows up.
    7. Next drag and drop that "blinky" example that I sent you yesterday. (https://github.com/analogdevicesinc/no-OS/releases/download/Latest/aducm_blinky_example.zip )
    8. Let it program and it should detach and reattach several moments later.
    9. Unplug the ADICUP3029 from the computer
    10. Plug the ADICUP3029 back into the computer, and see if the LEDs (DS3 and DS4) are blinking.  I think its like a 5-10 second cycle. 

    This may or may not work, because there is no gaurantee that the emulator is still functioning properly do it it being written over several times.

    If this doesn't work, the next best thing to do would be to get a JTAG programmer (Like Segger) and take that same file and reprogram the emulator using P11 on the ADICUP3029 along with that same HEX file (https://wiki.analog.com/_media/resources/eval/user-guides/eval-adicup3029/tools/adicup3029_maintenance_drive_revc_1_0.zip ).

    Then you should be able to take the blinky project I sent and drag and drop that onto the DAPLINK drive. 

    If you can try these step and get back to me on the outcome, that would be very helpful for this debug.

    Cheers,

    Brandon

  • Hi Brandon,

    For the first option, I have tried it in the past. It is always the same, I have no problem entering Maintenance mode, emulator programs without the problem, I plug out plug in the board, it then is in the Daplink state, I upload the Blinky (or any other .hex, f.e. from SensorPal) and I get the following Fail.txt:

    The interface firmware FAILED to reset/halt the target MCU

    Regarding programming MK20 with j-link, it seems to work fine, just like when I do it with drag and drop:

    However when I try to flash ADUCM3029 via SWD (P14) I cannot even connect to it:

    Can it simply be a faulty mcu?

    Povilas

    •  Analog Employees 
    on Mar 2, 2021 2:13 PM in reply to Povsel

    Hello,

    Have you tried erasing the memory of the ADuCM3029 after programming the MK20 using the j-link? Try erasing with crosscore serial flash programmer after programming the MK20 and then try with drag and drop.

    Does this help?

    Regards,
    Andrei