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

Generating PanelDue - no .bin file issue

Scheduled Pinned Locked Moved
Firmware developers
paneldue
6
18
887
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.
  • undefined
    jrwaters2
    last edited by 7 Jun 2020, 16:09

    I've seen the same issue with no .bin file produced. It wasn't just that it didn't show up in explorer.

    For me, its the post-build step. The && after the objcopy command isn't acting as a delimeter and creating a second command - rather it (and everything after it) gets passed to arm-none-eabi-objcopy. arm-none-eabi-objcopy doesn't know what to do with the extra stuff and simply displays its invocation help and doesn't build the .bin.

    I'm building on Windows with Eclipse (exact version stated in build instructions) and internal tools.

    Not a huge deal for me - if I remove the && and everything after, I still get the -nologo variant.

    I know this is an older thread but thought I'd chime in as its an active issue and I did figure out a bit about why its happening. I wonder if the same thing would happen with external tools???

    Jack

    ? 1 Reply Last reply 7 Jun 2020, 16:26 Reply Quote 0
    • ?
      A Former User @jrwaters2
      last edited by A Former User 6 Jul 2020, 16:43 7 Jun 2020, 16:26

      @jrwaters2 said in Generating PanelDue - no .bin file issue:

      For me, its the post-build step. The && after the objcopy command isn't acting as a delimeter and creating a second command

      without having tested it, it would seem the objcopy is returning a non-zero return code causing the && to skip the next command.

      i.e .command1 && command2 will only run command2 if command1 return 0

      (edit: seems to work the same on windows

      C:\>false && echo "true" || echo "false"
      "false"
      C:\>true && echo "true" || echo "false"
      "true"

      true and false are just commands that return 0 and 1 respectively)

      undefined 1 Reply Last reply 7 Jun 2020, 17:14 Reply Quote 0
      • undefined
        zapta @A Former User
        last edited by 7 Jun 2020, 17:14

        IIRC shell scripts provide the status of last command which allow to provide a visible error message. With bash, I think it's the $? variable (?).

        ? 1 Reply Last reply 7 Jun 2020, 20:21 Reply Quote 0
        • undefined
          jrwaters2
          last edited by 7 Jun 2020, 18:26

          I just downloaded minGW and installed basic tools. I set Eclipse to use external tools and it all builds fine.

          I get that && only proceeds if there is errorlevel 0. But, if you remove the &&, it does succeed which suggests the full line is being sent to arm-non-eabi-objcopy.

          If I replaced the && . . .rest of steps with something simple like "&& echo", I can see that arm-non-eabi-objcopy still fails.

          Net is that with external tools I get both the normal .bin file and the no-logo.

          undefined 1 Reply Last reply 7 Jun 2020, 18:27 Reply Quote 0
          • undefined
            jrwaters2 @jrwaters2
            last edited by 7 Jun 2020, 18:27

            I also wanted to mention that the thing that got me down this path was seeing that arm-non-eabi-objcopy was failing and showing its invocation options.

            1 Reply Last reply Reply Quote 0
            • ?
              A Former User @zapta
              last edited by A Former User 6 Jul 2020, 20:26 7 Jun 2020, 20:21

              @zapta said in Generating PanelDue - no .bin file issue:

              With bash, I think it's the $? variable (?).

              true story

              in win(dos) it's %ERRORLEVEL%

              @jrwaters2 said in Generating PanelDue - no .bin file issue:

              I get that && only proceeds if there is errorlevel 0. But, if you remove the &&, it does succeed which suggests the full line is being sent to arm-non-eabi-objcopy.

              to remove the conditional simply replace && with & on windows (or ; on linux)
              ((however the presence of && would suggest the second command is reliant on the result of the first?))

              that it works by removing && would suggest objcopy is still return a non-zero status and taking the second command as parameters it ignores (and ultimately that the second command isn't needed?)

              confirm which versions you're using?

              1 Reply Last reply Reply Quote 0
              • undefined
                jrwaters2
                last edited by 7 Jun 2020, 21:17

                The && was there because it was meant to be dependent (its the default paneldue build process, not something I came up with). I believe & here would fail as well. Theory is that something is passing all of the parameters (including everything past the &&) to arm-non-eabi-objcopy when it should be interpreting && as a delimeter.

                It all works fine from the command line . . . and it all works fine with external tools.

                1 Reply Last reply Reply Quote 0
                • ?
                  A Former User
                  last edited by 7 Jun 2020, 21:43

                  hmm, that would only be if the command isn't run through cmd.exe afaik

                  does adding C:\Windows\System32\cmd.exe /c "commands&&commands" (substituting the commands inside the qoutes) work?

                  (optionally C:\Windows\SysWOW64\cmd.exe for 64 bits)

                  its been a while, but i believe i used external tools when i built the paneldue fw and didn't experience such an issue.

                  undefined 1 Reply Last reply 8 Jun 2020, 02:27 Reply Quote 0
                  • undefined
                    jrwaters2 @A Former User
                    last edited by 8 Jun 2020, 02:27

                    @bearer I didn't try that. I did try some other delimeters with no positive impact. I've been working with this stuff for a loooonnnnngg time and I also have another 100 ideas. Just time limited 🙂

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      jrwaters2
                      last edited by 8 Jun 2020, 02:27

                      And yes, external tools works fine. Its only internal tools that don't.

                      1 Reply Last reply Reply Quote 0
                      18 out of 18
                      • First post
                        18/18
                        Last post
                      Unless otherwise noted, all forum content is licensed under CC-BY-SA