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

📄 main.c

📁 AT91RM9200的一级boot
💻 C
字号:
#include <at91rm9200.h>extern void AT91F_DBGU_Printk(char *);extern char _stext,_etext,_sdata,_edata;#define SRC 0x10020000   // U-BOOT 在FLASH中的起始地址#define DST 0x21f00000   // U-BOOT 载入SDRAM地址#define LEN 0x20000#define LED1	AT91C_PIO_PB8#define LED2	AT91C_PIO_PB15#define LED3	AT91C_PIO_PB16#define LED4	AT91C_PIO_PB17void decompress_image_led_on(AT91PS_PIO pPio,unsigned int flag){	pPio->PIO_CODR = flag;}void decompress_image_led_off(AT91PS_PIO pPio,unsigned int flag){	pPio->PIO_SODR = flag;}void AT91F_PIO_CfgOutput(AT91PS_PIO pPio,unsigned int pioEnable){	pPio->PIO_PER = pioEnable;	pPio->PIO_OER = pioEnable;	pPio->PIO_SODR = pioEnable;}void boot() {  int i;  char* ptr=(char*)DST;    AT91F_PIO_CfgOutput(AT91C_BASE_PIOB,LED1|LED2|LED3|LED4);	//配置GPIO为输出    for(i=0;i<LEN;i++) ptr[i]=0;  AT91F_DBGU_Printk("\n\r");  AT91F_DBGU_Printk("*********************************\n\r");  AT91F_DBGU_Printk("** Welcome to ATMEL AT91RM9200 **\n\r");  AT91F_DBGU_Printk("*********************************\n\r");    decompress_image_led_on(AT91C_BASE_PIOB,LED1);    decompress_image(SRC,DST,LEN);// 解压u-boot.bin.gz    decompress_image_led_off(AT91C_BASE_PIOB,LED1);    asm("mov pc,%0" : : "r" (DST));};void recover(char* s) {  for(;;);};

⌨️ 快捷键说明

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