SW500009 Microchip Technology, SW500009 Datasheet - Page 48

HI-TECH FOR DSPIC/PIC24

SW500009

Manufacturer Part Number
SW500009
Description
HI-TECH FOR DSPIC/PIC24
Manufacturer
Microchip Technology
Type
Compilerr
Series
PIC24 & DsPICr
Datasheet

Specifications of SW500009

Supported Families
PIC24
Core Architecture
PIC, DsPIC
Software Edition
Standard
Kit Contents
Software And Docs
Tool Type
Compiler
Mcu Supported Families
PIC24 MCUs And DsPIC DSCs
Lead Free Status / RoHS Status
Not applicable / RoHS Compliant
For Use With/related Products
DSPIC3X/PIC24
Lead Free Status / Rohs Status
Lead free / RoHS Compliant
Other names
025
778-1003
778-1003
Processor-related Features
Be aware that if a program contains multiple instances of either macro, any code space saving will
be negated as the full content of the macro is now duplicated in code space.
rom_read(), this macro does not wait for any concurrent EEPROM writes to complete before pro-
ceeding to select and read EEPROM. Had the previous example used the EEPROM_READ() macro
in place of eeprom_read() the operation would have failed. If it cannot be guarenteed that all writes
to EEPROM have completed at the time of calling EEPROM_READ(), the appropriate flag should
be polled prior to executing EEPROM_READ(). For example:
3.2.6 Flash Runtime Access
HI-TECH PICC STD provides a number of methods to access the contents of program memory at
runtime. Particular care must be taken when modifying the contents of program memory. If the
location being modified is that which is currently being executed or you’ve accidentally selected a
region of your executable code for use as non-volatile storage, the result could be disaterous so take
care.
step will be performed internally by the compiler within the access routine and does not need to be
implemented as a separate stage. Data within the same flash erasure block that is unrelated to the
write operation will be backed up before the block is erased and restored after the erasure.
3.2.6.1 Flash Access Macros
Similar to the EEPROM read/write routines described above, there are equivalent Flash memory
routines. For example, to write a byte-sized value to an address in flash memory:
To read a byte of data from an address in flash memory, and store it in a variable:
34
In the case of EEPROM_READ(), there is another very important detail to note. Unlike eep-
For those devices requiring a flash erasure operation be performed prior to writing to flash, this
#include <htc.h>
void eetest(void){
}
FLASH_WRITE(address,value);
variable=FLASH_READ(address);
unsigned char value = 1;
unsigned char address = 0;
EEPROM_WRITE(address,value); // Initiate writing value to address
while(WR) continue; // wait for end-of-write before EEPROM_READ
value = EEPROM_READ(address); // read from EEPROM at address
C Language Features

Related parts for SW500009