[英]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.