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

📄 loader.c

📁 一个简单的基于s3c2410的bootloader
💻 C
字号:
//===============================================================================
//loader.c
//=========================================================================================
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include "Addr.h"
#include "libs.h"
#include "lib.h"
#include "dma.h"
#include "usb.h"

extern void LEDINIT( void );
extern void LED4_ON( void );
extern void LED5_ON( void );
extern void LED4_OFF( void );
extern void LED5_OFF( void );

extern U32 Current_PCLK;
extern volatile U8 DownStatus;
extern volatile U32 uDownSize;
extern volatile U32 uDownAddr;

void Main()
{
	U32 i;
	U8 ch;
	void ( *fun )( void );
		
	Init_Halt();
	ChangeClockDivider( 1, 1 );			//FCLK:HCLK:PCLK(1:2:4)
	
	ChangeUPllValue( 0x78, 0x02, 0x03 );
	Delay(100);
	
	ChangeMPllValue( 0xA1, 0x3, 0x01 );	//202.8MHZ
	Current_PCLK = 202800000/4;
	//ChangeMPllValue(82,1,1);
	//Current_PCLK = 180000000/4;
	
	//ChangeUPllValue( 40, 0x01, 0x02 );
	
	Port_Init();
	
	//Clear_IF();

	Uart0_Init( 115200 );
	
	
	//Test_DMA();
	UsbTest();
		
	i = 0;
	while( 1 )
	{	
		ch = Uart0_Getch();
		if ( ch == 'q' )
			while( 1 );
		if ( ch != 0 )
		{
			i++;
			Uart0_Putch( ch );
			if ( ( DownStatus == 1 ) && ( ch == 'g' ) )
			{
				fun = ( void ( * )( void ) )uDownAddr;
				fun();
			}
		}
	}
}

⌨️ 快捷键说明

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