删除 XC8Memory.c
This commit is contained in:
134
XC8Memory.c
134
XC8Memory.c
@@ -1,134 +0,0 @@
|
||||
//****************************************************************************
|
||||
// File Name XC8Memory.c
|
||||
//----------------------------------------------------------------------------
|
||||
// Derivatives Infineon XC88x AA and AB
|
||||
//
|
||||
// Description Sets of function to handle the memory in the XC88x AA.
|
||||
// In particular, the Flash handling is taken care of here.
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
// Date 14.03.2006 10:48:38
|
||||
// Copyright (c) 2006 Infineon Technologies
|
||||
//****************************************************************************
|
||||
|
||||
#include "XC8Memory.h"
|
||||
|
||||
/*
|
||||
// **************************************************************************
|
||||
// Function Name: void LoadXD2WLBuf (unsigned char xdata *address)
|
||||
// Description: Load 32byte of data from the XDATA to the WLBuf
|
||||
// WLBuf is a buffer that is located in the IDATA-space
|
||||
// Input Parameter: *address ==> pointer to the address
|
||||
// in the XDATA memory
|
||||
// Output Parameter: none
|
||||
|
||||
// NOTE: Execution time and code can saved,
|
||||
// if you have the possibility to write directly in
|
||||
// the buffer
|
||||
// **************************************************************************
|
||||
void LoadXD2WLBuf(unsigned char xdata *address)
|
||||
{
|
||||
// Loads Wordline Buffer with 32bytes from given address in XDATA
|
||||
unsigned char i;
|
||||
for (i=0; i<BYTES_PER_WORDLINE; i++) {WLBuf[i] = *address++;}
|
||||
}
|
||||
|
||||
// ***********************************************************************
|
||||
// Function Name: void LoadConst2WLBuf (unsigned char code *address)
|
||||
// Description: Load 32byte of data from the CODE to the WLBuf
|
||||
// WLBuf is a buffer that is located in the IDATA-space
|
||||
// This is used to copy data from one Flash location to another.
|
||||
// Input Parameter: *address ==> pointer to the address
|
||||
// in the CODE memory
|
||||
// Output Parameter: none
|
||||
|
||||
// NOTE: Execution time and code can saved,
|
||||
// if you have the possibility to write directly in
|
||||
// the buffer
|
||||
// ***********************************************************************
|
||||
void LoadConst2WLBuf(unsigned char code *address)
|
||||
{
|
||||
// Loads Wordline Buffer with 32bytes from given address in CODE
|
||||
unsigned char i;
|
||||
for (i=0; i<BYTES_PER_WORDLINE; i++)
|
||||
{ WLBuf[i] = *address++;
|
||||
}
|
||||
}
|
||||
|
||||
// **************************************************************************************
|
||||
// Function Name: bit ProgWL (unsigned char code *AdrBnkXSecYWLZ)
|
||||
// Description: Program the data from the WLBuf to the location in the Flash
|
||||
// which is pointed by *AdrBnkXSecYWLZ
|
||||
// Input Parameter: *AdrBnkXSecYWLZ ==> pointer to the location in the FLASH.
|
||||
// The address must be aligned to a 32byte boundary
|
||||
// Output Parameter: 1 = Success
|
||||
// 0 = Fail
|
||||
// Note: used Stack Size = 12
|
||||
// **************************************************************************************
|
||||
bit ProgWL(unsigned char code *AdrBnkXSecYWLZ)
|
||||
{
|
||||
unsigned int i;
|
||||
i = AdrBnkXSecYWLZ;
|
||||
MEM_DPH = i>>8;
|
||||
MEM_DPL = i;
|
||||
return (FlProg(&WLBuf[0]));
|
||||
}
|
||||
|
||||
// *************************************************************************************
|
||||
// Function Name: void LoadConst2XD (unsigned char xdata *dstaddress,
|
||||
// unsigned char code *srcaddress, unsigned int length)
|
||||
// Description: Copy the data from the CODE memory to XDATA memory
|
||||
// Input Parameter: *srcaddress ==> pointer to the location in the FLASH/EEPROM.
|
||||
// lenght ==> The number of byte to be copied
|
||||
// Output Parameter: *dstaddress ==> pointer to the location in the XDATA memory.
|
||||
// The data will be copied to this location
|
||||
|
||||
// NOTE: Execution time and code can saved,
|
||||
// if you have the possibility to write directly in
|
||||
// the buffer
|
||||
// *************************************************************************************
|
||||
void LoadConst2XD(unsigned char xdata *dstaddress, unsigned char code *srcaddress, unsigned char length)
|
||||
{
|
||||
// Loads number of constants to XDATA at given addresses
|
||||
unsigned char i;
|
||||
for (i=0; i<length; i++)
|
||||
{ *dstaddress++ = *srcaddress++;
|
||||
}
|
||||
}
|
||||
|
||||
// *************************************************************************************
|
||||
// Function Name: void LoadXD2XD (unsigned char xdata *dstaddress,
|
||||
// unsigned char xdata *srcaddress, unsigned int length)
|
||||
// Description: Copy the data from the XDATA memory to XDATA memory
|
||||
// Input Parameter: *srcaddress ==> pointer to the location in the XDATA memory.
|
||||
// No byte alignment is necessary
|
||||
// lenght ==> The number of byte to be copied
|
||||
// Output Parameter: *dstaddress ==> pointer to the location in the XDATA memory.
|
||||
// The data will be copied to this location
|
||||
//
|
||||
// NOTE: Execution time and code can saved,
|
||||
// if you have the possibility to write directly in
|
||||
// the buffer
|
||||
// *************************************************************************************
|
||||
void LoadXD2XD(unsigned char xdata *dstaddress, unsigned char xdata *srcaddress, unsigned int length)
|
||||
{
|
||||
// Copies number of bytes in XDATA to XDATA at given addresses
|
||||
unsigned int i;
|
||||
for (i=0; i<length; i++)
|
||||
{ *dstaddress++ = *srcaddress++;
|
||||
}
|
||||
}
|
||||
|
||||
// *************************************************************************************
|
||||
// Function Name: unsigned char ReadConst (unsigned char code *address)
|
||||
// Description: Read from CODE memory
|
||||
// Input Parameter: *address ==> pointer to the location in the CODE memory.
|
||||
// No byte alignment is necessary
|
||||
// Return Value: Data Byte
|
||||
// *************************************************************************************
|
||||
unsigned char ReadConst(unsigned char code *address)
|
||||
{
|
||||
return (*address);
|
||||
}
|
||||
|
||||
*/
|
||||
Reference in New Issue
Block a user