📄 main.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 + -