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

📄 memory_allocation.asm

📁 这是我在ADSP tiger sharc 201上面实现的OFDM(标准是wimax)同步算法哦!具有非常高的指令效率.
💻 ASM
字号:
 #include "SS_SYN.h"
 
//#define DEBUG_GEN_DATA
.global Save_INTCTL;
.global int_counter;
#ifdef DEBUG_GEN_DATA
.global I1;
.global Q1;
.global IQ1;
#endif
.global Pointer0;
.global Pointer1;
.global JStack;
.global KStack;
.global Ant_Data0;
.global Ant_Data1;
.global Ant_Data0_Sample1;
.global Ant_Data1_Sample1;
.global Ant_Data2;
.global Ant_Data3;
.global Receive_Link0_TCB;
.global Receive_Link1_TCB;
.global Receive_Link2_TCB;
.global Receive_Link3_TCB;
.global T_SYN_DSP_Link_addr;
.global q_time_code;
.global xcorrs_result_X;
.global xcorrs_result_Y;
.global qout_o;
.global qout_e;
.global linkport_mode_bak;
/////////////////////////memory allocation////////////////////////////

//一个block,data2a和data2b合起来是128k word32=131072 word32;
//那么设定data2a大小是 2048*4=8192 word32;
//data2b的大小是131072-8192=122880 word32;
// 122880 > 4*(28560-16),满足存放一帧数据的要求.
// data4a和data4b的分法同上.
// Ant_Data0,1是同步前的buffer, 2,3是同步之后的buffer
//BLOCK 2和BLOCK 4不应再分给其他buffer
/////////////////////BLOCK 2///////////////////
.section 	data2a;
.align 4; .var Ant_Data0[SAMPLE_SEQUENCE_LENGTH];
.align 4; .var Ant_Data0_Sample2[SAMPLE_SEQUENCE_LENGTH];
.align 4; .var Ant_Data0_Sample2_End;

.align 4; .var Ant_Data2[SAMPLE_SEQUENCE_LENGTH_SYN];
.align 4; .var Ant_Data2_Sample1[SAMPLE_SEQUENCE_LENGTH_SYN];
.align 4; .var Ant_Data2_Sample2[SAMPLE_SEQUENCE_LENGTH_SYN];
.align 4; .var Ant_Data2_Sample3[SAMPLE_SEQUENCE_LENGTH_SYN];
.align 4; .var Ant_Data2_Sample3_End;

.section 	data2b;
.align 4; .var Ant_Data0_Sample1[SAMPLE_SEQUENCE_LENGTH];
.align 4; .var Ant_Data0_Sample3[SAMPLE_SEQUENCE_LENGTH];
.align 4; .var Ant_Data0_Sample3_End;

/////////////////////BLOCK 4///////////////////

.section	data4a;
.align 4;.var Ant_Data1[SAMPLE_SEQUENCE_LENGTH];
.align 4;.var Ant_Data1_Sample2[SAMPLE_SEQUENCE_LENGTH];
.align 4;.var Ant_Data1_Sample2_End;

.align 4;.var Ant_Data3[SAMPLE_SEQUENCE_LENGTH_SYN];
.align 4;.var Ant_Data3_Sample1[SAMPLE_SEQUENCE_LENGTH_SYN];
.align 4;.var Ant_Data3_Sample2[SAMPLE_SEQUENCE_LENGTH_SYN];
.align 4;.var Ant_Data3_Sample3[SAMPLE_SEQUENCE_LENGTH_SYN];
.align 4;.var Ant_Data3_Sample3_End;

.section 	data4b;
.align 4;.var Ant_Data1_Sample1[SAMPLE_SEQUENCE_LENGTH];
.align 4;.var Ant_Data1_Sample3[SAMPLE_SEQUENCE_LENGTH];
.align 4;.var Ant_Data1_Sample3_End;
/////////////////////BLOCK 6///////////////////
.section	data6a;
.align 4;.var xcorrs_result_X[28560];
.align 4;.var T_SYN_DSP_Link_addr;
#ifdef DEBUG_GEN_DATA
.align 4;.var	I1[1152]="table/I1.txt";
.align 4;.var    Q1[1152]="table/Q1.txt";
.align 4;.var    IQ1[1152];
#endif

.section	data6b;
.align 4; .var xcorrs_result_Y[28560];
.align 4; .var q_time_code[114*20]="table/q_time_code_hex.txt";
.align 4; .var qout_o[2304]="table/debug_data/qout_o.dat";
.align 4; .var qout_e[2304]="table/debug_data/qout_e.dat";
.align 4; .var Pointer0; //Point to Ant_Data1 and Ant_Data2 exchange.
.align 4; .var Pointer1;

/////////////////////BLOCK 8///////////////////
.section	data8a;
.align 4; .var Receive_Link0_TCB[446*4*2];
.align 4; .var Receive_Link2_TCB[18*4*2];

.section	data8b;
.align 4; .var Receive_Link1_TCB[446*4*2];
.align 4; .var Receive_Link3_TCB[18*4*2]; 

/////////////////////BLOCK 10///////////////////
.section	data10a;

.section 	data10b;
.var Save_INTCTL;
.var int_counter;
.var linkport_mode_bak;
///////////////////////////for track parameter////////////////
.global cp_trk_status;
.global cp_corr_result_mid;
.global cp_corr_result_ahead;
.global cp_corr_result_later;
.global cp_corr_abs_mid;
.global cp_corr_abs_ahead;
.global cp_corr_abs_later;


.var cp_trk_status;

.align 4;
.var cp_corr_result_mid[2];
.var cp_corr_result_ahead[2];
.var cp_corr_result_later[2];

.var cp_corr_abs_mid;
.var cp_corr_abs_ahead;
.var cp_corr_abs_later;

/////////////////////STACK	///////////////////
.section Stack_J;
.align 4;
.var JStack[512];

.section Stack_K;
.align 4;
.var KStack[512];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -