target.c
资源名称:SD卡读写模块.rar [点击查看]
上传用户:pudewen666
上传日期:2007-06-08
资源大小:75k
文件大小:9k
源码类别:
微处理器开发
开发平台:
Windows_Unix
- /****************************************Copyright (c)**************************************************
- ** Guangzou ZLG-MCU Development Co.,LTD.
- ** graduate school
- ** http://www.zlgmcu.com
- **
- **--------------File Info-------------------------------------------------------------------------------
- ** File name: target.c
- ** Last modified Date: 2004-09-17
- ** Last Version: 1.0
- ** Descriptions: header file of the specific codes for LPC2100 target boards
- ** Every project should include a copy of this file, user may modify it as needed
- **------------------------------------------------------------------------------------------------------
- ** Created by: Chenmingji
- ** Created date: 2004-02-02
- ** Version: 1.0
- ** Descriptions: The original version
- **
- **------------------------------------------------------------------------------------------------------
- ** Modified by: Chenmingji
- ** Modified date: 2004-09-17
- ** Version: 1.01
- ** Descriptions: Renewed the template, added more compiler supports
- **
- **------------------------------------------------------------------------------------------------------
- ** Modified by:
- ** Modified date:
- ** Version:
- ** Descriptions:
- **
- ********************************************************************************************************/
- #define IN_TARGET
- #include "config.h"
- /*********************************************************************************************************
- ** Function name: IRQ_Exception
- **
- ** Descriptions: interrupt exceptional handler , change it as needed
- **
- ** input parameters: None
- ** Returned value: None
- **
- ** Used global variables: None
- ** Calling modules: None
- **
- ** Created by: Chenmingji
- ** Created Date: 2004/02/02
- **-------------------------------------------------------------------------------------------------------
- ** Modified by:
- ** Modified date:
- **------------------------------------------------------------------------------------------------------
- ********************************************************************************************************/
- void __irq IRQ_Exception(void)
- {
- while(1); // change it to your code 这一句替换为自己的代码
- }
- /*********************************************************************************************************
- ** Function name: FIQ_Exception
- **
- ** Descriptions: Fast interrupt exceptional handler , change it as needed
- **
- ** input parameters: None
- ** Returned value: None
- **
- ** Used global variables: None
- ** Calling modules: None
- **
- ** Created by: Chenmingji
- ** Created Date: 2004/02/02
- **-------------------------------------------------------------------------------------------------------
- ** Modified by:
- ** Modified date:
- **------------------------------------------------------------------------------------------------------
- ********************************************************************************************************/
- void FIQ_Exception(void)
- {
- while(1); // change it to your code 这一句替换为自己的代码
- }
- /*********************************************************************************************************
- ** Function name: TargetInit
- **
- ** Descriptions: Initialize the target board; it is called in a necessary place, change it as
- ** needed
- **
- ** input parameters: None
- ** Returned value: None
- **
- ** Used global variables: None
- ** Calling modules: None
- **
- ** Created by: Chenmingji
- ** Created Date: 2004/02/02
- **-------------------------------------------------------------------------------------------------------
- ** Modified by:
- ** Modified date:
- **------------------------------------------------------------------------------------------------------
- ********************************************************************************************************/
- void TargetInit(void)
- {
- /* 添加自己的代码 */
- /* Add your codes here */
- }
- /*********************************************************************************************************
- ** Function name: TargetResetInit
- **
- ** Descriptions: Initialize the target board before running the main() function; User may
- ** change it as needed, but may not deleted it.
- **
- ** input parameters: None
- ** Returned value: None
- **
- ** Used global variables: None
- ** Calling modules: None
- **
- ** Created by: Chenmingji
- ** Created Date: 2004/02/02
- **-------------------------------------------------------------------------------------------------------
- ** Modified by:
- ** Modified date:
- **------------------------------------------------------------------------------------------------------
- ********************************************************************************************************/
- void TargetResetInit(void)
- {
- #ifdef __DEBUG_RAM
- MEMMAP = 0x2; //remap
- #endif
- #ifdef __DEBUG_FLASH
- MEMMAP = 0x1; //remap
- #endif
- #ifdef __IN_CHIP
- MEMMAP = 0x1; //remap
- #endif
- /* 设置系统各部分时钟 */
- /* Set system timers for each component */
- 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;
- /* 设置存储器加速模块 */
- /* Set memory accelerater module*/
- MAMCR = 0;
- #if Fcclk < 20000000
- MAMTIM = 1;
- #else
- #if Fcclk < 40000000
- MAMTIM = 2;
- #else
- MAMTIM = 3;
- #endif
- #endif
- MAMCR = 2;
- /* 初始化VIC */
- /* initialize VIC*/
- VICIntEnClr = 0xffffffff;
- VICVectAddr = 0;
- VICIntSelect = 0;
- /* 添加自己的代码 */
- /* Add your codes here */
- }
- /*********************************************************************************************************
- ** 以下为一些与系统相关的库函数的实现
- ** 具体作用请ads的参考编译器与库函数手册
- ** 用户可以根据自己的要求修改
- ********************************************************************************************************/
- /*********************************************************************************************************
- ** The implementations for some library functions
- ** For more details, please refer to the ADS compiler handbook and The library
- ** function manual
- ** User could change it as needed
- ********************************************************************************************************/
- #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;
- }
- /*********************************************************************************************************
- ** End Of File
- ********************************************************************************************************/