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