• 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
885
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
    mhackney
    last edited by 31 Jul 2019, 14:09

    Yesterday I setup a dev environment as per the BuildInstructions at https://github.com/dc42/PanelDueFirmware/blob/master/BuildInstructions.md

    I select the Release-5.0i-7.0i version to build. Build goes without errors and I end up with a Release-5.0i-7.0i directory that contains a src/ and PanelDue-5.0i-7.0i.elf and .map files but no .bin file.

    I've searched here but the posts I've found don't solve my issue. I did install eclipse and the source tree exactly as described in the build instructions so my paths should all be correct. I'm using the internal builder. I verified that the paths to the splash screens are correct. No problems were reported when the build completed. How can I generate the .bin file?

    cheers,
    Michael

    My 3D Printing blog: http://www.sublimelayers.com
    Coming this summer: "3D Printing Strategies - the art of perfecting your designs and prints"

    1 Reply Last reply Reply Quote 0
    • undefined
      mhackney
      last edited by 31 Jul 2019, 15:11

      It seems like the post-build step is not being executed. I've looked in the log files and see no traces of it and nothing shows up on the build console. I'm not an Eclipse user so I'm not sure how to debug this.

      My 3D Printing blog: http://www.sublimelayers.com
      Coming this summer: "3D Printing Strategies - the art of perfecting your designs and prints"

      1 Reply Last reply Reply Quote 0
      • undefined
        mhackney
        last edited by 31 Jul 2019, 16:57

        So I copied the command for the post-build step and replaced the symbols with wired paths and ran it from a shell. This worked fine and I got a .bin file. I haven't flashed it to test yet but at least that part worked. Now the question is, why isn't it working from Eclipse?

        My 3D Printing blog: http://www.sublimelayers.com
        Coming this summer: "3D Printing Strategies - the art of perfecting your designs and prints"

        1 Reply Last reply Reply Quote 0
        • undefined
          gtj0
          last edited by 31 Jul 2019, 17:47

          Are you building on Windows, Linux or MacOS?

          1 Reply Last reply Reply Quote 0
          • undefined
            mhackney
            last edited by 31 Jul 2019, 18:25

            Building on Windows 10 as per the build instructions.

            My 3D Printing blog: http://www.sublimelayers.com
            Coming this summer: "3D Printing Strategies - the art of perfecting your designs and prints"

            1 Reply Last reply Reply Quote 0
            • undefined
              mhackney
              last edited by 31 Jul 2019, 18:30

              So, I am able to flash the firmware to the PanelDue. If I build with -nologo the PanelkDue boots without showing the splash. If I build with a splash screen it shows that splash. I mention this because it verifies that I am building and successfully running my .bin file. However, none of the changes I've made to the sources show up.

              first I tried changing the nozzle 1 icon (both the 22 and 30 pix high versions) simply by filling in the number. Clean, build, deploy, and the new icon does not show up.

              So I edited the STOP string to STOP in Strings.hpp. clean, build, deploy and again, nothing changes on the paneldue.

              Any suggestions? I see that the .o files are all correctly time stamped for a clean build as are the .elf and .bin files.

              My 3D Printing blog: http://www.sublimelayers.com
              Coming this summer: "3D Printing Strategies - the art of perfecting your designs and prints"

              1 Reply Last reply Reply Quote 0
              • undefined
                mhackney
                last edited by 31 Jul 2019, 20:10

                Now I've replaced the splash screen so I know I am building and deploying but none of the UI tweaks I mentioned above are showing up on the panel, Very odd.

                For now, I'm just running the .elf to .bin utility from a batch file. I still don't know why Eclipse is not running the post -build step.

                My 3D Printing blog: http://www.sublimelayers.com
                Coming this summer: "3D Printing Strategies - the art of perfecting your designs and prints"

                1 Reply Last reply Reply Quote 0
                • undefined
                  gorf26
                  last edited by 31 Jul 2019, 20:37

                  Not sure if you find the same thing I am finding.

                  But I would compile the paneldue and I received no error's.
                  but when I would look in the release folder form inside eclipse
                  it would not show any .bin files I thought it didn't compile but when I used the file explorer
                  and searched the directory they were there...

                  1 Reply Last reply Reply Quote 0
                  • 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
                                      • First post
                                        Last post
                                      Unless otherwise noted, all forum content is licensed under CC-BY-SA