Saludos amigos, tengo una duda de como puedo inicializar la EEPROM con valores determinados para que luego estos se carguen a mi RAM. Me explico en la familia PIC16F se colocaba la dirección ORG 0x2100 y se definian los datos a grabar en la EEPROM y estos se graban de forma secuencial (uno tras otro). Este mismo procedimiento aplico al PIC18F pero con la siguiente dirección ORG 0xF00000 pero la data no se guarda secuencialmente... estuve revisando unos manuales del MPLAB donde mencionan de crear OBJETOS para poder realizar esto, sinceramente no doy con el asunto.
Pongo un pequeño fragmento de la forma que programo la EEPROM:
Codigo:
;###########################################################################
; DEFINICION DE EEPROM
;###########################################################################
ORG 0XF00000
DE 0X12,0X34,0X56,0X78
DE 0X9F,0XE1,0X08
DE 0X00,0x01
DE 0XFF,0XFF,0XFF
DE 0XFF,0XFF,0XFF
Al verificar lo programado en la EEPROM aparece lo siguiente:
0X12,0X34,0X56,0X78
0X9F,0XE1,0X08,0x00
0X00,0x01
0XFF,0XFF,0XFF,0x00
0XFF,0XFF,0XFF,,0x00
como podrán observar lo que está en negrita es lo que se agrega sin que yo se lo indique.
Gracias por la ayuda que me puedan ofrecer, por cierto programo en ASM.
Gracias por responder Modulay, te comento que ya probe esa directiva y me sucede lo mismo. Estuve revisando el HELPTOPICSLANGUAGE TOOLSMPASM ASSEMBLER del MPLAB, espec�ficamente la directiva DE y dice lo siguiente:
Codigo:
de - Declare EEPROM Data Byte
Syntax
[label] de expr [, expr, ..., expr]
Description
de - Data EEPROM.
This directive can be used at any location for any processor.
For PIC18 devices, reserve memory word bytes are packed. If an odd number of bytes is specified, a 0 will be added unless in a code_pack section. See the description for code_pack for more infomation.
For all other PICmicro devices, reserve memory words with 8-bit data. Each expr must evaluate to an 8-bit value. The upper bits of the program word are zeroes. Each character in a string is stored in a separate word.
Revisando la siguiente directiva:
Codigo:
code_pack - Begin an Object File Packed Code Section (PIC18 MCUs)
Syntax
[label] code_pack [ROM_address]
Description
This directive declares the beginning of a section of program code or ROM data where a padding byte of zero is not appended to an odd number of bytes. If label is not specified, the section is named .code. The starting address is initialized to ROM_address or will be assigned at link time if no address is specified. If ROM_address is specified, it must be word-aligned. If padded data is desired, use db.
Usage
This directive is used in the following types of code: relocatable. For information on types of code, see Assembler Operation.
This directive is commonly used when storing data into program memory (use with db) or the EEPROM data memory (use with de) of a PIC18 device.
me sale el siguiente error a la hora de compilar:
Error[149] Directive only allowed when generating an object file
Por favor si tuvieras alguna idea de generar OBJECT FILES te agradecerÃa... cualquier otro miembro que me pueda colaborar con alguna idea, será bien recivida