/****************************************Copyright (c)****************************************************
** Guangzhou ZHIYUAN electronics Co.,LTD.
**
** http://www.embedtools.com
**
**--------------File Info---------------------------------------------------------------------------------
** File name: rt_sys_c.c
** Latest modified Date: 2009-06-01
** Latest Version: 1.0
** Descriptions: 目标板部分实时库函数代码
**
**--------------------------------------------------------------------------------------------------------
** Created by: Chenmingji
** Created date: 2009-06-01
** Version: 1.0
** Descriptions: The original version
**
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
*********************************************************************************************************/
#include "..\..\config.h"
#include <stdlib.h>
/*********************************************************************************************************
以下为一些与系统相关的库函数的实现
具体作用请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 <rt_misc.h>
#include <time.h>
#include <stdio.h>
#pragma import(__use_no_semihosting_swi)
/*********************************************************************************************************
调整半主库相关函数
*********************************************************************************************************/
/*********************************************************************************************************
** Function name: _sys_exit
** Descriptions: 返回初始堆栈和堆的位置,一般用汇编实现
** input parameters: 手册未作详细说明
** output parameters: none
** Returned value: r0: 堆基址
** r1: 堆栈基址,即堆栈区中的最高地址
** r2: 堆限制
** r3: 堆栈限制,即堆栈区中的最低地址
*********************************************************************************************************/
#if 0
__value_in_regs struct __initial_stackheap __user_initial_stackheap (unsigned R0,
unsigned SP,
unsigned R2)
{
}
#endif /* 0 */
/*********************************************************************************************************
** Function name: _sys_exit
** Descriptions: 库退出函数。所有从库中的退出最终都会调用_sys_exit()。
** input parameters: iReturnCode: 退出代码
** output parameters: none
** Returned value: none
*********************************************************************************************************/
void _sys_exit (int iReturnCode)
{
while (1) {
}
}
/*********************************************************************************************************
** Function name: _ttywrch
** Descriptions: 此函数将一个字符写入到控制台中。 控制台可能已被重定向。 除非万不得已,
** 否则不要将此函数用作错误处理例程。
** input parameters: iCh: 输出的字符串
** output parameters: none
** Returned value: none
*********************************************************************************************************/
void _ttywrch (int iCh)
{
}
/*********************************************************************************************************
** Function name: _sys_open
** Descriptions: 此函数打开一个文件。
** input parameters: pcFileName: 文件名
** iOpenMode: 打开模式,是一个位映射,其位通常直接对应于ISO模式规范.
** 详细信息请参阅rt_sys.h
** output parameters: none
** Returned value: 文件句柄
*********************************************************************************************************/
FILEHANDLE _sys_open (const char *pcFileName, int iOpenMode)
{
return -1;
}
/*********************************************************************************************************
** Function name: _sys_close
** Descriptions: 此函数关闭以前使用 _sys_open() 打开的文件
** input parameters: fhHandle: 文件句柄
** output parameters: none
** Returned value: 文件句柄
*********************************************************************************************************/
int _sys_close (FILEHANDLE fhHandle)
{
return -1;
}
/*********************************************************************************************************
** Function name: _sys_read
** Descriptions: 此函数将文件内容读取到缓冲区中
** input parameters: fhHandle: 文件句柄
** iLen: 要读的数据数目
** iMode: 没有使用
** output parameters: puBcuf: 读到的数据
** Returned value: 未读的数据数目
*********************************************************************************************************/
int _sys_read (FILEHANDLE fhHandle, unsigned char *puBcuf, unsigned int iLen, int iMode)
{
return (int)0x80000000;
}
/*********************************************************************************************************
** Function name: _sys_write
** Descriptions: 将缓冲区内容写入到以前使用 _sys_open() 打开的文件中
** input parameters: fhHandle: 文件句柄
** puBcuf: 要写的数据
** iLen: 要写的数据数目
** iMode: 没有使用
** output parameters: none
** Returned value: 未写的数据数目
*********************************************************************************************************/
int _sys_write (FILEHANDLE fhHandle, const unsigned char *puBcuf, unsigned int iLen, int iMode)
{
return 0x80000000;
}
/*********************************************************************************************************
** Function name: _sys_ensure
** Descriptions: _sys_ensure() 调用将刷新与文件句柄 fh 相关联的任何缓冲区,并且确保将备份
** 存储介质上的文件保持最新状态。
** input parameters: fhHandle: 文件句柄
** output parameters: none
** Returned value: 如果出现错误,则结果为负数。
*********************************************************************************************************/
int _sys_ensure (FILEHANDLE fhHandle)
{
return 0;
}
/*********************************************************************************************************
** Function name: _sys_flen
** Descriptions: 此函数返回文件的当前长度。
** 如果基本系统可以相对于文件末尾进行搜索,则可以定义 fseek(),
** 这样就不再需要使用 _sys_flen() 了。
** input parameters