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

📄 main.c

📁 Bootloader for Atmel AT91SAM7S128 lloader_sram9 - The ARM code pc2 - The pc software
💻 C
字号:

#include "common.h"
#include "main.h"
#include "flash.h"
#include "usart.h"

int main(void)
{	
	usartInit();
	
	*AT91C_PIOA_PPUDR = 0x01000000;
	*AT91C_PIOA_OER = 0x01000000;
	
	uint32 i, blpage;
	
	while (1) {	

		switch(usart_getc()) {
			case 1: //Write
				
				//Get page (2 bytes)
				blpage = usart_getc();
				blpage += usart_getc()<<8;
				
				//Get data
				for(i=0; i<FLASH_PAGE_SIZE_WORDS; i++) {
					flash_buf[i] = (usart_getc());
					flash_buf[i] += (usart_getc()<<8);
					flash_buf[i] += (usart_getc()<<16);
					flash_buf[i] += (usart_getc()<<24);
				}
				
				*AT91C_PIOA_SODR = 0x01000000;
				flash_write(blpage);
				*AT91C_PIOA_CODR = 0x01000000;		
				
				//Confirm ok
				usart_putc(1);
				break;
			
			case 4: //Get Version
				usart_putc(1);
				break;
				
			default:
				break;
		}
		
	}
	
	return 0;
}

⌨️ 快捷键说明

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