㈠ 單片機程序跑飛怎麼去查找原因呢
對於簡單的錯誤,如果能初步猜測到執行哪個函數後跑飛的,那就可以直接單步調試,看看什麼原因,不外乎指針非法操作,數組越界之類的。
還有一種笨方法,注釋函數,如果注釋函數後bug不再現,那麼就可以按照剛剛說的單步進去這個函數,看看有什麼問題。
更有效的但是也對水平要求更高的方法可以看一下別人的方法。
下面是幾個鏈接,可以看看,學習一下。
記一次STM32中HardFault問題的調試解決
如何找到導致程序出現HardFault
STM32硬體錯誤HardFault_Handler的處理方
定位產生HARD FAULT之前的代碼
㈡ 什麼是程序跑飛
程序跑飛 通常是指PC指針沒有按要求指向將要執行的指令、、
不知道指向哪裡了。。
喂狗貌似是避免看門狗不斷發出復位信號的,。忘記了。。5555。。
㈢ 程序跑飛一般是什麼原因造成的
keil3調用空函數{}或者不存在的函數經常會讓程序運行到調用處後直接復位,太坑了,調試時一不留神就被害了,查半天不知道原因,一個一個函數檢查才發現的。那些函數是准備增加功能用的,沒調好就沒寫,結果,說多了都是淚。
㈣ 什麼叫單片機的程序「跑飛」
用看門狗,跑飛了一回重新啟動,干擾把電源做好一點,濾波做好一點,如果有必要可以加個金屬屏蔽罩之類的,單片機選擇抗干擾性能好點的,比如avr,stc這些,根據對c8051f系列的抗干擾測試,這單片機不適合在干擾大的地方使用,其他430單片機沒測試過,還不知道抗干擾怎麼樣。謝謝
㈤ 程序跑飛是怎麼回事
請問你是用紅外感測器嗎?在紅外信號處理語句加個延時語句,再試一試。
㈥ 程序跑飛是什麼意思
程序跑飛是指系統受到某種干擾後,程序計數器PC的值偏離了給定的唯一變化歷程,導致程序運行偏離正常的運行路徑.程序跑飛因素及後果往往是不可預計的.在很多情況下,程序跑飛後系統會進入死循環而導致死機.
㈦ 請教程序跑飛的原因
我的試驗系統是瑞泰的ICETEK-DM642-IDK-M的,剛接觸DSP, 不是很明白樓上講的模擬和燒寫的概念,希望能得到指點我的.out文件load進板子時是直接放在SDRAM中的呢?還是放在flash裡面,要通過bootload將代碼移進SDRAM中啊?如何能夠合理分配存儲器,我的系統很多設置是在BIOS裡面完成的,包括ISRAM和SDRAM的大小和起始位置以及在上面分配堆的大小,還有就是給任務分配棧的大小,以及用戶自定義的設備,像Vcap和Vdisp等,cmd文件中並沒有像MEMORY,和 SECTION的設置,.text,.bss等的具體位置,cmd文件裡面基本是空的,沒寫什麼東西,都是通過BIOS配置的,這有關系嗎?是不是要在CMD文件里將各段具體重新定位啊
㈧ 51單片機程序跑飛什麼意思怎麼解決
程序跑飛就是程序執行錯誤,程序不知道運行到哪裡,這就需要設定標志位,尋找跑飛的地方,再改
㈨ 程序跑飛,是程序的問題還是arm硬體的問題
寫程序是項細致活,重新從頭到尾檢查你的程序,把所有的可能考慮進去,代碼中要所有可能引起錯誤的地方都最要先加判斷條件,以防程序出現各種意外