Go Down

Topic: dumpear la flash del atmega.(probado) (Read 2663 times) previous topic - next topic

Jan 30, 2012, 11:34 pm Last Edit: Feb 01, 2012, 02:38 am by donrodrigo Reason: 1
¿ 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.


Igor R

#2
Feb 05, 2012, 03:06 am Last Edit: Feb 05, 2012, 03:18 am by Igor R Reason: 1
Puedes poner el link a este post en el playground en español? Seguro que viene bien tener este post a mano...
Gracias!
;)

http://arduino.cc/playground/Es/FAQ  (es editable por cualquiera).

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.....  :smiley-eek-blue:

flico


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.....  :smiley-eek-blue:


No lo conozco
Trabajando en ...

    * Control Domotico (En montaje ...)
    http://casitadomotica.blogspot.com/
 

[url=https://bitbucket.org/fmalpartida

¿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.

Valen

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

SrDonGato

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

un saludo

Valen

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



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.....  :smiley-eek-blue:


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?
Trabajando en ...

    * Control Domotico (En montaje ...)
    http://casitadomotica.blogspot.com/
 

[url=https://bitbucket.org/fmalpartida

flico

Trabajando en ...

    * Control Domotico (En montaje ...)
    http://casitadomotica.blogspot.com/
 

[url=https://bitbucket.org/fmalpartida

chiva

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:

Code: [Select]
-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: http://www.nongnu.org/avrdude/user-manual/avrdude_4.html
Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

flico

Trabajando en ...

    * Control Domotico (En montaje ...)
    http://casitadomotica.blogspot.com/
 

[url=https://bitbucket.org/fmalpartida

Valen

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.


Go Up