最近在6670上运行程序,发现程序总是跑飞,单步调试发现程序在执行时,前后的参数发生了变化,比如这个 for(k = core0_eq_symbol; k < core1_eq_symbol;k++)
{
prb_demapping_pdsch((signed int*)che_interp_data[0],
NUM_MAX_ANTENNA,
vxx_cell_para.cellID,
k,
slot_idx >> 1,
slot_idx,
(signed int*)vxx_fft_lay_buffer.prbdemapping_freq_che[0][0][k - core0_eq_symbol],
(signed int*)vxx_fft_lay_buffer.prbdemapping_freq_che[0][1][k - core0_eq_symbol]
);
prb_demapping_pdsch((signed int*)che_interp_data[1],
NUM_MAX_ANTENNA,
vxx_cell_para.cellID,
k,
slot_idx >> 1,
slot_idx,
(signed int*)vxx_fft_lay_buffer.prbdemapping_freq_che[1][0][k - core0_eq_symbol],
(signed int*)vxx_fft_lay_buffer.prbdemapping_freq_che[1][1][k - core0_eq_symbol]
); } 这段代码中k是作为一个循环的参数传递给里面的两个子函数的,但是当子函数1运行结束时,子函数2中的k值突变为一个随机数,导致程序出错。
我怀疑是不是cmd分配的问题,有没有遇到过类似情况的大神帮忙分析一下。子 函数中是没有对k进行赋值的哈
|