dumpear la flash del atmega.(probado)

¿ Es posible dumpear al contenido de la flash del atmega mediante avrdude ? Teoricamente "avrdude -p m328p -D -c programador -U flash:r:archivo:i" deberia producir un volcado completo de la flash en un archivo de nombre archivo y formato intel hex sin borrar la memoria. ¿Estoy en lo cierto? ¿Alguien lo ha probado o tiene experiencia?
Gracias y un saludo.

Bueno, pues si se puede. Ya lo he probado. Con avrdude y un programador se puede descargar el hex a un file para poderlo cargar a otro atmega, de hecho se puede clonar desde el bootloader hasta la configuracion de los fuses.

Para el atmega 328p

"avrdude -c nombreprogramador -p m328p -P puerto_programador -U efuse:r:efuse.txt -U hfuse:r:hfuse.txt -U lfuse:r:lfuse.txt" ==> lee valores de los fuses y los salva en sus respectivos files.

"avrdude -c nombreprogramador -p m328p -P puerto_programador -U boot:r:bootloader:i " ==> lee el bootloader y salva en bootloader.hex

"avrdude -c nombreprogramador -p m328p -P puerto_programador -U flash:r:sketch:i " ==> lee la flash desde el lockbit y salva en sketch.hex (corresponde al soft compilado que ejecuta el atmega).

Weno, pos eso. Ya he aprendido algo mas. jijijijiji
Un saludo a todos.

Puedes poner el link a este post en el playground en español? Seguro que viene bien tener este post a mano...
Gracias!
:wink:

Arduino Playground - FAQ (es editable por cualquiera).

Y la pregunta igual de importante, es:

¿Se puede bloquear el volcado del programa del chip?

se trataría de que no te clonen el software, sin tu conocimiento..... :fearful:

Valen:
Y la pregunta igual de importante, es:

¿Se puede bloquear el volcado del programa del chip?

se trataría de que no te clonen el software, sin tu conocimiento..... :fearful:

No lo conozco

¿Como se pone el link a este post en el playground? esto de forear es nuevo para mi...
Y por otro lado no se como se puede bloquear la descarga del programa, supongo que no debe ser posible. De todas formas mirare en el datasheet del atmel por sise pudiera bloquear la lectura de la flash.

Ah, te agradecería que lo mirases, es algo que llevo tiempo dándole vueltas.....

en el capítulo 27 de datasheet del atmega tienes las distintas configuraciones para el acceso a las distintas memorias

un saludo

Ummm.............. por fin lo encontré:

el volcado o el debuggeado, se bloquea así:

http://www.atmel.no/webdoc/atmelstudio/atmelstudio.section.securitybit.html

eso sí, necesitas el compilador AVR Studio (veo que acaba de salir la versión 6.0 a fecha 17-Abril-2010), que además incluye el soporte a chips Atmel, con arquitectura ARM.

También necesitas el programador: Atmel AVRISP mkII In-System Programmer (ATAVRISP2)

http://store.atmel.com/PartDetail.aspx?q=p:10500054

pero son unos 30 eur.

flico:

Valen:
Y la pregunta igual de importante, es:

¿Se puede bloquear el volcado del programa del chip?

se trataría de que no te clonen el software, sin tu conocimiento..... :fearful:

No lo conozco

Pues buscando por google otras cosas encontré un blog en el que venia que con avrdude se puede activar el bit contra lectura.
¿Sabéis si existe algún manual de avrdude?

Lo tenia en favoritos.

http://www.frank-zhao.com/fusecalc/fusecalc.php?chip=atmega328p

El volcar la flash del chip es un tema que se trató el año pasado: http://arduino.cc/forum/index.php/topic,78160.0.html

Según interpreto el datasheet, para proteger el programa hay que seleccionar el modo LB 3, es decir borrar los bits LB0 y LB1 del byte de bloqueo, es decir, los bits 0 y 1, que sería 0xFC.
Habría que añadir el siguiente parámetro a la llamada del avrdude:

-U lock:w:0xFC:m

El problema es que ya no puedes acceder nunca más al micro a menos que hagas un borrado completo, que solo puede hacerse con un programador, cosa que aunque no lo he probado, debería poderse con el usbasp mismo que cuesta 3€.

@flico: AVRDUDE: 2.2 Programmers accepting extended parameters

@Chiva gracias por el link.

Aquí se explica, en español:

http://www.cursomicros.com/avr/arquitectura-de-los-avr/lock-bits.html

A la derecha hay un menú, con muchos otros temas de AVR, en español.

donrodrigo:
¿ Es posible dumpear al contenido de la flash del atmega mediante avrdude ? Teoricamente "avrdude -p m328p -D -c programador -U flash:r:archivo:i" deberia producir un volcado completo de la flash en un archivo de nombre archivo y formato intel hex sin borrar la memoria. ¿Estoy en lo cierto? ¿Alguien lo ha probado o tiene experiencia?
Gracias y un saludo.

Hola, yo quiero hacer lo mismo que tu pero no puedo obtener el .hex de arduino con el avrdudess

Si logras que alguien responda ya que desde el 19-04-2012, 08:10:51 nadie lo hizo nos avisas