📄 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 + -