⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flash.h

📁 支持ti的dsp 5402的基本运行的c程序,简洁好用
💻 H
字号:
#include "main.h"

#ifndef __DSPBIOS54_FLASH_H
#define __DSPBIOS54_FLASH_H

#ifdef __cplusplus
extern "C"
{
#endif

#define FLASH(x)  (*((volatile unsigned char *) 0x8000 + x))
/*----------------------------------------------------------
另类的"数组"访问,外扩的SST39VF800A从0x8000开始
void FlashObj::ChipErase(void)
{
  FLASH(0x5555) = 0xaa;  
  FLASH(0x2AAA) = 0x55;  
  FLASH(0x5555) = 0x80;
  FLASH(0x5555) = 0xaa;  
  FLASH(0x2AAA) = 0x55;  
  FLASH(0x5555) = 0x10;
  Wait(0x5555);
}
void FlashObj::Wait(unsigned int address)
{
unsigned int temp, val;
  do {
    val = FLASH(address);
    __nop();
    temp = FLASH(address);
    __nop();
  }
  while(((val ^ temp) & (1 << BIT6)) != 0);
}
----------------------------------------------------------*/

#define FlashMaker  0x0000
#define FlashDevice 0x0001


#define	SectorSize	0x800
#define	BlockSize	0x8000


class FlashObj {
public:
  FlashObj(void);
  void Init(void);
  void FlashReset(void);
  void FlashId(void);
  bool ChipErase(void);
  bool SectorErase(unsigned int);
  bool BlockErase(unsigned int);
  void Wait(unsigned int);
  bool Write(unsigned int , unsigned char);
  bool Program(unsigned int, unsigned int, unsigned short *);
public:
  bool Active;
  bool Succeed;
private:
  unsigned int MakerId;
  unsigned int DeviceId;
};

extern class FlashObj Flash;

#ifdef __cplusplus
}
#endif

#endif//__DSPBIOS54_FLASH_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -