Generating PanelDue - no .bin file issue
-
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
-
@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 runcommand2
ifcommand1
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
andfalse
are just commands that return 0 and 1 respectively) -
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 (?).
-
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.
-
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.
-
@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?
-
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.
-
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.
-
@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
-
And yes, external tools works fine. Its only internal tools that don't.