簡體   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