[英]STM32L-Discovery step-by-step debugging
我正在使用带有CoIDE的STM32L152RBT6和STM32L-Discovery。 我创建了一个新项目,选择了STM32L152RBT6微控制器,并添加了以下组件:
现在,我尝试对这个非常简单的代码进行逐步调试:
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.