?? main.c
字號:
/*
*********************************************************************************************************
* File : Main.C
* Contents :
*
* $Date : 09/18/06 Kimi v0.1
* $Date : 10/18/06 Kimi v0.2
* $Date : 11/02/06 Kimi v1.0
*
* Copyright (c) 2006 Fameg, Inc. All rights reserved
*********************************************************************************************************
*/
#define ALLOCATE_EXTERN // Declare GLOBAL variables and functions
#include "main.h"
//----------------------------------------------------------------------------
// Description:
//
//----------------------------------------------------------------------------
void Timer0 (void) interrupt 1 using 2
{
// Restore the counter to 10 ms
TH0 = 0x3C; // 0x3CB0, CPU 60MHz, 10ms
TL0 = 0xB0;
if (DelayTimer)
{
DelayTimer--;
}
if (SmFlushTimer)
{
SmFlushTimer--;
if (SmFlushTimer == 0)
{
SmFlushFlag = true;
}
}
}
//----------------------------------------------------------------------------
// Description:
//
//----------------------------------------------------------------------------
void SPI_INT_ISR (void) interrupt 7 using 3
{
if (CHIPINT & bmSPI_INT)
{
if (SPI_ST & bmRFFINT)
{
// receive data from SPI
}
if (SPI_ST & bmTEFINT)
{
// send data to SPI
}
}
}
//----------------------------------------------------------------------------
// Description:
// Read Operation
//----------------------------------------------------------------------------
void Read (void)
{
UINT16 i;
BYTE j;
for (i = 0; i < SectorCount; i++)
{
for (j = 0; j < 4; j++)
{
if (j == 0)
{
SmReadSector();
}
else
{
SmReadNextSector();
}
// you should add code here to send the 512 byte data of IN FIFO to SPI
SFI_SKIP = 0x82; // Skip Data Packet in order to Read Next 512 Data Packet
}
}
}
//----------------------------------------------------------------------------
// Description:
// Write Operation
//----------------------------------------------------------------------------
void Write (void)
{
UINT16 i;
BYTE j;
for (i = 0; i < SectorCount; i++)
{
for (j = 0; j < 4; j++)
{
// you should add code here to receive data from SPI and then copy this data to OUT FIFO
// start APLIF,send data to NAND FLASH
if (j == 0)
{
SmWriteSector();
}
else
{
SmWriteNextSector();
}
}
}
}
//----------------------------------------------------------------------------
// Description:
//
//----------------------------------------------------------------------------
void main (void)
{
TdInit();
SmEraseAll();
while (true)
{
SectorStart = 0;
SectorCount = 1;
Write();
SectorStart = 0;
SectorCount = 1;
Read();
if (SmFlushFlag)
{
SmFlushBlock();
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -