Autor Tema: Se puede escribir en la memoria de programa  (Leído 2795 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado CDC

  • PIC10
  • *
  • Mensajes: 21
Se puede escribir en la memoria de programa
« en: 27 de Abril de 2007, 00:56:48 »
Cuando un programa se esta ejecutando en un pic, puede escribir en la memoria de programa (flash), no se si me explico
Tengo un 16F628 y con el programa ya cargado quedan libre como 1500 posiciones libres de memoria flash para usar además de la RAM y la EEPROM quería saber si se podía usar estas para datos variables
He estado pensando como hacerlo pero si sigo me explota la neurona, y quien sabe con los maestros de la robopictecnia capaz saben alguna forma :mrgreen:
Saludos a todos

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Se puede escribir en la memoria de programa
« Respuesta #1 en: 27 de Abril de 2007, 01:41:29 »
Sí que se puede; de hecho es lo que hacen los "bootloaders". No estoy seguro que se pueda en todos los modelos de PIC, y tampoco en el que tú indicas.

Para hacerlo, el compilador CCS nos ofrece las instrucciones write_program_eeprom (address, data) y read_program_eeprom(address)

Desconectado CDC

  • PIC10
  • *
  • Mensajes: 21
Re: Se puede escribir en la memoria de programa
« Respuesta #2 en: 27 de Abril de 2007, 21:47:32 »
Gracias Nocturno por tu orientación ahora me pongo a buscar sobre el tema bootladers que la verdad no tenia idea por donde empezar
Que manera de aprender...
Como dijese un gran filosofo “mientras mas sé, solo sé que menos sé”
 :?

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Se puede escribir en la memoria de programa
« Respuesta #3 en: 30 de Abril de 2007, 08:35:32 »
Cuando un programa se esta ejecutando en un pic, puede escribir en la memoria de programa (flash), no se si me explico

Algunos PICs pueden y otros NO.  Dentro de los que pueden, no todos son iguales.  Algunos por ejemplo pueden autoescribirse decenas de miles de veces, otros solo 1000 veces.

Otros se escriben en bloques de 8 bytes, otros de 1 byte, otros en bloques de 64 bytes y otros borran de a 512 bytes por vez, por más que puedan escribir de a 64. 

Todo eso conlleva a que los bootloaders, como bien te ha sugerido Nocturno, deban estar muy bien armados para cada tipo de pic y no existe un bootloader que sea genérico para cada pic/familia.

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Se puede escribir en la memoria de programa
« Respuesta #4 en: 16 de Mayo de 2007, 21:22:19 »
Se usa write_program_eeprom() o write_program_memory() ??? 

Yo estoy usando este ultimo recien, pero me surge una duda un el 3er argumento q pide, que es el COUNT. Haber si alguien me dice q tengo q poner ahi y porque  :-)

Ah! y cual es la diferencia entre estas 2 funciones ?? Lo q quiero es grabar en la memoria libre que me queda en el PIC, que son sus 10000 masomenos  :lol:


Salu2 8) 8)

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Se puede escribir en la memoria de programa
« Respuesta #5 en: 17 de Mayo de 2007, 00:39:49 »
el 628A no tiene la capacidad de modificar o escribir en su memoria de programa.
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com


 

anything