This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TMS320C6657:Kalman 滤波器导致内存不足

Guru**** 2595805 points
Other Parts Discussed in Thread: SYSBIOS

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/637152/ccs-tms320c6657-kalman-filter-caused-out-of-memory

器件型号:TMS320C6657
Thread 中讨论的其他器件:SYSBIOS

工具/软件:Code Composer Studio

我在 C6657上应用了卡尔曼滤波器。 但我不知道如何初始化它、我找不到例程。 我参考定义和初始化之后的博客、但它始终提示我 L1/L2高速缓存存储器故障。 我使用 SYSBIOS。 我想它可能会内存不足。 但我不知道如何解决这个问题。 我的输入图片大小为704 * 576。 我不知道这是否与我键入的图片大小有关。 我希望有人能帮助我。

下面是错误内容

=0x0
B30=0x0 B31=0x108dc690
NTSR=0x1820f
ITSR=0x20d
IRP=0x108d3b8
SSR=0x0
AMR=0x0 RILC=0x5

ILC =0x0
异常0x108c8f98
EFR=0x40000002 NRP=0x108c8f98
内部异常内部异常:ILC =0x108fR=0x8


异常0x120=0x0008内存异常0x0008FERR=0x0008内存异常,异常=0x108fR=0x100FL2=0x0008内存异常: 0x100FL2=0x0008内存异常,异常0x100FL2=0x0008



xdc.runtime.Error.raise:终止执行 

我使用像这个:一样的卡尔曼滤波器

void kalman2x4_initialize (VLIB_kalmanFilter_2x4 *KFtest)

{

memset (KFTES-> transition、0、SD_2x4*SD_2x4*sizeof (short));

memset (KFtest->errorCov、0、 sd_2x4*sd_2x4*sizeof (short));

memset (Ktest->谓 词 ErrorCov、0、sd_2x4*sd_2x4*sizeof (short));

memset (Ktest->processNoiseCov、 0、SD_2x4*SD_2x4*sizeof (short));

memset (KFtest->measureNoiseCov、0、MD_2x4*MD_2x4*sizeof (short));

memset (KFtest->measurement、0、SD_2x4*MD_2x4*sizeof (short));

memset (KFtest->state、0、 sd_2x4*sizeof (short));

memset (KFtest->谓 词状态、0、sd_2x4*sizeof (short));

memset (KFtest->kalmanGain、 0、SD_2x4*MD_2x4*sizeof (short));

memset (KFtest->temp1、0、SD_2x4*SD_2x4*sizeof (short));

memset (KFtest->temp2、0、SD_1x2*SD_2x4*sizeof (short));

memset (KFtest->temp3、0、 sd_1x2*sd_2x4*sizeof (short));



memcpy (Ktest->transition、transition、sd_2x4*sd_2x4*sizeof (short));
memcpy (KFTESTI->errorCov、errorCov、SD_2x4*sd_2x4*sizeof (short);memctry*tureCMD

(short->2 x 4);mem2x4*processeCov (short);
memcpy (KFtest->measurementNoiseCov、measureNoiseCov、MD_2x4*MD_2x4*sizeof (short));

}
void image_detect (VLIb_kalmanFilter_2x4 * kF、uint16_t x、uint16_t y)
{uint16_t




= 1 *(t_t);uint16_t = uint16_t = uint4 (t_malloc);uint16_t = uint16_t = uint4 (uintmalloc);uint16_t = uint16_t = uint16_t alt aluint4)* uint4 (uint4);uintmalloc (uint_t = uint_t alt aluint4
VLIB_kalmanFilter_2x4_correct (KF、Measure、残余);
Free (Measure);
Free (残余);
}
//initialization
if (result->falg =0)
{
kalman2x4_initialize (KF);
KF->state[0]= measure_x;
KF->state[2]= measure_y;
}
/application
image_detect (kF、measure_x、measure_y);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我已通知软件团队。 他们的反馈将在此处发布。

    您能否分享您正在使用的 SDK 版本?

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    非常感谢、我使用的是 VLIB_c66x_3_3_3_0_3。

    此致、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉耽误你的回答。 这是否仍是一个需要注意的未决问题、或者我是否要关闭?

    关于您的评论:

    1.您能指定异常发生的位置吗? 它发生在哪个函数调用中?
    2. KF 分配在哪里? 它是在初始化之前作为应用程序中的局部变量、还是从堆中执行 malloc、还是其他一些操作?

    此致、
    Jesse