# Solucion: "efuse" memory type not defined for part "ATmega8" con ArduinoISP



## gustavo (Jul 1, 2015)

Hola a toda la gente de la comunidad, espero que se encuentren muy bien. Hace muchisimo tiempo sigo los temas de este foro y hoy me gustaria compartir algo que quizas a mas de uno como yo, que este empezando a programar con Arduino, le pueda llegar a servir.

Viendome en la necesidad de utilizar mi *Arduino Uno* como programador ISP para grabar mis sketchs en un *Atmega8*, me encontre con un error el cual no hay casi nada (por no decir nada) de informacion en la red. Este error *"efuse" memory type not defined for part "ATmega8"* se genera cuando se intenta cargar el bootloader en el Atmega8 a traves del ArduinoISP y es por eso que me gustaria mostrarles como pude solucionar este problema.

Lo primero que debemos hacer es conectar nuestro Arduino Uno a la PC y abrir el IDE-Arduino.
Una vez abierto el IDE, hacemos click en *Archivo>Ejemplos>ArduinoISP*. Despues de haber seleccionado la opcion ArduinoISP se abrira la siguiente ventana:











Ahora nos vamos a *Programa>Subir*. Esperamos a que nuestro IDE grabe el archivo que seleccionamos y una vez que nos indique que ya esta subido, hemos convertido nuestro arduino en un programador ISP.
Lo siguiente sera desconectar nuestro Arduino y realizar las conexiones para grabar el bootloader en el Atmega8. En la siguiente imagen les dejo un esquema el cual utilizo para programar mis Atmega8








Una vez realizada la conexion en nuestra protoboard junto con nuestro ArduinoISP. Volvemos a conectarlo a la PC y vamos a seleccionar algunas opciones del menu Herramientas. 

Lo primero es hacer click en:
*Herramientas>Placa>Arduino NG or older*. 

Una vez seleccionado, hacemos el segundo paso: 
*Herramientas>Procesador>Atmega8* 

y nuestra ultima opcion:
*Herramientas>Programador>Arduino As ISP*

Por favor, verifiquen tambien en *Herramientas>Puerto* si se encuentre seleccionado.

Hasta este instante se puede decir que podriamos realizar la carga del bootloader a nuestro Atmega8, pero cuando hacemos click en *Herramientas>Quemar Bootloader* nos aparace el siguiente error en el IDE:










Para solucionar este problema tenemos que buscar el archivo *platform.txt* el cual es necesario que lo editen con el Notepad++ o algun otro editor de texto que no sea el de Windows. Yo lo hice desde el Notepad++ y lo pueden descargar desde su web oficial:

https://notepad-plus-plus.org/download/v6.7.9.2.html

La ubicacion de este archivo es la siguiente (En mi caso): *C:\Program Files\Arduino\hardware\arduino\avr*. Una vez hallado, damos click derecho y edit with Notepad++ 










Si ya hemos abierto el archivo en Notepad++, tendremos que buscar la seccion que dice *# AVR Uploader/Programmers tools* y en esa seccion buscamos la linea *-Uefuse: w: {bootloader.extended_fuses}: m*  y la *¡ELIMINAMOS!*.





> # Arduino AVR Core and platform.
> # ------------------------------
> #
> # For more info:
> ...





*Sin editar:*



> tools.avrdude.erase.params.verbose=-v
> tools.avrdude.erase.params.quiet=-q -q
> tools.avrdude.erase.pattern="{cmd.path}" "-C{config.path}" {erase.verbose} -p{build.mcu} -c{protocol} {program.extra_params} -e -Ulock:w:{bootloader.unlock_bits}:m *-Uefuse: w: {bootloader.extended_fuses}: m* -Uhfuse:w:{bootloader.high_fuses}:m -Ulfuse:w:{bootloader.low_fuses}:m




*Archivo una vez editado:*



> tools.avrdude.erase.params.verbose=-v
> tools.avrdude.erase.params.quiet=-q -q
> tools.avrdude.erase.pattern="{cmd.path}" "-C{config.path}" {erase.verbose} -p{build.mcu} -c{protocol} {program.extra_params} -e -Ulock:w:{bootloader.unlock_bits}:m -Uhfuse:w:{bootloader.high_fuses}:m -Ulfuse:w:{bootloader.low_fuses}:m





Una vez eliminada esa parte, guardamos el archivo y cerramos Notepad++. Ahora si podremos reintentar grabar el bootloader en nuestro Atmega8, asi que nos dirigimos nuevamente a *Herramientas>Quemar Bootloader* y esperamos a que el IDE lo cargue, el led indicador debe parpadear y despues quedar fijo unos segundos hasta apagarse. Una vez apagado quiere decir que ya esta grabado. 








Una vez grabado, nuestro Atemga8 ya se encuentra listo para cargar los skectchs que realicemos!
Espero que les sirva de ayuda para todos los que quieran realizar distintos proyecto y que si tienen alguna duda la podamos debatir por este medio. Saludo muy grande a todos!

Gustavo


----------

