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

📄 flashu.c.bak

📁 TMS320C6713对SST39VF160的BOOT程序例程,仅供参考
💻 BAK
字号:
#include<stdio.h>
/*global change para */
#define FLASH_BASE_ADDR  0x90000000    /*Flash address is start */
#define FLASH_ORDER      2             /*1:address  at 8-Bit mode;2:address at 16-Bit mode; 4: address at 32-Bit mode*/ 

#ifdef FLASH_8
    #define  FLASH_CMD_ADDRESS_1  0xaaa
    #define  FLASH_CMD_ADDRESS_2  0x555
#endif
#ifdef FLASH_16
    #define  FLASH_CMD_ADDRESS_1  0x555
    #define  FLASH_CMD_ADDRESS_2  0x2aa
#endif

#define FLASH_CMD_1    *(volatile unsigned char *)(FLASH_BASE_ADDR+FLASH_CMD_ADDRESS_1*FLASH_ORDER)
#define FLASH_CMD_2    *(volatile unsigned char *)(FLASH_BASE_ADDR+FLASH_CMD_ADDRESS_2*FLASH_ORDER)

unsigned char ReadID(void);
void EraseChip(void);
void WriteIsOver(void);
main()
{
    unsigned char i;
    int done;
    i= ReadID();
    printf("Flash chip ID is %d\n",i);
    printf("what are you doing?\n1:Erase\n2:program only\n3:erase and reprogram\n");       
    scanf("%d",&done);
    switch( done )
    {
       case 1:
          puts("Erase is OK\n");
          break;
       case 2:
          puts("Program is OK\n");
          break;
       case 3:  
          puts("Erase and reprogram is OK\n"); 
          break;
    
    }
}
unsigned char ReadID(void)
{
  unsigned char flash_state;
  FLASH_CMD_1=0xaa;
  FLASH_CMD_2=0x55;
  FLASH_CMD_1=0x90;  
  flash_state =*(volatile unsigned char *)FLASH_BASE_ADDR;
  return flash_state;  
}
void EraseChip(void)
{
	FLASH_CMD_1 = 0xaa;
	FLASH_CMD_2 = 0x55;
	FLASH_CMD_1 = 0x80;
	FLASH_CMD_1 = 0xaa;
	FLASH_CMD_2 = 0x55;
	FLASH_CMD_1 = 0x10;
	
	WriteIsOver();
}
void WriteIsOver(void)
{
	unsigned int i;
	unsigned char LastToggleBit,CurrentToggleBit;
	LastToggleBit = (*(volatile unsigned char*)FlashMap1BaseAddr) & 0x40;
	CurrentToggleBit = (*(volatile unsigned char*)FlashMap1BaseAddr) & 0x40;
	for(i = 0; ; i++)
	{
		LastToggleBit = CurrentToggleBit;
		CurrentToggleBit = (*(volatile unsigned char*)FlashMap1BaseAddr) & 0x40;
		if(LastToggleBit == CurrentToggleBit) break;
	}
}

⌨️ 快捷键说明

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