📄 rk27.c
字号:
/* Copyright (C) 2006 ROCK-CHIPS FUZHOU . All Rights Reserved. */
/*
File : system\os\support\rk27.c
Desc : 定义系统提供的外部接口.
Author : huangsl
Date : 2007-08-14
Notes : 用于提供固定的接口.
不能随意改变此文件的任何内容!!!
$Log: rk27.c,v $
Revision 1.3 2008/06/19 04:43:27 Administrator
代码整理!
Revision 1.2 2008/05/28 12:54:30 HJ
注册表更新
Revision 1.1.1.1 2008/05/07 04:15:08 Administrator
no message
Revision 1.1.1.1 2008/03/06 13:29:10 Lingzhaojun
no message
Revision 1.6 2007/11/23 07:32:08 Huangshilin
no message
Revision 1.5 2007/11/07 09:10:40 Huangshilin
增加部分接口和 TOP 应用支持.
Revision 1.4 2007/10/20 04:46:31 Huangshilin
for RK2700
Revision 1.3 2007/10/11 04:08:11 Huangshilin
System\os
Revision 1.2 2007/10/08 02:56:07 Lingzhaojun
添加版本自动注释脚本
*
* 2007-08-14 haungsl 移植到 RK27.
*
*/
/*****************************************************************************/
#include "system.h"
#include <stdarg.h>
#include "../../syssave/syssave.h"
#ifndef _asm
extern void OSTimeDly(INT16U ticks);
#endif
/*****************************************************************************/
#pragma arm section code="RK27_EP"
/*****************************************************************************/
//FIRST JUMP FUNCTION , 参数预留。
void RKEntryPoint(INT32U setUpOffset)
{
//jump to sdram loader
// 071106,huangsl,一下语句有问题,因为此时 SRAM的代码还没有加载到/
//真正的 SRAM地址,会改写代码部分的内容.
//gSysReboot = Restart;
//gSetupOffset = setUpOffset;
#ifdef __arm
RomLoader();
#else
RKEntryPoint(setUpOffset);
#endif
}
/*****************************************************************************/
#pragma arm section code //RK27_EP
/*****************************************************************************/
#pragma arm section code="RK27_STAGE1"
/*****************************************************************************/
//C 库函数.
/*----------------------------------------------------------------------
Name : RKmalloc
Desc : 申请一块动态内存
Params: 申请的内存大小
Return: 申请到的内存
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
void *RKmalloc(size_t n)
{
#if defined(_MSC_VER )
return RkMalloc(n);
#else
return malloc(n);
#endif
}
/*----------------------------------------------------------------------
Name : RKfree
Desc : 释放申请的动态内存
Params:
Return: 无
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
void RKfree(void * __ptr)
{
#if defined(_MSC_VER )
RkFree(__ptr);
#else
free(__ptr);
#endif
}
/*----------------------------------------------------------------------
Name : RKmemcpy
Desc : 内存拷贝
Params: s1:目标地址, s2:源地址, n:数目
Return:
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
void *RKmemcpy(void * s1, const void * s2, size_t n)
{
return memcpy(s1 , s2 , n);
}
/*----------------------------------------------------------------------
Name : RKmemcmp
Desc : 内存比较
Params:
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
BOOLEAN RKmemcmp(void * s1, const void * s2, size_t n)
{
return memcmp(s1 , s2 , n);
}
/*----------------------------------------------------------------------
Name : RKmemset
Desc : 内存设置,将首地址为s,长度为n的内存块数据设置为c
Params:
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
void *RKmemset(void * s, int c, size_t n)
{
return memset(s, c , n);
}
/*----------------------------------------------------------------------
Name : RKstrcpy
Desc : 字符串处理:拷贝单个字符
Params:
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
char *RKstrcpy(char * s1, const char * s2)
{
return strcpy(s1 , s2);
}
/*----------------------------------------------------------------------
Name : RKstrdup
Desc : 将字符串s中的小写字母全部转换成大写字母,并返回转换后的字符串
Params:
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
char *RKstrdup(char * s1)
{
return RockStrDup(s1);
}
/*----------------------------------------------------------------------
Name : RKstrncpy
Desc : 字符串处理:字符串拷贝
Params:
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
char *RKstrncpy(char * s1, const char * s2, size_t n)
{
return strncpy(s1 , s2 , n);
}
/*----------------------------------------------------------------------
Name : RKstrcat
Desc : 将字符串s2添加到S1末尾
Params:
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
char *RKstrcat(char * s1, const char * s2)
{
return strcat(s1 , s2);
}
/*----------------------------------------------------------------------
Name : RKstrcmp
Desc : 字符比较
Params:
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
int RKstrcmp(const char * s1, const char * s2)
{
return strcmp(s1 , s2);
}
/*----------------------------------------------------------------------
Name : RKstricmp
Desc : 字符比较
Params:
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
int RKstricmp(const char * s1, const char * s2)
{
return RockStriCmp(s1 , s2);
}
/*----------------------------------------------------------------------
Name : RKstrncmp
Desc : 字符串比较
Params:
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
int RKstrncmp(const char * s1, const char * s2, size_t n)
{
return strncmp(s1 , s2 , n);
}
/*----------------------------------------------------------------------
Name : RKstrchr
Desc : 检索并返回字符c在字符串s中第一次出现的位置
Params:
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
char *RKstrchr(const char * s, int c)
{
return strchr(s , c);
}
/*----------------------------------------------------------------------
Name : RKstrrchr
Desc : 检索并返回字符c在字符串s中第一次出现的位置
Params:
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
char *RKstrrchr(const char * s, int c)
{
return strrchr(s , c);
}
/*----------------------------------------------------------------------
Name : RKstrstr
Desc : 扫描字符串s2,并返回第一次出现s1的位置
Params:
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
char *RKstrstr(const char * s1, const char * s2)
{
return strstr(s1 , s2);
}
/*----------------------------------------------------------------------
Name : RKstrpbrk
Desc : 扫描字符串s1,并返回在s1和s2中均有的字符个数
Params:
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
char *RKstrpbrk(const char * s1, const char * s2)
{
return strpbrk(s1 , s2);
}
/*----------------------------------------------------------------------
Name : RKstrlen
Desc : 返回字符串s的长度
Params:
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
size_t RKstrlen(const char * s)
{
return strlen(s);
}
#if 0
// OS 部分
#endif
#ifdef __arm
/*----------------------------------------------------------------------
Name : RKOSDisableInt
Desc : 禁止所有中断
Params:
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
CPU_STATUS RKOSDisableInt(void)
{
return OSDisableInt();
}
/*----------------------------------------------------------------------
Name : RKOSEnableInt
Desc : 使能中断
Params:
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
void RKOSEnableInt(CPU_STATUS cpu_sr)
{
OSEnableInt(cpu_sr);
}
#endif
/*----------------------------------------------------------------------
Name : RKRockStartTimerEx
Desc : 启动定时器
Params: 延时时间,回调函数,参数
Return: 定时器ID
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -