# Why do we need to use avr-objcopy after avr-as?

New to assembly, I'm surprised to see that we need to use avr-objcopy after invoking avr-as, in order to obtain an Intel Hex file, so where does this come from ?

• Posting the full commands including flags might help. Are you using avr-objcopy to create an Intel Hex file from the executable, for download? Jun 9, 2015 at 21:22

The *-as is the GNU Assembler utility, used to produce binary object files *.o. This format is incompatible with the Intel Hex format, which is basically plain text file, containing the binary data encoded with its textual representation. objcopy is capable of extracting the binary information in one format and translating it to another. And it is what it does.