boot.c

来自「lpc2220的bootloader很不错的啊」· C语言 代码 · 共 60 行

C
60
字号
#include  "config.h"
#define	  LED5	(1 << 24)  //p0.24             


/****************************************************************************
* 名称:DelayNS()
* 功能:长软件延时。
* 入口参数:dly		延时参数,值越大,延时越久
* 出口参数:无
****************************************************************************/
/*
void  DelayNS(uint32  dly)
{  uint32  i;

   for(; dly>0; dly--) 
      for(i=0; i<5000; i++);
}
                               
*/

/****************************************************************************
* 名称:main()
* 功能:把程序载入40000000
****************************************************************************/
#define  VECTOR_RAM       	((unsigned char *) 0x40000000)
#define  VECTOR_FLASH      	((unsigned char *) 0x80001000)//前面4K是bootloader


#define  JUMP_ADDRESS	0x40000000 
void (*run)(void) = (void (*)(void))JUMP_ADDRESS;

int  main(void)
{  
	// shs	add
   	uint8  *addr_ram;
   	uint8  *addr_flash;
   	uint16 i;	
  
	PINSEL1 = 0;			// 设置管脚连接GPIO   
	IO0DIR = LED5; 
	
	IO0SET = LED5;
	IO0CLR = LED5;


	addr_ram = VECTOR_RAM;
	addr_flash = VECTOR_FLASH;
	for(i=0; i<0xf000; i++)		// 
		{  
			*addr_ram++ = *addr_flash++;

	   	}
	   	
	IO0SET = LED5;
	
	run();		

}

⌨️ 快捷键说明

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