打印

程序一运行就跳到错误中断了

[复制链接]
2007|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
403280134|  楼主 | 2012-12-12 10:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
还有个问题请坛里高人帮忙解决一下

我一调用一个函数,MatrixMultiply(F,7,7,P,7,7,A ); //A=F*P



程序就调到这个函数里了void HardFault_Handler(void)
{
  /* Go to infinite loop when Hard Fault exception occurs */
  while (1)
  {
  }
}

调用的函数是
void MatrixMultiply( float* fMatrixA,unsigned int uRowA,unsigned int uColA,
float* fMatrixB,unsigned int uRowB,unsigned int uColB,float* MatrixResult )
{
unsigned int index_i = 0;
unsigned int index_j = 0;
unsigned int index_l = 0;
unsigned int index_u = 0;
unsigned int index_k = 0;
unsigned int index_v = 0;
uRowB = uRowB;

for(index_i=0;index_i<uRowA;index_i++)
  for(index_j=0;index_j<uColB;index_j++)
  {
   index_u = index_i*uColB + index_j;
   MatrixResult[index_u] = 0.0;
   for(index_l=0;index_l<uColA;index_l++)
   {
    index_k = index_i*uColA+index_l;
    index_v = index_l*uColB+index_j;

    if (((*(fMatrixA+index_k))!=0.0) && ((*(fMatrixB+index_v))!=0.0))
     *(MatrixResult+index_u) += (*(fMatrixA+index_k)) * (*(   fMatrixB+index_v));
   }
   }
} //void MatrixMultiply

找人看了一下,程序写的语法没问题,用的是mdk4.3编译
沙发
uet_cache| | 2012-12-12 10:46 | 只看该作者
你的F,P,A是如何定义的。

使用特权

评论回复
板凳
uet_cache| | 2012-12-12 10:47 | 只看该作者
还有,你可以单步进入此函数,看运行到哪一条语句时出的错就清楚了。

使用特权

评论回复
地板
LDTEST| | 2012-12-12 10:58 | 只看该作者
1、MatrixMultiply 函数的 变量是不是太多了,是否该考虑下下用结构体 传递,cortex  m3 默认 入栈 只有 R0-R3(?自行查证 cm3   权威指南) ,变量过多时 编译器是否将其传递
2、(*(fMatrixA+index_k))!=0.0 这个好像很难出现 ==的现象吧 ,浮点数很难相等吧

使用特权

评论回复
5
403280134|  楼主 | 2012-12-12 15:01 | 只看该作者
uet_cache 发表于 2012-12-12 10:46
你的F,P,A是如何定义的。

float F[49],P[49],A[49];

使用特权

评论回复
6
403280134|  楼主 | 2012-12-12 15:03 | 只看该作者
uet_cache 发表于 2012-12-12 10:47
还有,你可以单步进入此函数,看运行到哪一条语句时出的错就清楚了。

我单步运行了,就在函数头上  
void MatrixMultiply( float* fMatrixA,unsigned int uRowA,unsigned int uColA,
float* fMatrixB,unsigned int uRowB,unsigned int uColB,float* MatrixResult )
从这就跳了

使用特权

评论回复
7
uet_cache| | 2012-12-12 15:19 | 只看该作者
你把指针传递参数去掉,在函数里面直接使用你定义的指针变量进行运算,看看还有没有相同的问题。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝