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

📄 main.c

📁 基于dragon_MX1_ads的装载启动代码armboot
💻 C
字号:
#include "../../Include/type.h"
#include "AM29PDL127H_x16x2.c"

#define UART1_BASE      0x00206000
#define UART2_BASE      0x00207000

#define _reg_URXD       (*((volatile U32 *)(gUartBase+0x00)))
#define _reg_UTXD       (*((volatile U32 *)(gUartBase+0x40)))
#define _reg_USR2       (*((volatile U32 *)(gUartBase+0x98)))
    
#define ADET_MASK   0x8000  // auto-baud detection 
#define TXFE_MASK   0x4000  // Tx buffer empty
#define RDR_MASK    0x0001  // receive data ready

int main(void)
{
  S32 fd;

  U32 SourceAddress    = 0x0A000000;
  U32 TargetAddress    = 0x10000000;
  U32 ByteSize         = 0x00010000;

  U32 FlashBaseAddress = 0x10000000;
  U32 Offset = TargetAddress - FlashBaseAddress;

  EUARTputString((U8 *)"Press any key to start programming ...");

  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);

  EUARTputString((U8 *)"\n\rProgramming finished.\n\rPress 'a' to continue ....");

  JumpToAddr(0);    // go back to boot-strap
  
  return 0;
}

⌨️ 快捷键说明

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