|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
[轉(zhuǎn)貼]總結(jié)下開發(fā)調(diào)試MSP430系列的一些另類問題 |
| 作者:miaofy 欄目:單片機(jī) |
從99年第10屆全國單片機(jī)展示會上(當(dāng)時在杭州大學(xué)舉辦的)認(rèn)識MSP430,呵呵,那個時候FLASH的只有F1101,F1121等初級芯片,覺得這個玩意還有點特殊,尤其可以JTAG調(diào)試,免了個編程器 從2002年開始折騰這個系列,低功耗,流行的SOC結(jié)構(gòu),適合做智能儀表的MSP430開始吸引我了.呵呵,下面我將說說開發(fā)至今遇到的一些另類問題,跟大家切磋下. 不管是N年前的1.21/1.26版本,還是現(xiàn)在的3.10/3.40版本,IAR一直是我用的最多的一個編譯/調(diào)試器,玩MSP430不可能不接觸到這個 那我就以IAR調(diào)試為例來說說了咯 原始級 問題,一般是剛開始入門的哥們姐們要遇到的問題 1, 接上仿真器,發(fā)現(xiàn)不能下載,這個問題想必大家都有遇到過,IAR提示找不到目標(biāo)!?? 可能的原因: A 并口驅(qū)動能力不足,在電腦的BIOS界面下設(shè)置成ECP或者 ECP+EPP模式 B JTAG線太長,一般超過20CM不推薦,而且這個線最好不要交叉纏繞,會影響實時在線調(diào)試 C 你的負(fù)載太大,一般功耗相對比較大,電流超過20MA以上的板子,建議用外接電源,要不光靠并口那點驅(qū)動能力,那MCU的電壓就要被拉低到不能寫FLASH了,呵呵 2, 程序下載到一半,突然告警并報錯,說某某地址寫不進(jìn)去!??倒~~我開始也以為是FLASH被寫壞了,呵呵,其實MSP430的FLSH沒這么脆弱 可能的原因: A 芯片的復(fù)位電路引起的,在寫FLASH的時候,會造成系統(tǒng)電壓的一些波動,可能導(dǎo)致芯片復(fù)位,而為什么都是寫到這個地址才錯,那是IAR的問題,改用BSL再燒一邊,就可以克服了 B 芯片有可能死機(jī)了,給斷電,拔掉JTAG沒,稍后再試,一般沒有問題 C 如果都不是上述的方法能解決的,告訴你一個更酷的辦法,給芯片上電,電壓=3.6V,重新寫一次,一定OK.為什么,寫不進(jìn)FLASH主要是F1XX系列的寫FLASH電壓不能低于2.7V,一般2.5V以下才不能真正工作,因此用3.6V電壓,什么樣的片子都能寫回來(BTW,到現(xiàn)在為止,我還沒寫壞過一片MSP430的FLASH) 3, 關(guān)于3.40以上版本的仿真器設(shè)置問題. 說實在的,真正開發(fā)起來,我都不太愿意隨便換IAR的版本,有些語法不兼容,有些設(shè)置不一樣,不花點時間開 WHAT'S NEW,就要到BBS上去發(fā)貼了,呵呵 最近裝了3.40的 限制版,一路NEXT,好象沒什么特別的地方,裝好后發(fā)現(xiàn)芯片的選擇余地多了很多,包括了F2XX,N多種類,哈哈再上硬件FET接著跑個DEMO看看,居然不成,報錯!! 原來: 在仿真欄目里選好 FET 硬件仿真以后,還有一項是訪真器的選擇,我倒~ 沒仔細(xì)看的哥們姐們一定納悶,為啥還要搞個 LPT || J-LINK || TI-USB ,更滑稽的是IAR居然認(rèn)為現(xiàn)在大伙都有米買USB的FET,默認(rèn)選項是 TI-USB,那就是這個問題咯,改成 LPT(并口FET) 就完事了。 另類級問題 1, F1611大數(shù)組定義,不能正常運行的問題 相信有不少朋友已經(jīng)用上了F1611,這個RAM大大的MSP,呵呵.那就有可能會遇到 RAM中定義的變量/數(shù)組在超過一個極限的時候,MSP程序不能正常運行的現(xiàn)象吧.一般初步判斷,可以用I/O輸出電平 來 確定程序進(jìn)程.這樣可以非常方便的知道該問題是由于WDT造成的,哈哈 (RAM的初始化時間大于WDT默認(rèn)的32MS時間,因此MSP復(fù)位) 下面來看下解決的辦法: A 對你的數(shù)組用 __no init_定義,上電編譯器不產(chǎn)生特殊的附加函數(shù)去初始化RAM B 修改IAR中Cstartup.S43文件中__program_start子程序,增加一個關(guān)閉WDT的操作或者設(shè)置WDT時間長度超過32MS C 在Project--Options--Linker--Config中選擇 Override default programe,并將 Entry lib 設(shè)置成 __program_start 上述是已知解決1611RAM初始化時間超WDT默認(rèn)而復(fù)位的解決方法,如果用匯編,則沒有這個問題 2,SVS導(dǎo)致MSP "壞死" 問題 去年開發(fā)一款儀表,用上了F425,只怪這個玩意口線太少,只能把能用上的功能模塊都趕上了.SVS在F42X里可是個不錯的模塊,外部設(shè)計可以節(jié)約一個VD,成本和空間,呵呵 意外的是,我將這個SVS的電壓設(shè)置在3.3V,結(jié)果一次JTAG寫入后,那板子便沒有再起來工作,剛開始以為真的寫廢了這個MSP,后來想判斷下MCU是否還能工作,接上電源和電流表,發(fā)現(xiàn)電流有周期性跳躍----倒~~該MCU正在被SVS復(fù)位中 重新加電壓,超過3.3V,修改設(shè)置,重寫FLASH,一切搞定 希望能給用SVS和SVS+的朋友起個提醒的作用,呵呵,有時這個問題還不太容易被發(fā)現(xiàn) 3,I/O電壓供電居然也行? 在設(shè)計低功耗設(shè)備時,有時我們經(jīng)常用MCU的引腳給一些IC供電,這個方案我最早用在PIC的單片機(jī)上,前人的經(jīng)驗,照著抄沒錯 MSP430當(dāng)然也沒問題 有興趣的朋友不仿可以試試,DVCC/AVCC不接,直接從某個I/O加電壓,MCU照樣能跑哦.這個問題大家要注意的,可能是好事,也可能很麻煩 但是在做硬件設(shè)計的時候一定要想清楚了,I/O可以供電給其他IC,當(dāng)然也能從其他IC中取電,在一些設(shè)計中,MCU的靜態(tài)功耗降不下來,尤其是設(shè)計變送器,4`20MA雙線制設(shè)備上,要謹(jǐn)慎處理. ********************************************************************* 轉(zhuǎn)至:http://zoglab.vicp.net/bbs/index.php 作者:FFT |
| 2樓: | >>參與討論 |
| 作者: netjob 于 2006/5/9 13:09:00 發(fā)布:
MSP430確實不錯! 但AVR更方便!! |
|
| 3樓: | >>參與討論 |
| 作者: jiayongli 于 2006/5/9 13:11:00 發(fā)布:
頂 DDDD,我也遇到很多奇怪的問題,呵呵。 |
|
| 4樓: | >>參與討論 |
| 作者: mcdog 于 2006/5/22 10:31:00 發(fā)布:
好貼就要頂。 |
|
| 5樓: | >>參與討論 |
| 作者: gw1428jk 于 2006/5/23 13:07:00 發(fā)布:
好。! |
|
| 6樓: | >>參與討論 |
| 作者: caosongyz 于 2006/5/24 10:41:00 發(fā)布:
我現(xiàn)在也在用430 請問大俠用沒用過F417 |
|
| 7樓: | >>參與討論 |
| 作者: booo 于 2006/6/12 13:08:00 發(fā)布:
我也在學(xué) 剛學(xué)430, ZOGLAB關(guān)于430做的不錯,以后就長住ZOGLAB 了 嘿嘿~~~~ |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |