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

📄 main.c

📁 ZooBoot
💻 C
字号:
#include "arm7tdmi.h"extern char _stext,_etext,_sdata,_edata;#define SRC ((long)(&_etext) + (long)(&_edata) - (long)(&_sdata))#define DST 0x7c0000#define LEN 0x040000#define DO_DEBUG#ifdef DO_DEBUGstatic usart_t *us=USARTA_BASE;void serial_init() {  us->brgr = 260;  us->cr=( RSTRX | RSTTX );  us->cr=( RXEN | TXEN );  us->mr=( USCLKS_ACLK | CHRL_EIGHT | PAR_NONE | NBSTOP_1 );  us->imr=~0ul;};void serial_putc(const char c) {  if(c == '\n') serial_putc('\r');  while( (us->csr & TXRDY) == 0 );  us->thr=c;};void printf(char* s) {  while(*s) serial_putc(*s++);};const char *hex = "0123456789abcdef";void printhex(int v) {  int i;  for(i=0;i<8;i++) {    int c=v>>28;    serial_putc(hex[c&0x0f]);    v<<=4;  };};#endifvoid boot() {  int i;  char* ptr=(char*)DST;#ifdef DO_DEBUG  serial_init();  printf("SIAP-E AT75C220DK\n");#endif  for(i=0;i<LEN;i++) ptr[i]=0;  decompress_image(SRC,DST,LEN);  asm("mov pc,%0" : : "r" (DST));};void recover(char* s) {#ifdef DO_DEBUG  printf(s);#endif  for(;;);};

⌨️ 快捷键说明

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