Arduino, codigo máquina y AVR (dudas)

Buenos Días, en este, mi primer post, apoyar y agradecer a toda la comunidad tan preciada labor de difusión.
Soy Ente, de Valencia, Técnico de Electrónica (antigua FP en España), y desde siempre me ha gustado los micros la programación.

Tengo, varios proyectos, y creo que Atmega es el micro que necesito.
A continuación, mis dudas:

  • Los Programas generados con el sketch (actualmente uso la versión 018, para linux ubuntu), en que lenguaje es?
    supongo que es el Código Máquina ¿o es C?

  • Si es el Código Maquina, ¿se puede cargar directamente al ATmega por ISP O necesita tener cargado el bootloader?

  • El Codigo Máquina resultante podria ser usado, no solo en los Arduino, sino con ligeros retoques, en cualkier micro AVR.

  • Y por último, ¿como se consigue que el sketch te genere el código hex, sin tener que cargarlo en el Arduino? Me explico, cuando tienes el archivo.pde lo salvo, y despues cuando le doy al botón upload, responde: "avrdude: stk500_recv(): programmer is not responding"

Yo no tengo ningún stk500 conectado, ni ningún Arduino. y tengo seleccionado el COM1 como salida.

¿Se puedo conseguir que genere el archivo .hex sin necesidad de tener que cargarlo?

Gracias por vuestra atención,
y si necesitais algo de mi, pues ya me lo decís.

Ente V. S.

Lo que produce el ide al compilar, es un archivo hexadecimal, el código máquina también se necesita pasar a hex, ya que es lo que usa el micro.

El bootloader lo que hace es eliminar la necesidad de programador, si tienes uno de los controladores compatibles con arduino, puedes grabar el hex con un programador tranquilamente y hará exactamente lo mismo.

El código máquina como he dicho antes, se puede usar en cualquiera de los controladores que lleven las placas de Arduino, tan sólo deberás seleccionar la placa en el IDE que sea la correspondiente a la que lleve el chip al que quieres poner el programa.
También se podrían usar chip similares, deberán usar las mismas instrucciones y tener al menos las funciones que quieras usar del Arduino (ej. I2C).

Para que genere el hex, sólo tienes que darle al botón de 'Play' o al de descargar el código al Arduino (aunque no haya ninguno conectado y de error), si quieres saber en que carpeta lo crea, mantén pulsado shift/mayus mientras le das al 'Play' y te saldrá.

Un saludo