?? 00000000.htm
字號:
ARM (32位RISC) + RTEMS (完全FREE的軍用操作系統), <br /> <br /> <br />※ 來源:·BBS 水木清華站 smth.org·[FROM: 203.93.105.209] <br />發信人: flyking (小排), 信區: Embedded <br />標 題: Re: 又一道嵌入試題! <br />發信站: BBS 水木清華站 (Thu Nov 8 13:03:58 2001) <br /> <br />我認為中斷程序中干的都是對實時要求很高的東西,比如解固定速率的編碼,如果你在解出 <br />一個編碼之前把控制權交給內核,可能下次中斷時前一個碼系統還碼分配到時間處理 <br />所以這種情況必須中斷中完成以后再交出cpu,所謂分層和前后臺的目的就在這里,前臺 <br />是要實時的,后臺有空再干,以此類推,相對的前臺總比相對的后臺優先處理, <br />比如一種數據結構:8位組成byte,16位組成dbyte,32位組成word,64位組成block,前一種 <br />子幀總要先處理,處理完了就交給后臺處理更高級的幀。當然實際中不用這么繁 <br />【 在 hongchen (kissing-fire) 的大作中提到: 】 <br />∶<i> 在中斷服務程序里不對中斷作處理,只是置一個標志位,或者寫一個狀態字,然后由一個 </i><br />∶<i> 短時定時程序或無限循環程序來掃描這些標志位或狀態字,再啟動相應的處理程序,這不 </i><br />∶<i> 就相當于把原本可以一次完成的事情,拆成了兩段嗎?肯定要引入新的變量,增加跳轉時 </i><br />∶<i> 是什么呢? </i><br />∶<i> 應該是獨立運行的,這時這個短時定時程序或無限循環程序要啟動多個線程,而此時多線 </i><br />∶<i> 程之間的通訊以及對線程根據優先級進行頻繁的執行、掛起,卻要由內核來做?那么這個 </i><br />∶<i> 短時定時程序或無限循環程序到底有什么用呢?為什么不直接由內核來管理呢?直接由內 </i><br />∶<i> 核來管理這些中斷信號?還是你說的這個程序本身就是內核呢? </i><br />∶<i> 我覺得這個流程就好像是 </i><br />∶<i> ................... </i><br /> <br />-- <br /> 起初,神創造天地。地是空虛混沌,淵面黑暗;神的靈運行在水面上。 <br />神說:"要有光"。就有了光。神看光是好的,就把光暗分開了。神稱光 <br />為"晝",稱暗為"夜"。 <br /> <br /> <br />※ 來源:·BBS 水木清華站 smth.org·[FROM: 210.52.210.55] <br />發信人: neuronlee (機械化神經元), 信區: Embedded <br />標 題: Re: 又一道嵌入試題! <br />發信站: BBS 水木清華站 (Thu Nov 8 13:13:01 2001) <br /> <br />我想她說的是在沒有RTOS的情況下的解決方案.由中斷程序設置標志然后 <br />退出,由其他程序接手是很正常的行為.無論有無RTOS這樣做都有其道理, <br />應情況而易. <br />【 在 hongchen (kissing-fire) 的大作中提到: 】 <br />∶<i> 在中斷服務程序里不對中斷作處理,只是置一個標志位,或者寫一個狀態字,然后由一個 </i><br />∶<i> 短時定時程序或無限循環程序來掃描這些標志位或狀態字,再啟動相應的處理程序,這不 </i><br />∶<i> 就相當于把原本可以一次完成的事情,拆成了兩段嗎?肯定要引入新的變量,增加跳轉時 </i><br />∶<i> 間,也就相當于增加了系統被干擾的機會,跳轉是程序最容易跑飛的時候,這樣做的好處 </i><br />∶<i> 是什么呢? </i><br />∶<i> 如果一次發生了多個中斷,那么啟動的處理程序應該是相當于一個線程,或是一個任務, </i><br />∶<i> 應該是獨立運行的,這時這個短時定時程序或無限循環程序要啟動多個線程,而此時多線 </i><br />∶<i> 程之間的通訊以及對線程根據優先級進行頻繁的執行、掛起,卻要由內核來做?那么這個 </i><br />∶<i> 短時定時程序或無限循環程序到底有什么用呢?為什么不直接由內核來管理呢?直接由內 </i><br />∶<i> 核來管理這些中斷信號?還是你說的這個程序本身就是內核呢? </i><br />∶<i> 我覺得這個流程就好像是 </i><br /> <br />-- <br />According to the system log, windows had already started, but <br />it seems to be murdered mysteriously! :-DDDDDDDD <br /> <br /> <br />※ 來源:·BBS 水木清華站 smth.org·[FROM: 66.75.17.82] <br />發信人: wheregone (貓貓), 信區: Embedded <br />標 題: Re: 又一道嵌入試題! <br />發信站: BBS 水木清華站 (Thu Nov 8 13:50:28 2001) <br /> <br />實際上 在中斷里發消息或mail,物理上也是置標志位 <br />對不對? <br /> <br /> <br />【 在 neuronlee (機械化神經元) 的大作中提到: 】 <br />∶<i> 我想她說的是在沒有RTOS的情況下的解決方案.由中斷程序設置標志然后 </i><br />∶<i> 退出,由其他程序接手是很正常的行為.無論有無RTOS這樣做都有其道理, </i><br />∶<i> 應情況而易. </i><br /> <br /> <br />-- <br />the longing for love, the search for knowledge, <br />and unbearable pity for the suffering of mankind. <br />------------------------------------------------ <br /> <br /> <br />※ 來源:·BBS 水木清華站 smth.org·[FROM: 202.120.8.69] <br />發信人: hongchen (kissing-fire), 信區: Embedded <br />標 題: Re: 又一道嵌入試題! <br />發信站: BBS 水木清華站 (Thu Nov 8 13:58:30 2001) <br /> <br /> <br />【 在 wangyyff (郁悶的大面瓜) 的大作中提到: 】 <br />∶<i> 這根本就不是操作系統,只是最簡單的單片機程序, </i><br />∶<i> 扯這么多大理論出來干啥?受不了你 </i><br />雖然你已經受不了我了 <br />不過我還是想把這個問題弄明白 <br />這樣寫單片機程序有什么好處。 <br /> <br />中斷1,2,3。。。->置位或寫狀態字<-無限循環,查詢狀態位,啟動程序 <br /> <br />能不能舉個例子,說明一下這樣寫程序的理由呢? <br /> <br />-- <br /> <br />※ 來源:·BBS 水木清華站 smth.org·[FROM: 166.111.60.132] <br />發信人: wheregone (貓貓), 信區: Embedded <br />標 題: Re: 又一道嵌入試題! <br />發信站: BBS 水木清華站 (Thu Nov 8 14:09:52 2001) <br /> <br />單線程編程只能這樣處理多任務吧 <br />比如你要處理鍵盤,要處理UART的數據,又要輸出 <br />只能在一個大循環里套小循環,特別是用戶菜單 <br />這個方法缺點多多: <br />兩個中斷之間如果處理時間不夠,會得不到響應或延遲太 <br />多 <br /> <br />維護和升級太麻煩 <br />不利于多人合作寫代碼 <br /> <br /> <br /> <br />【 在 hongchen (kissing-fire) 的大作中提到: 】 <br />∶<i> 雖然你已經受不了我了 </i><br />∶<i> 不過我還是想把這個問題弄明白 </i><br />∶<i> 這樣寫單片機程序有什么好處。 </i><br />∶<i> 中斷1,2,3。。。->置位或寫狀態字<-無限循環,查詢狀態位,啟動程序 </i><br />∶<i> 能不能舉個例子,說明一下這樣寫程序的理由呢? </i><br /> <br /> <br />-- <br />the longing for love, the search for knowledge, <br />and unbearable pity for the suffering of mankind. <br />------------------------------------------------ <br /> <br /> <br />※ 來源:·BBS 水木清華站 smth.org·[FROM: 202.120.8.69] <br />發信人: hongchen (kissing-fire), 信區: Embedded <br />標 題: Re: 又一道嵌入試題! <br />發信站: BBS 水木清華站 (Thu Nov 8 16:58:57 2001) <br /> <br /> <br />【 在 wheregone (貓貓) 的大作中提到: 】 <br />∶<i> 單線程編程只能這樣處理多任務吧 </i><br />∶<i> 比如你要處理鍵盤,要處理UART的數據,又要輸出 </i><br />∶<i> 只能在一個大循環里套小循環,特別是用戶菜單 </i><br />應該是使用短時定時器中斷來查詢鍵盤中斷, <br />串口工作在中斷方式 <br />∶<i> 這個方法缺點多多: </i><br />∶<i> 兩個中斷之間如果處理時間不夠,會得不到響應或延遲太 </i><br />∶<i> 多 </i><br />∶<i> 維護和升級太麻煩 </i><br />∶<i> 不利于多人合作寫代碼 </i><br />我明白了,先把中斷產生的信息和數據存儲下來,然后再一一去執行, <br />可以避免沒有響應,保證按優先級順序執行。 <br />這個方式可能提高了編程效率,和結構性,但是可能會帶來跳轉太多, <br />系統容易死機。 <br />真是一個矛盾,要想提高編程效率,必然降低代碼的執行效率。 <br /> <br /> <br />-- <br /> <br />※ 來源:·BBS 水木清華站 smth.org·[FROM: 166.111.60.132] <br />發信人: ncic (yiran), 信區: Embedded <br />標 題: Re: 又一道嵌入試題! <br />發信站: BBS 水木清華站 (Thu Nov 8 21:14:39 2001) <br /> <br />大面瓜說的是有道理,有依據的, <br />中斷處理程序分成兩部分可以更快更及時地的響應中斷,更少地丟失中斷信號 <br />
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -