📄 723cache.c
字号:
/*
* Copyright (C) SEIKO EPSON CORP.2000
* All Rights Reserved
*
* File name : ramcopy.c
* Function :
* This is copy to RAM.
* It has described which program is copied.
* Revision :
* Ver 0.10 2000/10/23 Y.Uchiyama Start
* Ver 0.20 2001/01/12 N.Komatsu Add prefix
*/
#include "g723adec.h"
extern int __START_cache0; // spkintr3_code
extern int __START_cache1; // 723e0c33_code
extern int __START_cache2; // basop_code
extern int __START_cache3; // lpc_code
extern int __START_cache4; // util_lbc_code
extern int __START_cache5; // decod_code
extern int __START_cache6;
extern int __END_cache0;
extern int __START_cache0_lma;
extern int __END_cache1;
extern int __START_cache1_lma;
extern int __END_cache2;
extern int __START_cache2_lma;
extern int __END_cache3;
extern int __START_cache3_lma;
extern int __END_cache4;
extern int __START_cache4_lma;
extern int __END_cache5;
extern int __START_cache5_lma;
extern int __END_cache6;
extern int __START_cache6_lma;
void g723aCodeCopy(int *dst, int *src, int *size)
{
asm("DCOPY_LOOP: ");
asm("ld.b %r10,[%r7]+"); // read byte from src addr
asm("ld.b [%r6]+,%r10"); // write byte to dest addr
asm("cmp %r6,%r8 "); //
asm("jrult DCOPY_LOOP");
}
void g723aDataCopy(int dst, int size)
{
asm("xld.w %r11, 0xcccc ");
asm("HCOPY_LOOP2: ");
asm("ld.h [%r12]+, %r11 ");
asm("sub %r13, 2 ");
asm("jrgt HCOPY_LOOP2 ");
}
void g723aDecodeCopy(void)
{
// g723aDataCopy((int)0x0000, ((int)0x1d00));
g723aCodeCopy(&__START_cache0,&__START_cache0_lma,&__END_cache0);
g723aCodeCopy(&__START_cache1,&__START_cache1_lma,&__END_cache1);
g723aCodeCopy(&__START_cache2,&__START_cache2_lma,&__END_cache2);
g723aCodeCopy(&__START_cache3,&__START_cache3_lma,&__END_cache3);
g723aCodeCopy(&__START_cache4,&__START_cache4_lma,&__END_cache4);
g723aCodeCopy(&__START_cache5,&__START_cache5_lma,&__END_cache5);
g723aCodeCopy(&__START_cache6,&__START_cache6_lma,&__END_cache6);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -