超全麵資料:DSP程序跑飛原因及解決方法
發布時間:2015-04-15 責任編輯:sherry
【導讀】編程的時候DSP程序跑飛的原因有哪些?我們該如何解決這些DSP技術問題?今天小編搜羅來了程序跑飛的各種原因,同時也湊齊了各種解決程序跑飛的方法,希望能夠對大家有所幫助。
DSP程序跑飛原因狀況一
一般調試代碼的步驟有兩種方案:方案一是先調試主程序,最後添加看門狗等保護電路;fanganershixiandajiandaimahuanjing,birukanmengoubaohudianludeng,ranhouzaigaipingtaishangkaifazhuchengxu。weilegenghaodebianxiesuanfadaima,wangwangcaiyongfanganyi。zaitiaoshidaimadeguochengzhong,yudaoguoruxiayizhongchengxupaofeideqingkuang:
【原因】
硬件看門狗電路設計失誤。
【設計】
設計方案中,采用美信芯片MAX706AT設計硬件看門狗電路,看似非常完美的電路,在連接仿真器進行簡單方波輸出測試時,發現DSP沒有任務輸出。程序已經異常了,因為采用的方案一設計代碼,所以隻知道異常,不知道原因。
【解決思路】
1、無數次的下載程序,並運行程序,但是程序總是異常運行。
2、慶幸的是,電路設計中有好幾個IO直接驅動LED的電路,這時候,特別注意到LED顯示的亮度不正常,然後趕緊拿萬用表測試IO電壓,結果隻有1.6V左右。這時已經明白,是看門狗異常了。
3、排查電路中的MAX706AT電路,一點問題都沒有。查找MAX706AT的封裝和管腳對應時,發現了問題的根源。芯片有SO和UMAX兩種封裝,說來奇怪,名稱完全相同,封裝不同,加上管腳定義不同,造成了看門狗芯片的複位電壓總是低電壓。
終於找到問題了。

DSP程序跑飛原因狀況二
【原因】
中斷處理超時引起程序跑飛
【設計】
設計基於TMS320F28335(4)的雙極性信號采集係統,因為頻率較高,因此采用了中斷采集方式,也就是說用PWM輸出方波,觸發采集模塊開始采集,當采集鎖存之後會中斷。
告知dsp進行數據讀取。那麼數據讀取就是在中斷中進行的。
在初版中,采用周期=20ms/256進行采樣觸發。
很奇怪的問題發生了,DEBUG模式下,沒有問題,可以采集到數據,但是RELEASE模式下,采集數據時,程序跑飛。
當意識到程序跑飛時,懷疑到中斷程序太長,或者處理時間太長。
[page]
【解決思路】
猜測周期太短,那麼可以將周期增加,周期=20ms/128,仍然失敗告終。
再減周期=20ms/64,okay。
宜將剩勇追窮寇,周期減為=20ms/32,okay
第一次就這樣解決了。
【附】當使用dsp進(jin)行(xing)算(suan)法(fa)處(chu)理(li)時(shi),一(yi)定(ding)要(yao)先(xian)對(dui)算(suan)法(fa)評(ping)估(gu),否(fou)則(ze),當(dang)認(ren)識(shi)到(dao)自(zi)己(ji)程(cheng)序(xu)問(wen)題(ti)時(shi),已(yi)經(jing)來(lai)不(bu)及(ji)了(le),因(yin)為(wei)參(can)數(shu)修(xiu)改(gai)之(zhi)後(hou),有(you)可(ke)能(neng)不(bu)能(neng)滿(man)足(zu)係(xi)統(tong)的(de)需(xu)求(qiu)。
DSP程序跑飛原因狀況三
1.不小心操作到了子函數返回地址值。
2.數值溢出,讀寫了超過範圍的存儲空間,堆棧溢出等 。
程序是帶有BIOS的程序,當程序跑飛後我就在主函數的最後一行設置斷點,結果程序可以跑到主函數的最後一行,接下來就是初始化BIOS操作係統了,操作係統的源代碼又是不可見的,所以一時陷入了僵局。不知道該怎麼辦好。
在移植程序的時候跑飛的,後來我就拿程序的BIOS配置和另一個正常的BIOS配置比較,結果發現Stack Size是0x400(即默認的配置),而另一個是0x1000,然後改過來之後程序恢複正常。
一開始的時候意識到可能是堆棧溢出造成的程序跑飛,所以就增大了每塊存儲器上的動態堆棧,即:create a heap in this memory heap size:0x08000 。結果不管用。
後來才修改的Stack Size (MAUs)選項,即全局的堆棧大小,從0x400改到0x1000然後問題排除。後來才明白,動態堆棧是用來動態的創建任務用的,並非是想要的那個堆棧。經過反思感覺還是對BIOS係統不熟悉造成的大錯!
DSP程序跑飛原因狀況四
過單片機的程序跑飛的有,靜電幹擾。 超頻過大。導致不穩定。
DSP程序跑飛原因狀況五
程序經常跑飛的ti dsp 調試原因
1) 程序沒有結尾或不是循環的程序。
2)nmi管腳沒有上拉。
3)在看門狗動作的時候程序會經常跑飛。
4)程序編製不當也會引起程序跑飛。
5)硬件係統有問題
數shu值zhi溢yi出chu,讀du寫xie了le超chao過guo範fan圍wei的de存cun儲chu空kong間jian,堆dui棧zhan溢yi出chu,異yi常chang主zhu要yao原yuan因yin。複fu位wei芯xin片pian的de原yuan理li,是shi為wei了le防fang止zhi程cheng序xu出chu錯cuo。但dan是shi不bu能neng通tong過guo複fu位wei來lai解jie決jue異yi常chang問wen題ti,所suo以yi,首shou先xian要yao調tiao試shi代dai碼ma,做zuo到dao代dai碼ma正zheng常chang運yun轉zhuan,然ran後hou,再zai添tian加jia複fu位wei模mo塊kuai。這zhe樣yang才cai能neng做zuo好hao產chan品pin,否fou則ze,為wei了le複fu位wei而er複fu位wei。
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 算力爆發遇上電源革新,大聯大世平集團攜手晶豐明源線上研討會解鎖應用落地
- 築基AI4S:摩爾線程全功能GPU加速中國生命科學自主生態
- 一秒檢測,成本降至萬分之一,光引科技把幾十萬的台式光譜儀“搬”到了手腕上
- AI服務器電源機櫃Power Rack HVDC MW級測試方案
- 突破工藝邊界,奎芯科技LPDDR5X IP矽驗證通過,速率達9600Mbps
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
微波功率管
微波開關
微波連接器
微波器件
微波三極管
微波振蕩器
微電機
微調電容
微動開關
微蜂窩
位置傳感器
溫度保險絲
溫度傳感器
溫控開關
溫控可控矽
聞泰
穩壓電源
穩壓二極管
穩壓管
無焊端子
無線充電
無線監控
無源濾波器
五金工具
物聯網
顯示模塊
顯微鏡結構
線圈
線繞電位器
線繞電阻



