音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

永不跑飛的單片機

作者:analogman 欄目:單片機
永不跑飛的單片機
設(shè)想有這樣一款單片機:Harvard架構(gòu),全部指令為單字。那是否意味著它永遠不會跑飛,進入一個死循環(huán)呢?

2樓: >>參與討論
computer00
不能。另外,跑飛跟死循環(huán)是兩個概念
假設(shè)程序由于受到某種干擾,而跑飛。結(jié)果跑到一個地方,改了某個標志,然后
再繼續(xù)運行,可能就是一個死循環(huán)了。這有點類似兩個進程之間的死鎖,誰也不讓誰。

3樓: >>參與討論
cxd731
暈,這個世界上沒有永遠的說法!
銀河系幾十億年后可能都不存在了,何況區(qū)區(qū)人類設(shè)計的東東……

* - 本貼最后修改時間:2005-12-5 15:40:12 修改者:cxd731

4樓: >>參與討論
夏蟲
這種情況是不是只能做為理想啊
 
5樓: >>參與討論
chunyang
夠資格說永遠的只有上帝!
 
6樓: >>參與討論
analogman
多謝諸位解答!
再問computer00:
多謝糾正!主題應(yīng)該叫永不死機的單片機

既然全部為單字指令,程序區(qū)中又無數(shù)據(jù),那么它跑飛后不管落到何處都應(yīng)是正軌,怎會死循環(huán)呢?就像是一個不存在死循環(huán)的時序邏輯電路,無論多強干擾,都不應(yīng)造成器件死循環(huán)吧?(最多造成個別循環(huán)周期不準)

7樓: >>參與討論
analogman
chunyang是哲學(xué)家嗎?
不想在這里討論哲學(xué)問題,請諸位不要在個別字眼上糾纏不清了。
世事無絕對,對一個人,長于其有生之年的事務(wù)對他而言就可稱為永遠。對一件產(chǎn)品來講,只要在其使用壽期內(nèi)不死機,我就稱他為永不死機。這是工程師的語言,不是哲學(xué)家的語言。

8樓: >>參與討論
hqgboy
你的“永不死機”沒意義啊。
 
9樓: >>參與討論
javie

 
10樓: >>參與討論
hotpower
永動機如何???
 
11樓: >>參與討論
chunyang
樓主所言恰恰是在糾纏
從技術(shù)上講,追求不死機的MCU遠不及追求高可靠電路設(shè)計現(xiàn)實,方向有誤就成了緣木求魚。

12樓: >>參與討論
啊龍
程序雖然還在你的預(yù)料范圍中,但它可能已是錯誤的運行。
要求的應(yīng)該是無錯誤的運行,而不是不“死機”,事實上死機的機器也還是在執(zhí)行指令的。我也有過類似的想法,就是你把所有的程序都做到一個指令中運行,也是會出錯的,組合邏輯電路有冒險現(xiàn)象,更不要說時序電路了。看來永不出錯的單片機是沒有的。就是人,也會出錯誤的。

13樓: >>參與討論
computer00
人比機器更容易出錯
 
14樓: >>參與討論
analogman
諸位
chunyang: 實踐表明,軟件的問題要遠比硬件問題多。

阿龍:不怕出錯,就怕出了錯不能自行糾正。只要處理器不死,能自行回到正常的流程,再加上合理的軟件設(shè)計,它就可以自行糾正錯誤。

說此論題沒意義的朋友:這是實現(xiàn)一個魯棒系統(tǒng)的基礎(chǔ)。

另外再重申一下,此帖的目的不是想討論是否存在這樣的單片機,而是想討論:
一個純Harvard架構(gòu)、單字指令系統(tǒng)的單片機----這樣的單片機并不難實現(xiàn)----有無可能用它設(shè)計出一個不會死機的系統(tǒng)?(或者說,真正魯棒的系統(tǒng))

* - 本貼最后修改時間:2005-12-6 9:25:04 修改者:analogman

15樓: >>參與討論
hunter01
跑飛和工藝關(guān)系更大。
如果工藝夠好就能保證不跑飛。

16樓: >>參與討論
lucidmask
永遠不要說永遠!
 
17樓: >>參與討論
艾森豪威爾
呵呵,哲學(xué)與科學(xué)的交鋒
 
18樓: >>參與討論
ketp
-
大部分的程序跳過一段代碼后還能正常運行嗎?

19樓: >>參與討論
rainbowhq
暈倒
這個還要討論嗎?
哪里有絕對的事情啊?
只有盡量不讓"跑飛"出現(xiàn),或者進行及時糾正就行啦

20樓: >>參與討論
hotpower
不怕飛就怕擺脫引力
 
21樓: >>參與討論
zhf0964
即使全部是單字節(jié)指令,它也會跑飛。
所以常用看門狗將跑飛的程序拉回到起點重新運行。

22樓: >>參與討論
analogman
感謝樓上!此帖才回到正題
通常認為,程序跑飛是由于指令指針內(nèi)容因干擾而錯亂,指向非正常指令的地址,使整個程序錯亂,最終進入一個死循環(huán)而無法自行恢復(fù)。

但是,如果指令全部是單字的,指令指針出錯后它只不過是錯誤地跳到程序的另一個地方開始執(zhí)行,產(chǎn)生一些誤動作,按說最終總是能步入正軌的。這是我的設(shè)想,如果不能同意這一點,能否構(gòu)想出一種致使這種處理器跑飛并死機的機理來?

23樓: >>參與討論
laden
樓上說的并不全對。
就算是單片機指令全部是單字節(jié)指令,在跑飛后也不是“最終總是能步入正軌的”。
無法構(gòu)想一種致使處理品跑飛并死機的機理。我們采用看門狗,是因為單片機無法自己知道下一步指令是哪一個,它只能按照我們事先設(shè)定好的順序一步一步往下走。如果它知道程序跑飛了,那還要我們編程序干嗎呢?

24樓: >>參與討論
computer00
例如一個操作系統(tǒng),由于程序跑飛,把中斷給關(guān)了
時鐘節(jié)拍都沒了,那不是死機是什么?

25樓: >>參與討論
hotpower
我認為現(xiàn)在最需考慮的是讓偏離航向的飛行器如何回到原航道上
 
26樓: >>參與討論
analogman
中斷關(guān)了時鐘節(jié)拍還是有的
假定該處理器不設(shè)stop和POWER down模式。

另外,軟件設(shè)計也要充分考慮。例如,在一些靠中斷驅(qū)動的系統(tǒng)里,在任何等待中斷的循環(huán)中都設(shè)置開放中斷的指令。這樣是否就可以避免這種死機模式呢?

27樓: >>參與討論
hotpower
同意樓上意見
沒人想讓看門狗輕易死機的,特別是定時器被意外關(guān)閉.

28樓: >>參與討論
analogman
回:hotpower
是的,不怕偏離航線,就怕找不著北。
我想討論的是,如果把你放到南極,你就永遠也不用擔(dān)心找不著北了。如果還有擔(dān)心,請給我一個理由。

* - 本貼最后修改時間:2005-12-6 19:46:50 修改者:analogman

29樓: >>參與討論
HIGHWAY
有的程序不允許非,有的程序允許,后者用WTD即可
前者只有在設(shè)計上多下工夫.沒有不死的鳥:)

30樓: >>參與討論
cf100
單片機是無辜的
單片機是死腦筋,只會執(zhí)行指令。跑飛與外界環(huán)境和人的因素有關(guān)。如果某人編了個程序本來就是四處亂跑的程序,單片機什么時候智能到敢抗人命?

只要程序能執(zhí)行,單片機就有跑飛可能!

31樓: >>參與討論
啊龍
analogman你的這個想法,只能提高錯誤的修復(fù)率
但不能不出錯誤。假設(shè)用你設(shè)計的那種機器,是一個單大循環(huán)程序,你在程序中需要判斷錯誤修復(fù)錯誤,就要有標志。你能保證標志永不錯嗎?我說過,走飛或死機,只要時鐘,復(fù)位正常,他永遠都在執(zhí)行程序。至于執(zhí)行的是否是正確,有效的指令,有什么關(guān)系呢?關(guān)鍵是你應(yīng)該如何能保證機器運行到你的錯誤判斷程序來。你說的程序中還不能有小循環(huán),不然也會退不出去。看門狗應(yīng)該可以看作一種由你的程序控制的錯誤判斷程序。還有一種不用你的程序控制的,定時復(fù)位單片機的硬電路,也可以永不“死機”。那都需要軟件的良好支持。

32樓: >>參與討論
赤鑄
程序修改數(shù)據(jù),數(shù)據(jù)控制程序
程序的流程最終是由許多關(guān)鍵的變量控制的,所以
“既然全部為單字指令,程序區(qū)中又無數(shù)據(jù),那么它跑飛后不管落到何處都應(yīng)是正軌,怎會死循環(huán)呢?就像是一個不存在死循環(huán)的時序邏輯電路,無論多強干擾,都不應(yīng)造成器件死循環(huán)吧?(最多造成個別循環(huán)周期不準)”
這種說法不成立。你無法預(yù)期程序跑飛會對那些決定流程的變量有何影響。

而且,程序中可能原本就有死循環(huán),例如中斷等待的死循環(huán)。假如程序剛好在禁止一切中斷后跑飛到這個死循環(huán)里……好像有個成語,叫什么來著?天堂有路什么的

當(dāng)然,如果再加上一套適當(dāng)“編程規(guī)范”,那似乎的確可以不死循環(huán)……
這說明,離開必要的軟件措施,任何硬件措施都無法發(fā)揮威力

33樓: >>參與討論
赤鑄
即使不死又如何?
程序有時就像個殺手,如果不能正確執(zhí)行任務(wù)了,還是找個合適的地方干脆死掉的好
例如,沒有死掉,但繼續(xù)下去會發(fā)出驅(qū)動沖床的大錘的指令,而此時檢修工人的腦袋正在錘下……似乎夸張了點,呵呵

34樓: >>參與討論
赤鑄
另外,不必是單字節(jié)
只要是“完整指令”就可以,或者,只要所有指令長度都是2的N次方,而且起始地址對齊到2的N次方,而且,指令地址的最低N位固定為0,就可以杜絕指令被肢解的情況

35樓: >>參與討論
zmlab.com
樓主的想法值得鼓勵
至少我們要去思考,去探索。盡管在現(xiàn)在的計算機體系結(jié)構(gòu)下看上去很難或者不可能實現(xiàn),但不排除在新的結(jié)構(gòu)下有實現(xiàn)的可能。技術(shù)上的發(fā)明進步很多時候就是這樣發(fā)生的,如果有一個想法出現(xiàn)就馬上憑當(dāng)時的條件斷定不可能而放棄,那是不是有點畫地為牢。

36樓: >>參與討論
wzx11
:0
沒有絕對的概念!看樣子analogman的哲學(xué)學(xué)的不太好。

37樓: >>參與討論
nxren
永不跑飛的單片機
斷電了,就停了哦.

* - 本貼最后修改時間:2005-12-7 10:12:54 修改者:nxren

38樓: >>參與討論
fsclub
沒有意義
在某個時候,本來應(yīng)該去對IO操作,但程序跑到別的地方了,比如跑去執(zhí)行中斷程序了,這時候中斷程序?qū)δ硞寄存器進行致使的修改,中斷出來,回到主程序什么地方,SRAM都沒有保護,單片機還能運行?

39樓: >>參與討論
LZL869
ok!
weel!

40樓: >>參與討論
gbchang
現(xiàn)有結(jié)構(gòu)就可以實現(xiàn)了:不用向前跳轉(zhuǎn),不用堆棧,編碼填滿整...
現(xiàn)有51結(jié)構(gòu)就可以實現(xiàn)了:
不用向前跳轉(zhuǎn),
不用堆棧,
不用中斷,
所有代碼前后加"nop"
編碼填滿整個程序?qū)ぶ房臻g,到頭后自然循環(huán)。
任務(wù)用時間觸發(fā),
事件由條件觸發(fā),

如此設(shè)計程序,跑飛與否都一樣在"正確"執(zhí)行。
除非一直往一個地方飛,嘿嘿,那就沒辦法了。

41樓: >>參與討論
guosr
有時候程序異常了,還不如死了算了
    打個比方,一個自動售貨機,顧客給錢買東西,應(yīng)該找顧客零錢。程序上需要做A-B的減法。在沒有任何人購物的情況下,受到干擾而異常運行到這個位置,而參與計算的寄存器保持在某個子程序中的數(shù)值,因此你啟動找錢的程序,白白的吐出鋼崩……
    我們來做個數(shù)值分析,假設(shè)確認用戶輸入鈔票到找零錢之間的指令總共有200條指令(讓用戶選擇商品),總共的程序空間是10K,那么我把程序搞亂,從而白白的拿到鋼崩的概率就是2%。我肯定會拿著電子大伙器從早到晚不停的折騰這個售貨機。
    當(dāng)然,你可以說你會對敏感數(shù)據(jù)進行防護,但是你的程序不會跑飛,仍然會繼續(xù)運行。假設(shè)一個輸入密碼的程序,異常之后剛好落在密碼合法性檢查之后。那簡直等于沒有密碼。你做的任何防護都是白搭。
    這些問題在其他單片機中也可能存在,但是其他的單片機絕大部分情況下都會跑飛,從而最終被看門狗復(fù)位,雖然死了一次,但是沒造成什么損失,活過來以后照樣正常運行。

    總結(jié):聯(lián)想一下載人航天,我們的目的不是確保航天器絕對不死機,而是確保即使航天器死機了,也能把人安全的送回來。
    

42樓: >>參與討論
water2005
re
cf100和gbchang說的很明白了。
如果有不死機的單片機,那它用的使用肯定受限制

43樓: >>參與討論
linwei1234

 
44樓: >>參與討論
sfofyyy
這樣的討論很好
 
45樓: >>參與討論
PRCXF
樓主指的是不是pc指針受干擾導(dǎo)致的程序跑飛?
就是全單字指令,也完全可能在受干擾的情況下進入死循環(huán),除非芯片抗干擾設(shè)計或工藝相當(dāng)相當(dāng)強。!

46樓: >>參與討論
analogman
只要你的程序中沒有這樣的陷井,這個死循環(huán)從哪來?
 
47樓: >>參與討論
maxele
dui
dui 

48樓: >>參與討論
fsclub
這還能運行嗎?
gbchang 發(fā)表于 2005-12-7 18:02 侃單片機 ←返回版面    

現(xiàn)有結(jié)構(gòu)就可以實現(xiàn)了:不用向前跳轉(zhuǎn),不用堆棧,編碼填滿整...

現(xiàn)有51結(jié)構(gòu)就可以實現(xiàn)了:
不用向前跳轉(zhuǎn),
不用堆棧,
不用中斷,
所有代碼前后加"nop"
編碼填滿整個程序?qū)ぶ房臻g,到頭后自然循環(huán)。
任務(wù)用時間觸發(fā),
事件由條件觸發(fā),

如此設(shè)計程序,跑飛與否都一樣在"正確"執(zhí)行。
除非一直往一個地方飛,嘿嘿,那就沒辦法了。
---------------------

這樣的話,先不說跑飛還能不能正常.你的算法還能不能實現(xiàn)四則運算?




49樓: >>參與討論
zwcwy
死機不死機不僅僅是單片機芯片決定的
還由軟件決定,如果軟件的所有代碼的任何部分真的不可能構(gòu)成任何死循環(huán),那么就有可能不死機,舉個極端的例子,一個51最小系統(tǒng),指令全部是FFH,執(zhí)行完64K就又回到了0繼續(xù)循環(huán),無論受干擾跳到哪里都沒影響。但類似這樣的代碼恐怕在實際應(yīng)用中不太可能出現(xiàn),因為所能做的事情太有限了,單片機內(nèi)的大部分的硬件資源也不能使用,否則也可能造成死循環(huán)。所以想只靠改善單片機的結(jié)構(gòu)和指令系統(tǒng)就完全防止死機不太現(xiàn)實。

50樓: >>參與討論
jimmy shi
硬件遇到ESD強度一定的時候就會LATCH UP!
你想飛都飛不起來!

51樓: >>參與討論
analogman
zwcwy講得好!
單片機系統(tǒng)的可靠性當(dāng)然是由軟硬件兩方面決定的,硬件只是提供了一個物質(zhì)基礎(chǔ)。

本貼只想討論硬件這一方面,即是否存在這樣一個足夠魯棒的物質(zhì)基礎(chǔ)。

假定軟件設(shè)計足夠合理,不因任何數(shù)據(jù)或標志位的錯誤而死循環(huán),那么,我所提出的這種架構(gòu)的單片機是否具備這樣的魯棒性?

zwcwy舉的那個例子不就給我們帶來了一線曙光嗎?

52樓: >>參與討論
computer00
不能出現(xiàn)死循環(huán)?那程序?qū)懫饋砭屠щy了。
 
53樓: >>參與討論
gz_zhmj
也許樓主應(yīng)該搞明白死機和程序出錯的定義。
如果程序一直在運行,不管是不是正確的代碼就不算死機的話,那么所有的單片機都不會死機,只要晶震還有。
如果程序跑飛了,程序還沒有出錯,那所有的單片機都不可以。除非你的單片機什么都不做,全是NOP指令,可能還有一種情況,你用IO口取反控制指示燈閃爍,大概程序永遠不會出錯,但這樣所有的單片機都可以,未必要樓主所謂的單片機了。

54樓: >>參與討論
rivflood
硬件和軟件本來就是一個共同體
單純拋開硬件談軟件,或者拋開軟件談硬件都沒有什么意義。

本來一個系統(tǒng)設(shè)計出來的目的是為了能夠盡量正確的執(zhí)行設(shè)定的指令,并且在有錯誤發(fā)生的時候能夠及時的修正。

但是感覺樓主的想法只是為了硬件指令能夠順利執(zhí)行,而不是正確的執(zhí)行,至于魯棒,鄙人才疏,不知為何物,暫不提。

樓主的想法,以我的理解,就是一個成了植物人的病人(就像一個跑飛的系統(tǒng)),不是想辦法趕緊用科學(xué)的方法喚醒他(wdt或者reset),而是讓他保持這樣一個狀態(tài),其他他能夠自然的醒過來(因為系統(tǒng)沒有崩潰,依舊在運行,只是程序跑飛,然后期待系統(tǒng)能夠自行回到正軌),我想這不應(yīng)該是我們所期待的。

所以,我想樓主的想法是對的,但不見得是最好的想法,或者是問題的關(guān)鍵所在,系統(tǒng)運行的目的在于穩(wěn)定和正確,至于解決跑飛問題,只是達到目的的手段而已,樓主的想法個人以為是一個辦法,但是有點極端

55樓: >>參與討論
privateer
意義不大
這樣對于單片機來說是不會死,但是對于外圍器件,信號不對一樣會死機,所以從系統(tǒng)來說沒什么意義

56樓: >>參與討論
悲傷止步
10為底對數(shù)函數(shù)的匯編程序
以10為底對數(shù)函數(shù)的匯編程序,哪位大哥能給一個簡單的?Email:shuhao125@163.com

57樓: >>參與討論
ttjlc
:)
永遠有多遠?

永動機有沒有出現(xiàn)??

58樓: >>參與討論
analogman
永遠就是比玩完多一秒
樓上怎么還在這個字眼上糾纏?那我告訴你吧,當(dāng)你GF對你說她永遠愛你時她的意思是:在你玩完之前!

rivflood的比喻不太恰當(dāng)。死機的單片機更象是一個神經(jīng)病,而不是植物人,植物人大部分是腦死亡了。

51單片機是很容易得神經(jīng)病的,指令指針一錯,腦子就亂了。我講的這種架構(gòu)現(xiàn)在看起來不大容易得神經(jīng)病。當(dāng)然,傷風(fēng)感冒打噴嚏不可避免,但是,只要有合理的軟件配合,它應(yīng)該有足夠的免疫力自行恢復(fù)健康。

舉一個測控系統(tǒng)的例子:單片機采集一定的數(shù)據(jù),計算控制參數(shù),然后通過執(zhí)行機構(gòu)實施控制。這樣的系統(tǒng)經(jīng)受干擾后,也就造成CPU從程序的一個地方跳到到了另一個地方,或者運行參數(shù)發(fā)生了變化。但是,整個程序的流程不會變。所造成的后果是,在干擾發(fā)生后的一段時間內(nèi),程序給出錯誤的控制參數(shù),執(zhí)行一些誤動作。但是,只要流程不亂,經(jīng)歷幾個循環(huán)之后,控制系統(tǒng)會自行恢復(fù)正常,因為新的輸入?yún)?shù)是正確的,控制系統(tǒng)的控制函數(shù)(算法)沒有變化,結(jié)果當(dāng)然正確。

只要有了這樣堅固的硬件平臺,做一個不會出現(xiàn)死循環(huán)的軟件應(yīng)該也不太難吧?不是已經(jīng)有人給出了實例嘛。

59樓: >>參與討論
chen16889
各位我現(xiàn)時用飛利蒲LPC915做A/D轉(zhuǎn)換
各位我現(xiàn)時用飛利蒲LPC915做A/D轉(zhuǎn)換,滿輸入3V3時分辯率只有0.01V,而我檢測輸入電壓是40V用串150K再10K落地分壓,采樣變化率很小要求輸入電壓變化正負0.1V可檢查出,用運算放大器放大,負輸入接參考偏移電平,放大就可以了,但運算放大器放大后并不是線性若乘以固定倍數(shù)則算出的電壓值更不準,大蝦們可有良方呀。

60樓: >>參與討論
youself
有的時候死機不是說跑飛,可能是CPU根本就跑不動了
這是完全有可能的。

61樓: >>參與討論
fsaok
仰面大笑出門去
單片機的出路,不是是否跑飛,而是跑飛后如何回來。

對于設(shè)計者來說,是把干擾減少到最低,

打個不太合適的比如,人身體沒事才能工作,

但每天讓你去醫(yī)院檢查一下,你即使沒病也受不了。

所以,處理器如果總在被干擾,怎么能工作正常?

長時間不被干擾,那在有干擾又如何處理,用狗讓它自己回來是最好的做法

62樓: >>參與討論
eeproom
好熱鬧!
   我的經(jīng)驗,一個穩(wěn)定的系統(tǒng),需要軟件硬件都合理。首先需要一個夯實的硬件平臺,上半年一公司給我一個設(shè)計好的基于51的硬件系統(tǒng),那工程設(shè)計者搞出來的系統(tǒng)就是不穩(wěn)定。其實簡單:驅(qū)動兩個交流電機、一個步進電機,但是致命的設(shè)計是設(shè)計者舍不得光藕,讓驅(qū)動同CPU直通GND,所以我就給這設(shè)計判了死刑。
   我也覺得。程序的飛出,關(guān)鍵是PC在PUSH POP過程中搞錯了。最近搞的一個復(fù)雜控制系統(tǒng),我把所有的任務(wù)驅(qū)動都搞成中斷事件,呵呵,PC在堆棧里總是有上、下溢出的可能發(fā)生。開機工作前幾分鐘不正常,一旦順利了,測試100小時無事故。我一氣之下,修改成避免事件競爭中斷使用權(quán),它就溫順了!

63樓: >>參與討論
analogman
狗也有打盹的時候
我認為,狗是一種非常被動的辦法,還是有很大的風(fēng)險。比如,如果程序跑飛后落入一個死循環(huán),如果這個死循環(huán)中恰好有喂狗指令,那這個狗就失效了。

如果程序本身不會錯亂,那他的安全性要比狗安全得多。

64樓: >>參與討論
cf100
人也有看走眼的時候

如果了解編程,就不會那么無聊了,好象“空想”一樣。

沒有一種單片機是不會跑飛的,如果有也是沒用。

再好的單片機,如果編程錯誤,也和跑飛一樣,可能比跑飛還差。

如果做個死循環(huán),然后死循環(huán)中喂狗,這種程序編出來本身就是想“自斃”的人。

就算是好的程序,也不能保證一定不會發(fā)生錯亂,但有狗要比無狗生命力強,這個沒人否認。

單片機是個軟硬結(jié)合體,沒有人敢說自己用的單片機是最完美的,程序是最完善的。選型、做線路、編程無一不是在糾錯的基礎(chǔ)上進行,而且萬一出錯,就是一萬的損失。

樓主不要懷疑成千上萬MCU硬件工程師的智商,如果真憑單指令就能做出永不跑飛的單片機,這種單片機早就面市了,別的單片機也早就完蛋了。

編程的根本就在于不斷地找“BUG”,盡可能完善自己的設(shè)計和程序。沒有人希望自己的程序是到處是錯,到處亂跑的程序,這需要編程者的努力和細致的工作。而如果在編程中由于經(jīng)常跑飛,而夢想有一種永不跑飛的單片機,怎么編都不會跑飛,好象是十分十分不現(xiàn)實的。



65樓: >>參與討論
analogman
人看走眼那是人的問題
> 如果了解編程,就不會那么無聊了,好象“空想”一樣。

-- 依我看來,不了解的是你自己。

> 沒有一種單片機是不會跑飛的,如果有也是沒用。

-- WHY? 請不要光下結(jié)論,沒有論據(jù)來支持,跟喊口號似的。

> 再好的單片機,如果編程錯誤,也和跑飛一樣,可能比跑飛還差。

-- 對于一個不合格的程序員,給他再好的硬件也白搭。

> 如果做個死循環(huán),然后死循環(huán)中喂狗,這種程序編出來本身就是想“自斃”的人。

-- 這就是我說你“不了解”的原因。建議你先去了解一下單片機是如何“死掉”的。

> 就算是好的程序,也不能保證一定不會發(fā)生錯亂,但有狗要比無狗生命力強,這個沒人否認。

> 單片機是個軟硬結(jié)合體,沒有人敢說自己用的單片機是最完美的,程序是最完善的。選型、做線路、編程無一不是在糾錯的基礎(chǔ)上進行,而且萬一出錯,就是一萬的損失。

-- 同意!這就是我發(fā)此貼的原因。

> 樓主不要懷疑成千上萬MCU硬件工程師的智商,如果真憑單指令就能做出永不跑飛的單片機,這種單片機早就面市了,別的單片機也早就完蛋了。

-- 不敢懷疑先輩們的智商,相反,我在懷疑自己的智商,所以拿這個問題來請教大家,請大家不吝賜教。
-- 這種單片機是否真能做到這種可靠性我不能確定,但其缺點是明顯的。首先,既然是單字,那要提供足夠的處理能力就只有增加指令字寬了,內(nèi)部總線也要加寬。而Harvard結(jié)構(gòu)又會給單片機的靈活性帶來一定的局限。我想,這或許是這種機器極少的原因之一吧。
-- 單片機不是通用機,它往往是和應(yīng)用密切相關(guān)的,每種單片機只適用于一類特定的應(yīng)用,不可能通吃一切。因此,這樣的單片機即使存在的話,它也只會用于某些對于可靠性有特別高的要求的領(lǐng)域。

> 編程的根本就在于不斷地找“BUG”,盡可能完善自己的設(shè)計和程序。沒有人希望自己的程序是到處是錯,到處亂跑的程序,這需要編程者的努力和細致的工作。而如果在編程中由于經(jīng)常跑飛,而夢想有一種永不跑飛的單片機,怎么編都不會跑飛,好象是十分十分不現(xiàn)實的。
-- 硬件是基礎(chǔ)。在沙灘上,你建的樓再結(jié)實也沒用。

66樓: >>參與討論
cf100
那么什么東西不會看走眼?當(dāng)然不會是人!
你的第一帖:
》》永不跑飛的單片機

》設(shè)想有這樣一款單片機:Harvard架構(gòu),全部指令為單字。那是否意味著它永遠不會跑飛,進入一個死循環(huán)呢?

《Harvard架構(gòu),全部指令為單字》==永遠不會跑飛

PIC就是這種架構(gòu),但PIC跑飛是常事。


-- 不敢懷疑先輩們的智商,相反,我在懷疑自己的智商,所以拿這個問題來請教大家,請大家不吝賜教。

有你這句話就行了,要我來說,我不會懷疑別人的智商,當(dāng)然也不會懷疑自己的智商. This’s all.



67樓: >>參與討論
analogman
暈!人到底會不會走眼?你的“程序”有點亂呀
地基不牢樓必塌,樓塌未必因地基。

既然對自己的智商如此自信,又如此堅信這樣的單片機會死。那能否列舉出一種“死法”來?當(dāng)然我指的是非硬件的、通過軟件手段無法避免的死法。

* - 本貼最后修改時間:2005-12-13 15:22:06 修改者:analogman

68樓: >>參與討論
cf100
是人當(dāng)然會走眼
你的結(jié)論:地基不牢樓必塌,樓塌未必因地基。

永不跑飛的單片機

設(shè)想有這樣一款單片機:Harvard架構(gòu),全部指令為單字。那是否意味著它永遠不會跑飛,進入一個死循環(huán)呢?

依你上面的格式就論一下樓房:

永不會塌的樓房

設(shè)想有這樣一幢樓:XX架構(gòu),全部地基為XX。那是否意味著它永遠不會塌,進入一個滅頂之災(zāi)呢?

以子之矛,擊子之盾,何如?

前面有很多很多網(wǎng)友已指出你論點的錯誤,就算你懷疑自己的IQ,也不應(yīng)該懷疑別人的IQ。不過我相信你還是具有一定的IQ。

69樓: >>參與討論
analogman
還是亂!
嚴重懷疑你的理解力!

我前面已多次強調(diào)過:單片機只是提供了一個物質(zhì)基礎(chǔ),它為建立這樣一個不會死機的系統(tǒng)提供了可能。也就是說,它只是地基!而且,我也并沒有肯定它一定不會死(請看看我那句話的最后是什么標點)。

我從未懷疑過別人的IQ,只是有些人除了簡單地否定你之外,卻給不出一點點支撐其觀點的理由來。有IQ卻不用,那和沒有有何區(qū)別?

70樓: >>參與討論
cf100
Yeah,你懷疑過自己的IQ,就此打住,沒人可以救你!
你再仔細看一下自己前后的觀點,Sorry sir,I did nothing at all.

難怪某些高手說上一句就閉嘴,敢情他們某些方面的IQ就比我高了0.001%.

71樓: >>參與討論
analogman
呵呵,急了
莫急!在這里我只是真誠地想和大家討論問題。如果認為這個問題很弱智,你可以一笑置之,大可不必為此光火。記住,在討論問題時起急或者是不成熟的表現(xiàn),或者是理屈詞窮的表現(xiàn)。

72樓: >>參與討論
emyjob
哎。不行啊。
還是不可靠!!哇~~~~~

73樓: >>參與討論
analogman
別急
還拿建房子來說吧。如果建好的房子塌了,我們應(yīng)該首先檢查房子的構(gòu)造是否合理,再查所用建材是否合格。如果這些都沒有問題的話,再看地基有無問題,選址是否合適。

反之,如果房子還沒建,我們正打算建房子,那就應(yīng)該反過來:首先選址,選一個堅實的地基,然后再打地基,再在上面蓋房子。

74樓: >>參與討論
cf100
這有什么好急的,只是覺得好笑而已
首先選址,選一個堅實的地基,然后再打地基,再在上面蓋房子。這樣就能建造成一幢永不會塌的房子;然后住個永不會死的人。

75樓: >>參與討論
analogman
“程序”又跑飛了吧
永不會死的人沒有,但人死之前不會塌的房子多的是。(見我前面對“永遠”的定義)

此生最怕和兩種人說話,一種是潑婦,一種是哲學(xué)家。前者一點邏輯性沒有,你跟他沒法說理。后者邏輯性太強,往往抓住你一點點概念上的問題將你批個體無完膚,你也沒法跟他說理。

76樓: >>參與討論
mynote
明白就好
  大家都是電子行業(yè)的,準確固然重要.但是大家又不是在做技術(shù)報告
只要明白說話者的意圖就好了

77樓: >>參與討論
computer00
光想有什么用啊,做出來再說吧,或者已經(jīng)試圖在做了。
 
78樓: >>參與討論
cf100
沒有人能做出“永不跑飛”的系統(tǒng)
當(dāng)然“哲學(xué)家”是不說“永遠”,因為那是個大“漏洞”。
當(dāng)然“潑婦”從來都是說“永遠”的,因為她永遠不知道“永遠”是什么意思,她可以對“永遠”這個表示無窮無盡的時間概念進行自定義,出發(fā)點僅僅是為了表現(xiàn)一下“潑婦”的論戰(zhàn)水平。

身正不怕影歪,如果概念上不錯,哲學(xué)家也無空可鉆;如果不象“潑婦”一樣亂定義“永遠”,還怕“潑婦”定義的“永遠”比你還短。

如果我說,我做了個相當(dāng)穩(wěn)定的系統(tǒng),沒人有空可鉆,因為這是正常的;如果我說,我做了個永遠穩(wěn)定的系統(tǒng),別人就會當(dāng)我說胡話。

如果你的“永遠”的定義是科學(xué)的話,那么“永動機”就也沒人敢批駁了。不過現(xiàn)在絕大多數(shù)人都將“永動機”的鼓吹者當(dāng)成大腦進水或IQ出錯者。

* - 本貼最后修改時間:2005-12-14 20:03:04 修改者:cf100

79樓: >>參與討論
cf100
總結(jié)一下樓主的觀點
以下幾點,是摘于樓主的帖子:

1、既然全部為單字指令,程序區(qū)中又無數(shù)據(jù),那么它跑飛后不管落到何處都應(yīng)是正軌,怎會死循環(huán)呢?就像是一個不存在死循環(huán)的時序邏輯電路,無論多強干擾,都不應(yīng)造成器件死循環(huán)吧?(最多造成個別循環(huán)周期不準)


2、 不想在這里討論哲學(xué)問題,請諸位不要在個別字眼上糾纏不清了。
世事無絕對,對一個人,長于其有生之年的事務(wù)對他而言就可稱為永遠。對一件產(chǎn)品來講,只要在其使用壽期內(nèi)不死機,我就稱他為永不死機。這是工程師的語言,不是哲學(xué)家的語言。

3、永遠就是比玩完多一秒
樓上怎么還在這個字眼上糾纏?那我告訴你吧,當(dāng)你GF對你說她永遠愛你時她的意思是:在你玩完之前!

4、此生最怕和兩種人說話,一種是潑婦,一種是哲學(xué)家。前者一點邏輯性沒有,你跟他沒法說理。后者邏輯性太強,往往抓住你一點點概念上的問題將你批個體無完膚,你也沒法跟他說理。

//------------------------------------------------

1、死機不只是死循環(huán),就算是程序前后“不正!碧D(zhuǎn)也是錯誤,就算還在“運行”也不見得是正軌。
比如未經(jīng)“正式操作”,你兒子出世,打死你也不會認帳。因為跳過了某個“操作程序”就有做DNA的必要。(本來不想舉例,但生怕樓主又說我只喊口號)

2、從這個觀點來看,樓主認為工程師的語言和哲學(xué)家的語言是不同的。

3、這個說法相當(dāng)搞笑。將虛擬語氣用于替換嚴格定義的概念。引申解釋一下你的“永遠”的定義,當(dāng)你GF對你說她永遠愛你時她的意思是:在你玩完之前!也就是你玩完之前不再愛你,斷氣之前馬上換人。(原來如此,難怪會恨潑婦。)

4、樓主在論題中,多次提到哲學(xué)家和哲學(xué),認為哲學(xué)的觀點在這里是不能用的,因為哲學(xué)的邏輯和推理性太強。為什么會怕哲學(xué)呢?“哲學(xué)”這個詞在古希臘文里的意思是“愛智慧”,近代又認為是研究其它科學(xué)的科學(xué),是科學(xué)的基礎(chǔ)。試想,如果不講邏輯推理,還到處與人辨理,有理還是無理?

我從沒懷疑過別人的IQ,也不懷疑自己的IQ;
樓主沒懷疑過別人的IQ,但是懷疑自己的IQ。
這就是根本所在。

* - 本貼最后修改時間:2005-12-15 5:57:19 修改者:cf100

80樓: >>參與討論
analogman
累了吧?喝口水。。。
前面一帖中最后一句話本來沒好意思說,現(xiàn)在可以說了:見了第一種人我就裝聾,見了第二種人我就作啞,樓上這位兼有這兩種人的氣質(zhì),我就只好裝聾作啞了。

* - 本貼最后修改時間:2005-12-15 9:08:27 修改者:analogman

81樓: >>參與討論
cf100
如果失去邏輯推理能力,懷疑自己的智商,還有什么不敢想象
 
82樓: >>參與討論
analogman
是啊,看來是做不了工程師了,改行做算命先生吧
試解先生之名諱:
C -- Callet
F -- Philosopher (從音)
100 -- 100%

如果冒犯了先生,千萬別往心里去。沒有惡意,只是覺得好玩,逗大家一樂。笑一笑十年少!恕罪。

83樓: >>參與討論
清竹流水
暈,異想天開,只是理想吧
 
84樓: >>參與討論
linqing171
主要看干擾大小
如果在電源上加上一個正負8000V的瞬間脈沖,脈沖窄一點保證不重新啟動,如果保護不好內(nèi)部的存儲器\寄存器\程序指針PC都可能被干擾成了另外一個數(shù).
結(jié)果就飛了.
一個辦法是把后面非程序區(qū)所有的地方都填寫上 nop nop nop nop jump 0000
不過也有不管用的時候.

85樓: >>參與討論
analogman
我的理想不是夢
是異想天開,是理想,但不是夢。前面不是已經(jīng)有人給出了兩個例子嗎?當(dāng)然了,太簡單,沒有實用價值。但別忘了,無極生太極,太極生兩儀,兩儀生四象,四象生八卦,八卦生萬物。。。(嗨!還是算命先生)

86樓: >>參與討論
linqing171
面條?
傳說中的面條程序?

這個程序我感覺很難寫.軟件就不是工程了.編譯器倒是比較好做了.子函數(shù)全部都要被連接N遍,省了判斷重入\遞歸等東西了.
為了提高效率,在你的程序的有效區(qū)最后還是加一個 jump 0000 呵呵.
你進入程序的時候還需要初始化.結(jié)果你觸發(fā)任務(wù)的條件就被初始化了.


以下是引用
gbchang 發(fā)表于 2005-12-7 18:02 侃單片機 ←返回版面    

>現(xiàn)有結(jié)構(gòu)就可以實現(xiàn)了:不用向前跳轉(zhuǎn),不用堆棧,編碼填滿整...

>現(xiàn)有51結(jié)構(gòu)就可以實現(xiàn)了:
>不用向前跳轉(zhuǎn),
>不用堆棧,
>不用中斷,
>所有代碼前后加"nop"
>編碼填滿整個程序?qū)ぶ房臻g,到頭后自然循環(huán)。
>任務(wù)用時間觸發(fā),
>事件由條件觸發(fā),

>如此設(shè)計程序,跑飛與否都一樣在"正確"執(zhí)行。
>除非一直往一個地方飛,嘿嘿,那就沒辦法了。






* - 本貼最后修改時間:2005-12-16 20:03:45 修改者:linqing171

87樓: >>參與討論
szqingliu
也會死循環(huán)!
如果你的pc指針突然跳到一個循環(huán)當(dāng)中,而且跳出循環(huán)的標志位始終不滿足,就死循環(huán)了!^_^哈哈

88樓: >>參與討論
cf100
理窮詞盡也不必如此
這樣解釋別人的用戶名的確有點邏輯不清,樓主懷疑自己的智商,也不用如此來進行證明。而且21IC中帶C的用戶名多得是,21IC、computer00如果一個一個字母讓你拆,豈非個個都罪惡滔天了?

如果不加字母拆字那才有點邏輯,比如ANALOGMAN 顯然是ANA-LOG-MAN。后二個很通用,不多解釋。前一個,只有二個明顯的含意,ANA:1、安娜 2、全日空(日本航空公司)。我這樣拆字,總比樓主要講點道理吧。前一個可以證明你為什么怕潑婦,后一個可以解釋你為什么怕哲學(xué)家。當(dāng)然如果你的取名用心是處心積慮的話,這就不是什么智商問題了。如果看了覺得有趣,樓主也可以笑一笑就算了。

* - 本貼最后修改時間:2005-12-15 15:45:56 修改者:cf100

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
大家請幫我講講“太陽能熱水器控制儀表傳感器”的原理!
gmake編譯錯誤,誰知道什么意思?
有用過16c2550
請教一個地址問題
請教:我想學(xué)usb,用D12
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號