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

📄 rk27.c

📁 瑞星微公司RK27XX系列芯片的SDK开发包
💻 C
📖 第 1 页 / 共 3 页
字号:
/* 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 + -