Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Issue flashing firmware/connecting with ICE, Toolboard 1LC

    Scheduled Pinned Locked Moved Solved
    Firmware developers
    2
    11
    560
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • dc42undefined
      dc42 administrators @rl_at_berk
      last edited by

      @rl_at_berk said in Issue flashing firmware/connecting with ICE, Toolboard 1LC:

      I am ignoring the reset pin (leaving unconnected).

      The ICE need the Reset pin connected in order to flash the firmware.

      Duet WiFi hardware designer and firmware engineer
      Please do not ask me for Duet support via PM or email, use the forum
      http://www.escher3d.com, https://miscsolutions.wordpress.com

      rl_at_berkundefined 1 Reply Last reply Reply Quote 0
      • rl_at_berkundefined
        rl_at_berk @dc42
        last edited by

        @dc42 Connecting the reset pin didn't do anything. Some more details:

        The Ice pinout I am using is the following:
        44a4646e-9331-4d93-8ee9-649f2500268e-image.png
        This goes to a 6-pin connector, which I am connecting to the 5pin SWD pads on the toolboard (toolboard v1.3), which has the following pin configuration (pin 1 is SWDCLK, Pin 2 is target voltage):
        057e2f2b-be23-470d-8bb0-a284aeb717f7-image.png
        The reset pin on the toolboard does not have a place on the cable that came with the ICE according to this, so I manually connected it to the Reset pin on the ICE. This did nothing.

        In the device programmer (microchip studio), I have the following config: Atmel-ICE, ATSAMC21G18A, SWD. This still reads the Target voltage correctly but errors with No Device Detected, Error 4109.

        1 Reply Last reply Reply Quote 0
        • dc42undefined
          dc42 administrators
          last edited by

          @rl_at_berk the cable with the 6 pin connector is probably intended for programming AVR devices using the AVR connector on the ICE.

          Duet WiFi hardware designer and firmware engineer
          Please do not ask me for Duet support via PM or email, use the forum
          http://www.escher3d.com, https://miscsolutions.wordpress.com

          rl_at_berkundefined 1 Reply Last reply Reply Quote 0
          • rl_at_berkundefined
            rl_at_berk @dc42
            last edited by

            @dc42 I was finally able to flash firmware to the toolboard over SWD, but now I am unable to connect to the toolboard via CAN. This could probably be a different question but I am posting here, let me know if I should make a separate thread.

            I reflashed the bootloader: not the most recent, as the toolboard rejected every 2.X version (status light flashed twice and turned off) I had to go with 1.3. Once I had that, I flashed both the firmware_TOOL1LC and TOOL1LC-Debug. These are from a RRF2 build, I cannot use RRF3 because of an existing project I am working with. Both flashed, but I could not do anything with CAN once I flashed. The debug version caused the status light to flash rapidly, and I could not connect via CAN. The regular firmware caused the status light to turn off and not turn back on. In both firmware's, the factory reset (hold both buttons while turning on) did nothing. CAN address is 121.

            I am using a Mainboard 6HC v1.02. I verified that both terminating resistors are in the CAN circuit, and I hooked up the mainboard CAN to an oscilloscope and saw CAN messages being sent, as expected. But, I am unable to communicate with the toolboard.

            Thoughts? Thanks.

            dc42undefined 1 Reply Last reply Reply Quote 0
            • dc42undefined
              dc42 administrators @rl_at_berk
              last edited by

              @rl_at_berk said in Issue flashing firmware/connecting with ICE, Toolboard 1LC:

              I reflashed the bootloader: not the most recent, as the toolboard rejected every 2.X version (status light flashed twice and turned off)

              In what way did it reject the 2.X versions? Do you mean that Atmel ICE reported failure? Older bootloaders do not support the version 1.3 tool board.

              There is a specific sequence needed to re-flash the bootloader:

              • Disconnect the board from the CAN bus (so that it cannot load firmware, which would reinstate the bootloader protection)
              • Run Erase All in Atmel Studio. This erases the main firmware but not the bootloader.
              • In the Fuses section set the bootloader protection amount to zero

              It should then be possible to flash and verify the bootloader, or to flash the Debug build of the tool board firmware.

              @rl_at_berk said in Issue flashing firmware/connecting with ICE, Toolboard 1LC:

              These are from a RRF2 build

              We didn't support CAN officially in any RRF 2.x release. You will need to upgrade to RRF 3.x in order to use a CAN-connected tool board.

              Duet WiFi hardware designer and firmware engineer
              Please do not ask me for Duet support via PM or email, use the forum
              http://www.escher3d.com, https://miscsolutions.wordpress.com

              rl_at_berkundefined 1 Reply Last reply Reply Quote 0
              • rl_at_berkundefined
                rl_at_berk @dc42
                last edited by

                @dc42 I wrote Bootloader 2.3 to the toolboard and had it verify (I think the problem I had before was I forgot to write the fuses to the board). I put a RRF3 build of the code, with build configurations all matching SAMC21 or TOOL1LC. (CANlib - SAMC21RTOS, CoreN2G - SAMC21-CAN, Duet3Expansion - TOOL1LC, FreeRTOS - SAMC21, RRFLibraries - SAMC21) I put the bin file onto the mainboard in the /firmware folder. When I flash the bootloader onto the toolboard over SWD following the steps you gave above (no connection to mainboard at this point), microchip studio verifies everything is OK. The status light on the toolboard then flashes twice, indicating invalid firmware. a second later it flashed four times, indicating the board attempted to reach out to the mainboard and failed.

                Next, I powered off the board, plugged in the CAN to the mainboard, and powered on both boards. The toolboard waits for a second and then pulls the firmware from the mainboard, and the status and act lights clearly indicate that the firmware is being written. Then, the status lights blinks repeatedly and fast, indicating no CAN connection. I cycled power and still no CAN connection. This does not make sense to me, as the toolboard flashed its own firmware over CAN, did it not?

                thanks for your help

                dc42undefined 1 Reply Last reply Reply Quote 0
                • dc42undefined
                  dc42 administrators @rl_at_berk
                  last edited by

                  @rl_at_berk which main board and tool board firmware versions are you using?

                  Duet WiFi hardware designer and firmware engineer
                  Please do not ask me for Duet support via PM or email, use the forum
                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                  rl_at_berkundefined 1 Reply Last reply Reply Quote 0
                  • rl_at_berkundefined
                    rl_at_berk @dc42
                    last edited by

                    @dc42 Duet3 Mainboard 6HC v1.02 with firmware 3.4.5 (date 2023-06-06)
                    Toolboard v1.03 with firmware 3.4.4

                    dc42undefined 1 Reply Last reply Reply Quote 0
                    • dc42undefined
                      dc42 administrators @rl_at_berk
                      last edited by

                      @rl_at_berk those are compatible firmware versions so that does indeed seem odd. As the bootloader is able to load firmware from the 6HC, CAN communication must be working. So unless one of the firmware binaries is corrupted in some way (in which case we would expect the LED to flash a CRC error code), they should work together.

                      Does the tool board factory reset procedure result in it loading firmware over CAN again?

                      Duet WiFi hardware designer and firmware engineer
                      Please do not ask me for Duet support via PM or email, use the forum
                      http://www.escher3d.com, https://miscsolutions.wordpress.com

                      rl_at_berkundefined 1 Reply Last reply Reply Quote 0
                      • rl_at_berkundefined
                        rl_at_berk @dc42
                        last edited by

                        @dc42 Found the solution, I didn't realize this earlier but the Toolboard firmware I was using had actually been modified by a coworker. We bought a new toolboard and tried to connect CAN (thinking maybe an IC had been fried) and it worked, so we copied that firmware onto the toolboard I had been using and sure enough, works fine. So it was a software issue. Thanks for your help!

                        1 Reply Last reply Reply Quote 0
                        • dc42undefined dc42 marked this topic as a question
                        • dc42undefined dc42 has marked this topic as solved
                        • First post
                          Last post
                        Unless otherwise noted, all forum content is licensed under CC-BY-SA