2015-09-09 26 views
1

我正在使用带有CoIDE的板载STM32L152RBT6的STM32L发现。我创建了新的项目,挑选STM32L152RBT6微控制器,并添加以下组件:STM32L发现一步一步调试

  • C_library
  • cmsis_core(其中据我可以看到包含启动)
  • STM32L152xB_CUBELIB现在

我m试图执行这个非常简单的代码的分步调试:

int main(void) 
{ 
    int var1 = 1; 
    int var2 = 2; 

    while(1) 
    { 
     var1 = var1+1; 
     var2 = var2*var1; // breakpoint here 
    } 
} 

它编译,加载,但是在逐步调试时编译器会忽略代码行。当从断点运行到断点时,程序完全疯狂,var1和var2值似乎是随机的。 编译工具链:GNU工具ARM嵌入式4.9 2015q2

我有另一个STM32F4xx uC板,它工作正常。 嘿,社区,你有什么想法是什么错?

+0

看起来像你选择了错误的MCU和init不能正常工作 – vlk

回答

0

对不起,我的声望不足以对某个问题发表评论,所以唯一能帮助您的方法是在回复框中写​​下我的回复,但我完全意识到这可能不是一个完整答案。

这种行为可能有几个原因。不幸的是,您的问题中没有太多细节可以给我一个直接的答案。 错误的微选将是我第一次猜测。 STM32L152RBT6是一个Cortex M3,也许你正试图将一个为M4编译的程序加载到一个M3系列器件上。如果你这样做了,微型初始化将是错误的,并可能导致一些未定义的行为。

你在这两种情况下使用的调试器是什么?在发现板的情况下,我会自动假设您正在使用内置的STLink。另一个有M4系列微控制器的电路板呢?