最近有不少客戶就嵌入式系統開發入門方面提出了一些問題,我們感覺很有代表性,所以英創工程師把這些問題進行了匯總解答,希望能對想做嵌入式開發的工程師有一點幫助。
書店里有很多入門級的書,第一章不是介紹ARM指令集,就是介紹ARM的CPU資源,這給很多初學者一個很不好的直觀感覺,就是學習ARM一定要把匯編語言和CPU資源搞明白。然而,這兩個方面,沒有實際的去做一下,只是紙上談兵,怎么又搞得明白呢,于是,讓很多初學者,知難而退。
其實,選ARM很大的目的就是為了跑嵌入式操作系統,最常見的當然是Linux和WinCE操作系統。嵌入式操作系統為開發人員提供了幾乎完整的基于C語言的工作環境,所以基于這兩個操作系統進行的開發,在大多數情況下都沒有必要先去搞懂ARM的匯編指令集和全部的CPU資源。當然,有了一定的技術基礎后,CPU資源也有必要去了解,但是,我們建議是在實踐中去了解這些問題,而不是在開始的時候通過看所謂的入門書進行似是而非的學習。
2. 必須使用ADS嗎?
還是剛才所說的,好多入門書,為了說明ARM指令集中指令的使用方法便使用了ADS或者IAR開發環境,這樣,就使得初入門的用戶錯誤地理解為開發ARM就是用ADS開發環境(筆者初學時,就是這么認為的,幸虧及時有人指路,才沒有在這個環境上花太多的時間),然而,根據不同的CPU,ADS設置是十分麻煩的,因為CPU是很復雜的,經常有用戶就卡在這里,無法超越,時間長了,也就放棄了嵌入式開發了。
其實,ADS只是調試啟動代碼的一種環境,而這樣的代碼,CPU廠家已經寫好了,這些代碼也可以在Linux或者WinCE的開發環境中編譯,所以,完全可以不考慮ADS 的使用。當然,如果你想在ARM上“裸奔”,那是另外的說法了。
3. 如何選擇操作系統?
除了上面提到的Linux和WinCE外,還有幾十種嵌入式操作系統,只不過Linux和WinCE 是最常見和最通用的嵌入式操作系統,其它就比較側重于專業領域。那么如何在這幾十種操作系統中,選擇適合自己的操作系統呢?
第一:如果自己所選的CPU不支持MMU,那么如果需要操作系統的話,一般選擇uC/OS-II操作系統,注意uC/OS-II不是免費的操作系統,盡管它的源碼是公開的。
第二:如果自己所選的CPU支持MMU,最好選Linux或WinCE。在Linux和WinCE之間的選擇與很多因素有關,如最終產品的數量、產品開發周期、工程師的技術背景等等。一般來講基于Linux的產品開發周期更長,對工程師的要求更高,表面上看上去沒有License費用,因此比較適合批量較大、對成本敏感的產品。相反WinCE由于工具完善,易于上手,只要用過VC的工程師均能很快轉入嵌入式系統應用程序的開發。
4. 怎么選擇開發語言?
在嵌入式開發領域,首選是C語言,因為C是中級語言,即可以用來寫應用程序,也能用來寫驅動程序。根據數據顯示,使用C語言的嵌入式程序員占70%。其次是C++,應用程序可以用C++編寫,更方便些。其它語言只占了1%。
5. Linux應用程序的開發環境是什么?
Linux是以公共社區的形式發展起來的,基于此,很多商業級的Linux開發工具,由于價格、可用性等原因,并沒有得到普遍應用。目前大多數的Linux應用開發還是停留在命令行的方式,對開發者的門檻要求較高。用戶編寫好的程序,首先在裝有Linux 的PC機上測試好后,再用交叉編譯環境把代碼編譯成能在ARM Linux下運行的程序。
6. WinCE應用程序的開發環境是什么?
eVC是微軟提供的WinCE應用程序開發工具之一,其界面和VC非常相似,很容易入門,其還有一個優點,就是是免費的,不存在版權問題。從性能上看,eVC比任何Linux的開發工具的性能都強很多了。另外,WinCE還可以使用微軟的Visual Stdio.Net集成開發工具進行應用開發(可以選擇使用的語言包括C++/C#/VB等),這給應用開發工程師帶來了極大的便利。
7. 嵌入式開發怎么實現在線調試呢?
說到在線調試,做過單片機的工程師,第一想到的就是仿真機,那么,嵌入式操作系統怎么實現在線調試呢?對于調試Linux和WinCE的應用程序,可以直接通過網線或者USB接口實現在線調試,效果可以達到使用單片機仿真機的效果,可以設置斷點、可以看到寄存器值和變量值等實時調試信息。如果要調試Linux或者WinCE的內核系統,就只有去購買價格不菲的仿真系統了。但是對于大多數工程師來說,能在C語言源碼級進行調試就足以滿足要求,實際上,更多的時候,是簡單地在應用程序中插入printf語句,把需要查看的信息打印出來,就可完成應用程序的調試了,因為這樣處理能保證系統都于實際真實的運行狀態之中。
8. WinCE 的版權問題怎么理解?
版權問題是困擾工程師的很大的問題。中國的特點就是喜歡免費,所以,一說收費,工程師就立馬拒絕了。其實工程師應該去了解一下如何收費,收多少費,收的這個費用對于企業來說合不合理?
說到開發基于WinCE的嵌入式系統,往往會提到PlatformBuilder,這是微軟為平臺開發者提供的一次性收費開發工具。但幸運的是,如果僅僅從事嵌入式系統的應用開發,則根本用不到PlatformBuilder。微軟對每個基于WinCE的最終產品有一個License費用,其中對嵌入式系統最常用的Core License 費用在30人民幣左右,工程師可以拿這個數字和開發其它操作系統的費用比一比,這個占多大比例。
英創公司的嵌入式主板,已經提供了WinCE 的正版授權,所以,選擇英創公司的嵌入式主板,不存在版權問題。開發WinCE 應用程序除了免費的EVC外,還有VS(visual studio 2005),這個對于大多數Windows應用程序工程師并不陌生,盡管這個軟件是要付費的,但獲得起來并不困難。在嵌入式環境,只要應用程序運行的操作系統環境是經授權的,那么對微軟來講就不存在版權問題。這樣看來,你的產品只是多出來不到30元人民幣的WinCE License費用(如果是購買英創的產品,英創實際已經幫用戶繳納了這部分費用)。如果產品的成本對這個費用都非常敏感的話,我們測算,那也許意味著系統不能使用任何操作系統。
-
WINDOWS
+關注
關注
3文章
3541瀏覽量
88624 -
嵌入式主板
+關注
關注
7文章
6085瀏覽量
35296
發布評論請先 登錄
相關推薦
評論