基于嵌入式軟件開發(fā)的裸跑與RTOS的選用時機(jī)分析
在嵌入式軟件領(lǐng)域,裸跑與RTOS,總是永恒茶余飯后。其實(shí)軟件編程,就像治國之道,沒聽說過新加坡這樣的小國分什么省市自治區(qū)吧。也像開公司做生意,小公司都是老板一個人說了算,就算分部門,也沒什么意義。寫程序也一樣,裸跑就像一個大模塊,程序小的時候,程序員能控制一切,中斷+大循環(huán)這種前后臺裸跑模式最高效直觀。當(dāng)程序大了,相互之間的邏輯關(guān)系復(fù)雜了,還用一個大模塊的話,就會變得難于駕馭,容易出bug。這時候,就需要劃分模塊,劃分了模塊,就需要處理模塊間協(xié)調(diào)、資源分配、合理分配cpu時間,這些問題,在有RTOS參與下,會變得簡單些。實(shí)際上,就算沒有rtos,精明的程序員也會量身訂制地寫一個管理程序,其實(shí)這個管理程序就可以算作簡易“操作系統(tǒng)”。如果程序進(jìn)一步復(fù)雜化,代碼進(jìn)一步龐大,這種簡單的管理程序就會力不從心,選用一個rtos是最聰明的選擇。
那么,程序規(guī)模達(dá)到多大時,需要操作系統(tǒng)呢?這個,不能一概而論。有些代碼,很長,但邏輯很簡單,有些代碼,雖然代碼量不大,但邏輯卻很復(fù)雜。個人經(jīng)驗(yàn),臨界點(diǎn)在1~2萬行之間。