
你的位置:首頁(yè) > 測(cè)試測(cè)量 > 正文
超全面資料:DSP程序跑飛原因及解決方法
發(fā)布時(shí)間:2015-04-15 責(zé)任編輯:sherry
【導(dǎo)讀】編程的時(shí)候DSP程序跑飛的原因有哪些?我們?cè)撊绾谓鉀Q這些DSP技術(shù)問(wèn)題?今天小編搜羅來(lái)了程序跑飛的各種原因,同時(shí)也湊齊了各種解決程序跑飛的方法,希望能夠?qū)Υ蠹矣兴鶐椭?/strong>
DSP程序跑飛原因狀況一
一般調(diào)試代碼的步驟有兩種方案:方案一是先調(diào)試主程序,最后添加看門狗等保護(hù)電路;方案二是先搭建代碼環(huán)境,比如看門狗保護(hù)電路等,然后在該平臺(tái)上開(kāi)發(fā)主程序。為了更好的編寫(xiě)算法代碼,往往采用方案一。在調(diào)試代碼的過(guò)程中,遇到過(guò)如下一種程序跑飛的情況:
【原因】
硬件看門狗電路設(shè)計(jì)失誤。
【設(shè)計(jì)】
設(shè)計(jì)方案中,采用美信芯片MAX706AT設(shè)計(jì)硬件看門狗電路,看似非常完美的電路,在連接仿真器進(jìn)行簡(jiǎn)單方波輸出測(cè)試時(shí),發(fā)現(xiàn)DSP沒(méi)有任務(wù)輸出。程序已經(jīng)異常了,因?yàn)椴捎玫姆桨敢辉O(shè)計(jì)代碼,所以只知道異常,不知道原因。
【解決思路】
1、無(wú)數(shù)次的下載程序,并運(yùn)行程序,但是程序總是異常運(yùn)行。
2、慶幸的是,電路設(shè)計(jì)中有好幾個(gè)IO直接驅(qū)動(dòng)LED的電路,這時(shí)候,特別注意到LED顯示的亮度不正常,然后趕緊拿萬(wàn)用表測(cè)試IO電壓,結(jié)果只有1.6V左右。這時(shí)已經(jīng)明白,是看門狗異常了。
3、排查電路中的MAX706AT電路,一點(diǎn)問(wèn)題都沒(méi)有。查找MAX706AT的封裝和管腳對(duì)應(yīng)時(shí),發(fā)現(xiàn)了問(wèn)題的根源。芯片有SO和UMAX兩種封裝,說(shuō)來(lái)奇怪,名稱完全相同,封裝不同,加上管腳定義不同,造成了看門狗芯片的復(fù)位電壓總是低電壓。
終于找到問(wèn)題了。

DSP程序跑飛原因狀況二
【原因】
中斷處理超時(shí)引起程序跑飛
【設(shè)計(jì)】
設(shè)計(jì)基于TMS320F28335(4)的雙極性信號(hào)采集系統(tǒng),因?yàn)轭l率較高,因此采用了中斷采集方式,也就是說(shuō)用PWM輸出方波,觸發(fā)采集模塊開(kāi)始采集,當(dāng)采集鎖存之后會(huì)中斷。
告知dsp進(jìn)行數(shù)據(jù)讀取。那么數(shù)據(jù)讀取就是在中斷中進(jìn)行的。
在初版中,采用周期=20ms/256進(jìn)行采樣觸發(fā)。
很奇怪的問(wèn)題發(fā)生了,DEBUG模式下,沒(méi)有問(wèn)題,可以采集到數(shù)據(jù),但是RELEASE模式下,采集數(shù)據(jù)時(shí),程序跑飛。
當(dāng)意識(shí)到程序跑飛時(shí),懷疑到中斷程序太長(zhǎng),或者處理時(shí)間太長(zhǎng)。
[page]
【解決思路】
猜測(cè)周期太短,那么可以將周期增加,周期=20ms/128,仍然失敗告終。
再減周期=20ms/64,okay。
宜將剩勇追窮寇,周期減為=20ms/32,okay
第一次就這樣解決了。
【附】當(dāng)使用dsp進(jìn)行算法處理時(shí),一定要先對(duì)算法評(píng)估,否則,當(dāng)認(rèn)識(shí)到自己程序問(wèn)題時(shí),已經(jīng)來(lái)不及了,因?yàn)閰?shù)修改之后,有可能不能滿足系統(tǒng)的需求。
DSP程序跑飛原因狀況三
1.不小心操作到了子函數(shù)返回地址值。
2.數(shù)值溢出,讀寫(xiě)了超過(guò)范圍的存儲(chǔ)空間,堆棧溢出等 。
程序是帶有BIOS的程序,當(dāng)程序跑飛后我就在主函數(shù)的最后一行設(shè)置斷點(diǎn),結(jié)果程序可以跑到主函數(shù)的最后一行,接下來(lái)就是初始化BIOS操作系統(tǒng)了,操作系統(tǒng)的源代碼又是不可見(jiàn)的,所以一時(shí)陷入了僵局。不知道該怎么辦好。
在移植程序的時(shí)候跑飛的,后來(lái)我就拿程序的BIOS配置和另一個(gè)正常的BIOS配置比較,結(jié)果發(fā)現(xiàn)Stack Size是0x400(即默認(rèn)的配置),而另一個(gè)是0x1000,然后改過(guò)來(lái)之后程序恢復(fù)正常。
一開(kāi)始的時(shí)候意識(shí)到可能是堆棧溢出造成的程序跑飛,所以就增大了每塊存儲(chǔ)器上的動(dòng)態(tài)堆棧,即:create a heap in this memory heap size:0x08000 。結(jié)果不管用。
后來(lái)才修改的Stack Size (MAUs)選項(xiàng),即全局的堆棧大小,從0x400改到0x1000然后問(wèn)題排除。后來(lái)才明白,動(dòng)態(tài)堆棧是用來(lái)動(dòng)態(tài)的創(chuàng)建任務(wù)用的,并非是想要的那個(gè)堆棧。經(jīng)過(guò)反思感覺(jué)還是對(duì)BIOS系統(tǒng)不熟悉造成的大錯(cuò)!
DSP程序跑飛原因狀況四
過(guò)單片機(jī)的程序跑飛的有,靜電干擾。 超頻過(guò)大。導(dǎo)致不穩(wěn)定。
DSP程序跑飛原因狀況五
程序經(jīng)常跑飛的ti dsp 調(diào)試原因
1) 程序沒(méi)有結(jié)尾或不是循環(huán)的程序。
2)nmi管腳沒(méi)有上拉。
3)在看門狗動(dòng)作的時(shí)候程序會(huì)經(jīng)常跑飛。
4)程序編制不當(dāng)也會(huì)引起程序跑飛。
5)硬件系統(tǒng)有問(wèn)題
數(shù)值溢出,讀寫(xiě)了超過(guò)范圍的存儲(chǔ)空間,堆棧溢出,異常主要原因。復(fù)位芯片的原理,是為了防止程序出錯(cuò)。但是不能通過(guò)復(fù)位來(lái)解決異常問(wèn)題,所以,首先要調(diào)試代碼,做到代碼正常運(yùn)轉(zhuǎn),然后,再添加復(fù)位模塊。這樣才能做好產(chǎn)品,否則,為了復(fù)位而復(fù)位。
特別推薦
- 灣芯展2025預(yù)登記啟動(dòng)!10月深圳共襄半導(dǎo)體盛宴
- 滌綸電容技術(shù)全解析:從聚酯薄膜特性到高保真應(yīng)用設(shè)計(jì)指南
- 安規(guī)電容技術(shù)全景圖:從安全設(shè)計(jì)到國(guó)產(chǎn)替代突圍
- EMVCo C8預(yù)認(rèn)證!意法半導(dǎo)體STPay-Topaz-2重塑支付芯片安全邊界
- 力芯微ET6416 vs TI TPS25946:系統(tǒng)級(jí)芯片設(shè)計(jì)的兩種路徑
- 從方波到矢量控制:BLDC電機(jī)驅(qū)動(dòng)器的國(guó)產(chǎn)化進(jìn)階之路
- 集成化與智能化:國(guó)產(chǎn)有刷電機(jī)驅(qū)動(dòng)芯片的技術(shù)躍遷與應(yīng)用突圍
技術(shù)文章更多>>
- 360采購(gòu)幫發(fā)布“五大權(quán)益體系”,助力商家生意長(zhǎng)效增長(zhǎng)
- 工程師親述:國(guó)產(chǎn)BLDC驅(qū)動(dòng)器替代的“踩坑”實(shí)錄與破局指南
- 羅姆與獵芯網(wǎng)達(dá)成戰(zhàn)略合作,中文技術(shù)論壇同步上線
- 貿(mào)澤電子2025二季度新品潮:15,000+物料助力設(shè)計(jì)升級(jí)
- 全數(shù)會(huì)2025工業(yè)制造論壇:重磅嘉賓齊聚深圳共話工業(yè)制造數(shù)字化轉(zhuǎn)型新篇章
技術(shù)白皮書(shū)下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
保險(xiǎn)絲管
北斗定位
北高智
貝能科技
背板連接器
背光器件
編碼器型號(hào)
便攜產(chǎn)品
便攜醫(yī)療
變?nèi)荻O管
變壓器
檳城電子
并網(wǎng)
撥動(dòng)開(kāi)關(guān)
玻璃釉電容
剝線機(jī)
薄膜電容
薄膜電阻
薄膜開(kāi)關(guān)
捕魚(yú)器
步進(jìn)電機(jī)
測(cè)力傳感器
測(cè)試測(cè)量
測(cè)試設(shè)備
拆解
場(chǎng)效應(yīng)管
超霸科技
超級(jí)本
超級(jí)電容
車道校正