繁体   English   中英

STM32L-发现分步调试

[英]STM32L-Discovery step-by-step debugging

我正在使用带有CoIDE的STM32L152RBT6和STM32L-Discovery。 我创建了一个新项目,选择了STM32L152RBT6微控制器,并添加了以下组件:

  • C_library
  • cmsis_core(据我所知,其中包含启动)
  • STM32L152xB_CUBELIB

现在,我尝试对这个非常简单的代码进行逐步调试:

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

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

它可以编译,加载,但是在逐步调试时,编译器会省略代码行。 从断点到断点运行时,程序的行为完全疯狂,并且var1和var2值似乎是随机的。 编译器工具链:GNU Tools ARM Embedded 4.9 2015q2

我还有另一块使用STM32F4xx uC的板,它可以正常工作。 嘿,社区,您有什么想法吗?

抱歉,我的声誉不足以评论一个问题,因此,尽管我完全意识到这可能不是完整的答案,但唯一可以帮助您的方法是在答案框中写下我的回答。

这种行为可能有多种原因。 不幸的是,您的问题中没有太多细节可供我直接回答。 错误的微型选择将是我的第一个猜测。 STM32L152RBT6是Cortex M3,也许您正在尝试将针对M4编译的程序加载到M3系列设备。 如果这样做,微初始化将是错误的,并可能导致某些未定义的行为。

在这两种情况下,您都使用什么调试器? 对于发现板,我会自动假定您正在使用内置的STLink。 那里面有M4系列微型芯片的另一块呢?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM