aboutsummaryrefslogtreecommitdiffhomepage
path: root/AT91SAM7S256/Source/d_loader.r
diff options
context:
space:
mode:
Diffstat (limited to 'AT91SAM7S256/Source/d_loader.r')
-rw-r--r--AT91SAM7S256/Source/d_loader.r117
1 files changed, 0 insertions, 117 deletions
diff --git a/AT91SAM7S256/Source/d_loader.r b/AT91SAM7S256/Source/d_loader.r
deleted file mode 100644
index 3fb2556..0000000
--- a/AT91SAM7S256/Source/d_loader.r
+++ /dev/null
@@ -1,117 +0,0 @@
-//
-// Date init 14.12.2004
-//
-// Revision date $Date:: 14-11-07 12:40 $
-//
-// Filename $Workfile:: d_loader.r $
-//
-// Version $Revision:: 1 $
-//
-// Archive $Archive:: /LMS2006/Sys01/Main_V02/Firmware/Source/d_load $
-//
-// Platform C
-//
-
-#ifdef SAM7S256
-
-#define AT91C_MC_CORRECT_KEY 0x5A000000L
-
-static ULONG SectorImage[SECTORSIZE>>2];
-
-#define LOADERInit
-
-
-__ramfunc UWORD AT91F_Flash_Ready (void)
-{
- UWORD status;
- status = 0;
-
- //* Wait the end of command
- while ((status & AT91C_MC_FRDY) != AT91C_MC_FRDY )
- {
- status = AT91C_BASE_MC->MC_FSR;
- }
- return status;
-}
-
-__ramfunc UWORD dLoaderWritePage(ULONG Flash_Address, UWORD Size, ULONG *pBuf)
-{
- //* set the Flash controller base address
- AT91PS_MC ptMC = AT91C_BASE_MC;
- unsigned int i, page, status;
- unsigned int * Flash;
-
- //* init flash pointer
- Flash = (unsigned int *) (Flash_Address | (unsigned int)AT91C_IFLASH);
-
- //* Get the Flash page number
- page = ((Flash_Address & ~(unsigned int)AT91C_IFLASH) >> SECTORSIZESHIFT);
-
- //* copy the new value
- if (Size & 0x0003)
- {
- Size = Size + (0x0004 - (Size & 0x0003));
- }
- for (i=0; (i < SECTORSIZE) & (Size > 0) ;i++, Flash++,pBuf++,Size-=4 )
- {
- //* copy the flash to the write buffer ensuring code generation
- *Flash=*pBuf;
- }
-
- //* Write the write page command
- ptMC->MC_FCR = AT91C_MC_CORRECT_KEY | AT91C_MC_FCMD_START_PROG | (AT91C_MC_PAGEN & (page <<8));
-
- //* Wait the end of command
- status = AT91F_Flash_Ready();
-
- //* Check the result
- if ( (status & ( AT91C_MC_PROGE | AT91C_MC_LOCKE ))!=0)
- {
- return FALSE;
- }
- return TRUE;
-
-}
-
-__ramfunc UWORD dLoaderErasePage(ULONG Flash_Address)
-{
- //* set the Flash controller base address
- AT91PS_MC ptMC = AT91C_BASE_MC;
- unsigned int i, page, status, Size;
- unsigned int * Flash;
-
- Size = SECTORSIZE;
-
- //* init flash pointer
- Flash = (unsigned int *) (Flash_Address | (unsigned int)AT91C_IFLASH);
-
- //* Get the Flash page number
- page = ((Flash_Address & ~(unsigned int)AT91C_IFLASH) >> SECTORSIZESHIFT);
-
- //* copy the new value
- for (i=0; (i < SECTORSIZE) & (Size > 0) ;i++, Flash++,Size-=4 )
- {
- //* copy the flash to the write buffer ensuring code generation
- *Flash=0xFFFFFFFF;
- }
-
- //* Write the write page command
- ptMC->MC_FCR = AT91C_MC_CORRECT_KEY | AT91C_MC_FCMD_START_PROG | (AT91C_MC_PAGEN & (page <<8));
-
- //* Wait the end of command
- status = AT91F_Flash_Ready();
-
- //* Check the result
- if ( (status & ( AT91C_MC_PROGE | AT91C_MC_LOCKE ))!=0)
- {
- return FALSE;
- }
- return TRUE;
-
-}
-
-
-
-
-
-#endif