Criar arquivos objeto e licenciamento

Em compiladores C/C++ podemos compilar partes do programa separadamente em arquivos objeto, que depois são linkados para forma uma aplicação. Como criar e linkar arquivos objeto no Arduino ? Caso eu crie uma biblioteca para o Arduino e compile em arquivos objeto, eu preciso disponibilizar tais arquivos livremente ? No Faq está:

Deriving the design of a commercial product from the Eagle files for an Arduino board requires you to release the modified files under the same Creative Commons Attribution Share-Alike license. You may manufacture and sell the resulting product. - Using the Arduino core and libraries for the firmware of a commercial product does not require you to release the source code for the firmware. The LGPL does, however, require you to make available object files that allow for the relinking of the firmware against updated versions of the Arduino core and libraries. Any modifications to the core and libraries must be released under the LGPL.

Se eu criar uma placa com base no Arduino (usando a mesma eletrônica), mas que tem um layout diferente e não é destinada à prototipagem, mas sim à automação, ela é considerada uma criação derivada, exigindo que eu disponibilize os arquivos Eagle ? O que seriam esses arquivos Eagle ? Seriam o mesmo que arquivos gerber ? Se eu criar um sistema usando as bibliotecas Arduino, preciso disponibilizar os arquivos objeto para que qualquer pessoa utilize o firmware do sistema ?

As respostas às perguntas estão no texto que partilha, por isso não sei o que quer que lhe diga. Os ficheiros Eagle são os ficheiros do projecto que dá origem aos gerber, não os gerber. Eagle é um software de desenvolvimento de placas de circuito impresso, como pode ser o OrCAD ou o Altium.

A resposta para ambas as questoes e sim.

Dito isto e sem especificares o ramo de automacao a que te referes, existe pouco do desenho do Arduino que possa ser usado em automacao. Outra coisa a ter em conta e que o Arduino baseado nos ATmega328/168 nao e nada de especial. Eu desenhei uma placa semelhante em 2002 (baseada no ATmega32) que nao era muito diferente do Arduino....

O motivo para isso e que o Arduino e o circuito mais basico que se pode ter num microcontrolador, logo e dificil que uma placa nao tenha parecencas com o circuito deles.

Como eu gero arquivos objeto no Arduino ? No gcc, se usa o comando

gcc -c fonte.c -o prog.o

Boas Talvez isto te possa esclarecer https://www.arduino.cc/en/Hacking/BuildProcess