• 大小: 654KB
    文件类型: .zip
    金币: 2
    下载: 2 次
    发布日期: 2021-05-13
  • 语言: 其他
  • 标签: DSP28335  

资源简介

该实验程序先向外部flash的0x200000~0x20FFFF分别写入0xAAAA和0x5555再读出,每一个存储空间逐一比较是否正确,如果一致说明没有问题,最后才写入自然数。

资源截图

代码片段和文件信息

#include	“DSP2833X_Device.h“

// Definitions for the SST 39VF400A part
//#define  SST_ID                   0x00BF         /* SST Manufacturer‘s ID code   */
//#define  SST_39VF800A             0x2780         /* SST39VF800/SST39VF800A device code */
#define TimeOutErr  1
#define VerifyErr  2
#define WriteOK  0
#define EraseErr  3
#define EraseOK  0
#define SectorSize  0x800
#define BlockSize  0x8000
unsigned   int  *FlashStart = (unsigned  int *)0x200000;//flash的首地址
unsigned   int  *ExRamStart = (unsigned  int *)0x100000;//sram的首地址

Uint16 SectorErase(Uint16 SectorNum)
{
Uint16 iData;
Uint32 TimeOut;
*(FlashStart + 0x5555) = 0xAAAA;
*(FlashStart + 0x2AAA) = 0x5555;
*(FlashStart + 0x5555) = 0x8080;
*(FlashStart + 0x5555) = 0xAAAA;
*(FlashStart + 0x2AAA) = 0x5555;
*(FlashStart + SectorSize * SectorNum) = 0x3030;
i = 0;
TimeOut = 0;
while(i<5)
{
Data = *(FlashStart +  SectorSize * (SectorNum + 1) -1);
if (Data == 0xFFFF) i++;
else i=0;
if ( ++TimeOut>0x1000000) return (TimeOutErr);
}
for (i=0;i {
Data = *(FlashStart + SectorSize * SectorNum +i);
if (Data !=0xFFFF) return (EraseErr);
}
return  (EraseOK);
}

Uint16 BlockErase(Uint16 BlockNum)
{
Uint16 iData;
Uint32 TimeOut;
*(FlashStart + 0x5555) = 0xAAAA;
*(FlashStart + 0x2AAA) = 0x5555;
*(FlashStart + 0x5555) = 0x8080;
*(FlashStart + 0x5555) = 0xAAAA;
*(FlashStart + 0x2AAA) = 0x5555;
*(FlashStart + BlockSize * BlockNum + 1) = 0x5050;
i = 0;
TimeOut = 0;
while(i<5)
{
Data = *(FlashStart +  BlockSize * (BlockNum +1));
if (Data == 0xFFFF) i++;
else i=0;
if ( ++TimeOut>0x1000000) return (TimeOutErr);
}
for (i=0;i {
Data = *(FlashStart + BlockSize * BlockNum +i);
if (Data !=0xFFFF) return (EraseErr);
}
return  (EraseOK);

}

Uint16 ChipErase(void)
{
Uint16 Data;
Uint32 TimeOuti;
*(FlashStart + 0x5555) = 0xAAAA;
*(FlashStart + 0x2AAA) = 0x5555;
*(FlashStart + 0x5555) = 0x8080;
*(FlashStart + 0x5555) = 0xAAAA;
*(FlashStart + 0x2AAA) = 0x5555;
*(FlashStart + 0x5555) = 0x1010;
i = 0;
TimeOut = 0;
while(i<5)
{
Data = *(FlashStart +  0x3FFFF);
if (Data == 0xFFFF) i++;
else i=0;
if ( ++TimeOut>0x1000000) return (TimeOutErr);
}
for (i=0;i<0x40000;i++)
{
Data = *(FlashStart + i);
if (Data !=0xFFFF) return (EraseErr);
}
return  (EraseOK);

}


Uint16 FlashWrite(Uint32 RamStart Uint32   RomStart  Uint16 Length)
{
Uint32 iTimeOut;
Uint16 Data1Data2j;
for (i=0;i {
*(FlashStart + 0x5555) = 0x00AA;
*(FlashStart + 0x2AAA) = 0x0055;
*(FlashStart + 0x5555) = 0x00A0;
*(Fla

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-10-09 13:04  lab14-39VF800\
     文件         303  2015-04-20 14:12  lab14-39VF800\.ccsproject
     文件       16340  2015-04-20 14:12  lab14-39VF800\.cdtbuild
     文件         553  2015-04-20 14:12  lab14-39VF800\.cdtproject
     文件         593  2015-04-20 14:12  lab14-39VF800\.project
     目录           0  2018-08-09 07:57  lab14-39VF800\.settings\
     文件         638  2015-04-20 14:12  lab14-39VF800\.settings\org.eclipse.cdt.managedbuilder.core.prefs
     目录           0  2018-08-09 07:57  lab14-39VF800\39VF800.CS_\
     文件        3072  2015-04-20 14:12  lab14-39VF800\39VF800.CS_\FILE.CDX
     文件        1530  2015-04-20 14:12  lab14-39VF800\39VF800.CS_\FILE.DBF
     文件        2272  2015-04-20 14:12  lab14-39VF800\39VF800.CS_\FILE.FPT
     文件      321024  2015-04-20 14:12  lab14-39VF800\39VF800.CS_\SYMBOL.CDX
     文件      237824  2015-04-20 14:12  lab14-39VF800\39VF800.CS_\SYMBOL.DBF
     文件      411577  2015-04-20 14:12  lab14-39VF800\39VF800.CS_\SYMBOL.FPT
     文件       10173  2015-04-20 14:12  lab14-39VF800\39VF800.paf2
     文件        6411  2015-04-20 14:12  lab14-39VF800\39VF800.sbl
     目录           0  2018-10-09 13:04  lab14-39VF800\CMD\
     文件        3947  2015-04-20 14:12  lab14-39VF800\CMD\28335_RAM_lnk.cmd
     文件        8438  2015-04-20 14:12  lab14-39VF800\CMD\DSP2833x_Headers_nonBIOS.cmd
     文件        4855  2015-04-20 14:12  lab14-39VF800\CMD\F28335.cmd
     目录           0  2018-08-09 07:57  lab14-39VF800\Debug\
     文件      135560  2015-04-20 14:12  lab14-39VF800\Debug\39VF1601.obj
     文件       25713  2015-04-20 14:12  lab14-39VF800\Debug\39VF800.map
     文件      174547  2015-04-20 14:12  lab14-39VF800\Debug\39VF800.out
     目录           0  2018-08-09 07:57  lab14-39VF800\Debug\CMD\
     文件           0  2015-04-20 14:12  lab14-39VF800\Debug\CMD\ccsSrcs.opt
     文件        1824  2015-04-20 14:12  lab14-39VF800\Debug\CMD\subdir.mk
     文件        1276  2015-04-20 14:12  lab14-39VF800\Debug\DSP2833x_ADC_cal.obj
     文件        1560  2015-04-20 14:12  lab14-39VF800\Debug\DSP2833x_CodeStartBranch.obj
     文件      126147  2015-04-20 14:12  lab14-39VF800\Debug\DSP2833x_CpuTimers.obj
     文件      169210  2015-04-20 14:12  lab14-39VF800\Debug\DSP2833x_DefaultIsr.obj
............此处省略71个文件信息

评论

共有 条评论