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

📄 main.c

📁 自己编写的bootloader for S3c4510. 1、支持串口下载
💻 C
字号:
#define   GLOBALS
#include "Main.h"
void detect_AM29LV160(void);
void Main(void)
{ 
    char  last_key;
	DisableInterrupts;
    initialize();
 	EnbleInterrupts;
//detect_AM29LV160();
//Program_AM29LV160(receive_text_buffer,Point_program_address,8192*2);
 	for(;;)
 	{
       if(IOPDATA&8)  IOPDATA&=0x07;
       else IOPDATA|=8;  
       BootLoader(&last_key);
       delay(5000);
 	   
 	   //printp("\nThis is a test,IOPDATA = %X",IOPDATA);
 	}

}


/*********************************************************
* 名称:		
* 功能:	中断程序初始化	
*********************************************************/
void Init_interrupts(void)
{
  INTMODE=0x10;
  IOPCON = 0x12;
  Enable_Int(nEXT0_INT);
  pISR_EINT0=(unsigned int)ex_interrupt0;
  pISR_IRQ=(unsigned int)ISR_IrqHandler;
  pISR_FIQ=(unsigned int)ISR_FiqHandler;
  pISR_TIMER0=(unsigned int)Time0_interrupt;
  pISR_UART0_R=(unsigned int)Uart0_R_interrupt;
  //writer_register((unsigned int *)&INTMASK,MASKALL,0);
  //writer_register((unsigned int *)&INTMASK,10,0);//time0
}
/*********************************************************
* 名称:	ISR_IrqHandler	
* 功能:	中断处理函数	
*********************************************************/
void  ISR_IrqHandler(void)
{

	unsigned int 	IntOffSet;
	unsigned int    *pINT;
	void 	(*interrupt)(void);
	IntOffSet = (unsigned int)INTOFFSET; 	// 获取中断源
	Clear_PendingBit(INTOFFSET>>2);
	pINT=(unsigned int *)(_ISR_STARTADDRESS+0x20+IntOffSet);
	interrupt = (void (*)(void))(*pINT);
	(*interrupt)(); 				        //调用中断函数
}
/*********************************************************
* 名称:	ISR_FiqHandler	
* 功能:	快速中断处理函数	
*********************************************************/
void ISR_FiqHandler(void)
{
	unsigned int 	IntOffSet;
	unsigned int    *pINT;
	void 	(*interrupt)(void);
	IntOffSet = (unsigned int)INTOFFSET; 	// 获取中断源
	Clear_PendingBit(INTOFFSET>>2);
	pINT=(unsigned int *)(_ISR_STARTADDRESS+0x20+IntOffSet);
	interrupt = (void (*)(void))(*pINT);
	(*interrupt)(); 				        //调用中断函数
}
/*********************************************************
* 名称:	ISR_PreHandler	
* 功能:	预取错误中断处理函数	
*********************************************************/
void ISR_PreHandler(void)
{
   printp("Prefetch_Handler error!\n");
}
/*********************************************************
* 名称:	ISR_AbtHandler	
* 功能:	中止模式中断处理函数	
*********************************************************/
void ISR_AbtHandler(void)
{ 
   printp("Abort_Handler error!\n");  
}
/*********************************************************
* 名称:	ISR_UdefHandler	
* 功能:	未定义指令中断处理函数	
*********************************************************/
void ISR_UdefHandler(void)
{
   printp("Undefined_Handler error!\n");  

}
/*********************************************************
* 名称:	ISR_SwiHandler	
* 功能:	用户软中断处理函数	
*********************************************************/
void ISR_SwiHandler(void)
{
   printp("SWI_Handler error!\n");
}


























⌨️ 快捷键说明

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