progflash.c

来自「基于dragon_MX1_ads的装载启动代码armboot」· C语言 代码 · 共 48 行

C
48
字号
#include "../../Include/type.h"
#include "AM29PDL127H_x16x2.c"

int progFlash(U32 sourceAddr, U32 choice, U32 byteCount)
{
  S32 fd;

  U32 SourceAddress    = sourceAddr;
  U32 TargetAddress;
  U32 ByteSize         = byteCount;

  if( choice == 0 )
      TargetAddress = 0x10000000;
  else if( choice == 1)
      TargetAddress = 0x10100000;
  else
      TargetAddress = 0x10300000;
  
  U32 FlashBaseAddress = 0x10000000;
  U32 Offset = TargetAddress - FlashBaseAddress;

  EUARTputString((U8 *)"Program SDRAM data to FLASH\n");

  fd=FlashOpen(&AM29PDL127H_x16x2, FlashBaseAddress);

  EUARTputString((U8 *)"\nProgramming ...");
  if(FlashProgram(fd, SourceAddress, Offset, ByteSize))
  {
      EUARTputString((U8 *)"\nProgram Error\n");
  }
  else
  {
      EUARTputString((U8 *)"\nProgram Completed\n");
  }

  EUARTputString((U8 *)"\nVerifying ...");
  if(FlashVerify(fd, SourceAddress, Offset, ByteSize))
  {
      EUARTputString((U8 *)"\n*** Verify FAIL ***\n");
  }
  else
  {
      EUARTputString((U8 *)"\n*** Verify OK ***\n");
  }
  FlashClose(fd);
  
}

⌨️ 快捷键说明

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