#include "config.h" //#define IN_CHIP //如果下载到FLASH,存储器重映射 //#define IN_RAM //如果下载到RAM void Fiq_exp(void) { } void TargetInit(void) { #ifdef IN_RAM MEMMAP=0x02; #endif #ifdef IN_CHIP MEMMAP=0x01; #endif /***************************************/ PLLCON=1; #if (Fpclk/(Fcclk/4))==1 VPBDIV=0; #endif #if (Fpclk/(Fcclk/4))==2 VPBDIV=2; #endif #if (Fpclk/(Fcclk/4))==4 VPBDIV=1; #endif /********************************************/ #if (Fcco/Fcclk)==2 PLLCFG=((Fcclk/Fosc)-1)|(0<<5); #endif #if (Fcco/Fcclk)==4 PLLCFG=((Fcclk/Fosc)-1)|(1<<5); #endif #if (Fcco/Fcclk)==8 PLLCFG=((Fcclk/Fosc)-1)|(2<<5); #endif #if (Fcco/Fcclk)==16 PLLCFG=((Fcclk/Fosc)-1)|(3<<5); #endif PLLFEED=0xAA; PLLFEED=0x55; while ((PLLSTAT&(1<<10))==0); PLLCON=3; PLLFEED=0xAA; PLLFEED=0x55; MAMCR=0; #if Fcclk<20000000 MAMTIM=1; #else #if Fcclk<40000000 MAMTIM=2; #else MAMTIM=3; #endif #endif MAMCR=2; VICIntEnClr=0xffffffff; VICVectAddr=0; VICIntSelect=0; } #include "rt_sys.h" #include "stdio.h" #pragma import(__use_no_semihosting_swi) int __rt_div0(int a) { a = a; return 0; } int fputc(int ch,FILE *f) { ch = ch; f = f; return 0; } int fgetc(FILE *f) { f = f; return 0; } int _sys_close(FILEHANDLE fh) { fh = fh; return 0; } int _sys_write(FILEHANDLE fh, const unsigned char * buf, unsigned len, int mode) { fh = fh; buf = buf; len =len; mode = mode; return 0; } int _sys_read(FILEHANDLE fh, unsigned char * buf, unsigned len, int mode) { fh = fh; buf = buf; len =len; mode = mode; return 0; } void _ttywrch(int ch) { ch = ch; } int _sys_istty(FILEHANDLE fh) { fh = fh; return 0; } int _sys_seek(FILEHANDLE fh, long pos) { fh = fh; return 0; } int _sys_ensure(FILEHANDLE fh) { fh = fh; return 0; } long _sys_flen(FILEHANDLE fh) { fh = fh; return 0; } int _sys_tmpnam(char * name, int sig, unsigned maxlen) { name = name; sig = sig; maxlen = maxlen; return 0; } void _sys_exit(int returncode) { returncode = returncode; } char *_sys_command_string(char * cmd, int len) { cmd = cmd; len = len; return 0; }