资源简介
该实验程序先向外部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个文件信息
相关资源
- 基于DSP28335的直流电机闭环调速
- 永磁同步电机无位置传感器DSP28335代码
- TIDSP28335CAN中文使用手册.pdf
- DSP28335的PMSM的SVPWM电机代码
- dsp28335各外设
- DSP28335串口二阶BOOT源码
- DSP28335中文手册
- 用于DSP28335的编程例程 主要是用于有
- DSP28335TI例程
- ucos ii 在DSP28335上的移植
- dsp28335数据手册 中文版
- ucos2.52在DSP28335上的移植程序,RAM版
- 基于DSP28335的SVPWM,CCS6.0
- dsp28335官方例程
- DSP28335 SYS/BIOS
- DSP28335控制单相逆变器双闭环控制程序
- TI dsp28335浮点运算库
- DSP28335+AD7656+CPLD完整PCB图4层板
- DSP28335最小系统原理图以及PCB文件
- DSP28335+AD7606 SVPWM 电路原理和PCB
- DSP28335开发攻略.pdf
- DSP28335-步进电机
- DSP28335例程以及手把手教你学DSP28335
- TMS320F28335DSP原理与开发编程
- 手把手教你学DSP2812书籍 配套资料光盘
- dsp28335最小系统原理图
- DSP28335做简单的频谱分析fft算法
- dsp28335的pwm程序
- AD7606基于DSP28335的SPI方式下的数据采集
- DSP28335定时器程序
评论
共有 条评论