¿Cómo crear Intel hex para programar una memoria EEPROM?
Resultados 1 al 6 de 6

Tema: ¿Cómo crear Intel hex para programar una memoria EEPROM?

  1. #1
    Pajarito Nuevo
    Fecha de ingreso
    05 Dec, 18
    Mensajes
    2

    ¿Cómo crear Intel hex para programar una memoria EEPROM?

    Bueno, pues tengo que hacer un archivo hex con el formato Intel Hex para programar una memoria EEPROM, pero, ¿cómo tengo que poner los datos? Es para implementar un circuito secuencial, y tengo mi tabla de verdad con las entradas y las salidas, y sus ecuaciones simplificadas. ¿De qué forma paso esto a hexadecimal para crear el archivo .hex? Creo que solo me falta saber cómo pasar los bytes de datos, los que indican longitud, posición y tipo de campo ya sé más o menos hacerlo.

    Y tras eso, ¿cómo sé en el chip (memoria EEPROM tipo SST39SF040 de SST) cuáles son las entradas y cuáles son las salidas?

    No sé si se entiendo lo que quiero decir, si no preguntadme y a ver si puedo explicarlo mejor.

  2. #2
    Scavenger Avatar de SDogo
    Fecha de ingreso
    16 Apr, 11
    Ubicación
    Valpo city
    Mensajes
    768

    Re: ¿Cómo crear Intel hex para programar una memoria EEPROM?

    Realmente no te entendi mucho. Pero si quieres tirar cualquier cosa a una eeprom necesitas un programador. Para saber cuales son los pines, mira el datasheet de la memoria (http://ww1.microchip.com/downloads/e.../20005022C.pdf).

    Una eeprom (en este caso una flash) es una simple memoria que vee todo como un stream de datos. La misma no vee ningun tipo de dato o largo de las variables que alli guardes. Todo eso se hace por el lado del firmware que implementes para leer/escribir la memoria.

    Ignoro que planeas hacer o como vayas a usar la flash, pero el formato hex intel bajo avr es mas o menos asi:
    :[DIRECCION_DE_LOS_DATOS][DATOS][CRC8(DIRECCION+DATOS)]
    ej:
    :20000000E41BBF800100CD00D42BBF800100B700FE01BF800 100B0009C63BF800100B600FA
    Direccion: 20000000
    Datos: E41BBF800100CD00D42BBF800100B700FE01BF800100B0009C 63BF800100B600
    CRC8: FA

    Y se repite hasta hasta completar el tamaño completo de la memoria.
    MSI 970A-G46
    AMD FX 6300 Black Edition
    14GB DDR3 1600
    AMD Radeon HD7850
    CM GX450W 80Plus Bronce
    CM HAF932 AMD Edition
    [email protected]

  3. #3
    Pajarito Nuevo
    Fecha de ingreso
    05 Dec, 18
    Mensajes
    2

    Re: ¿Cómo crear Intel hex para programar una memoria EEPROM?

    Cita Iniciado por SDogo Ver mensaje
    Realmente no te entendi mucho. Pero si quieres tirar cualquier cosa a una eeprom necesitas un programador. Para saber cuales son los pines, mira el datasheet de la memoria (http://ww1.microchip.com/downloads/e.../20005022C.pdf).

    Una eeprom (en este caso una flash) es una simple memoria que vee todo como un stream de datos. La misma no vee ningun tipo de dato o largo de las variables que alli guardes. Todo eso se hace por el lado del firmware que implementes para leer/escribir la memoria.

    Ignoro que planeas hacer o como vayas a usar la flash, pero el formato hex intel bajo avr es mas o menos asi:
    :[DIRECCION_DE_LOS_DATOS][DATOS][CRC8(DIRECCION+DATOS)]
    ej:
    :20000000E41BBF800100CD00D42BBF800100B700FE01BF800 100B0009C63BF800100B600FA
    Direccion: 20000000
    Datos: E41BBF800100CD00D42BBF800100B700FE01BF800100B0009C 63BF800100B600
    CRC8: FA

    Y se repite hasta hasta completar el tamaño completo de la memoria.
    Bueno, es un problema más bien teórico.

    Lo que quiero es implementar un circuito secuencial, como entrada sus estados iniciales y entradas, y como salida los estados siguientes y las salidas. Tengo la tabla de verdad del circuito y cada salida con sus respectivas ecuaciones.

    Los pines de la memoria ya los he mirado y tengo guardado cómo están ordenados, y el programador se podría decir que también lo tengo.

    Los 6 primeros caracteres del Intel hex (longitud, dirección y tipo de campo) ya los entiendo más o menos, lo único que me falta por entender es cómo poner los datos, creo que es esto que pusiste exactamente:

    Datos: E41BBF800100CD00D42BBF800100B700FE01BF800100B0009C 63BF800100B600
    ¿Qué hago? ¿Paso cada función (salida) desde la tabla de verdad de binario a hexadecimal? ¿Tengo que poner un campo por cada salida? ¿Cómo sé luego al montar el circuito cuál pin es cada entrada y cada salida?

    Espero que así me entiendas mejor.

  4. #4
    :) La papa
    Avatar de PHLAKO
    Fecha de ingreso
    11 May, 06
    Mensajes
    1,403

    Re: ¿Cómo crear Intel hex para programar una memoria EEPROM?

    No me quedo claro que es lo que deseas hacer con la memoria. Una memoria, por si sola, no tiene una entrada y salida, tal y como comentas. Una memoria solo dispone de un "canal" para enviar comandos, datos que van a ser leídos/escritos y direcciones donde irán los datos. Si quieres tener un dispositivo que al ingresar un dato por un lado y salga otro distinto, por otro lado, no lo puedes hacer solo con una memoria, la memoria, solo se puede leer y escribir, pero necesitas de otro dispositivo que la lea y escriba.
    salu2
    chaos

    SIEMPRE TE RECORDARE AMADO Y FIEL COMPAÑERO "LOBO"

  5. #5
    Scavenger Avatar de SDogo
    Fecha de ingreso
    16 Apr, 11
    Ubicación
    Valpo city
    Mensajes
    768

    Re: ¿Cómo crear Intel hex para programar una memoria EEPROM?

    Lo que vas a meter en el campo de datos depende de la arquitectura del micro que estes usando para leer/escribir esa memoria.
    En el caso de avr (uso avr como ejemplo ya que es lo mas facil de conseguir y disponible en todas partes). Debes ver segun el lenguaje que uses, la cantidad de bytes que usa cada variable y luego convertir ese array de bytes a hexa segun el formato endian que use tu micro (en el caso de avr little endian).

    Solo como referencia. En avr los integer usan 2 bytes, los long usan 4 bytes, y los char 1 byte (creeme que es un cacho epico optimizar una estructura de datos para aprovechar cada byte cuando tienes una memoria tan limitada.. lo he hecho, y no es nada divertido)

    Como dije anteriormente (y como lo dijo phlako tambien). La memoria solo se usa para guardar datos. Si luego quieres hacer algo con esos datos (configurar algo?), tendrias que usar un mcu que haga algo con esos datos.
    MSI 970A-G46
    AMD FX 6300 Black Edition
    14GB DDR3 1600
    AMD Radeon HD7850
    CM GX450W 80Plus Bronce
    CM HAF932 AMD Edition
    [email protected]

  6. #6
    guruguru
    Avatar de Kensho
    Fecha de ingreso
    16 Aug, 06
    Ubicación
    En este cuerpo que me contiene.
    Mensajes
    6,233

    Re: ¿Cómo crear Intel hex para programar una memoria EEPROM?

    esto o naq ers?



    17:04
    A los que contemplan la luna las nubes a veces ofrecen una pausa. ¯\_(ツ)_/¯
    Cita Iniciado por kermit Ver mensaje
    esta prohibido alabar a kensho, ban

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
*