i.mx rt系列遇害筆記-----systick被gpio害了

起因和現象

我收到一個i.mx rt1060的EVK評估板,在使用的時候,我就已經遇到一個問題了,就是在初始化的時候,systick不能被正常初始化,在systick初始化運行一定時間之後,程序就會崩潰卡死。我一直無法理解爲什麼,配置我是參照例程配置的,講道理是沒問題的。後來我的解決辦法是,直接操作systick的寄存器進行配置,不用core_cm7.h的函數,最後正常使用。

而這次是出現在i.mx rt 1052的開發板上,我依然用同樣的方式去操作寄存器,但發現並不行,最後我納悶了,參照野火的程序,發現居然可以通過??那例程和野火的程序,差別在哪?我對比了一下,
在這裏插入圖片描述
左邊是參考野火的,右邊是例程。例程的延時,用的是遞減的方式延時,並沒有用systick。這兩個程序的最大差別在於,有無PAD設置,以及GPIO的複用配置。我發現,在使用i.mx rt系列的時候,gpio的配置如果沒有加入pad的設置和mux(複用)的配置,很容易直接進入Handfault,並且是那種運行一陣之後才進去的。
同樣在配置IO中斷的時候,如果沒有PAD的配置,依然會進入Handfault,真讓人着迷啊。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章