0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)關(guān)于嵌入式工程師建議

英創(chuàng)信息技術(shù) ? 來源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2019-11-15 09:54 ? 次閱讀

最近有不少客戶就嵌入式系統(tǒng)開發(fā)入門方面提出了一些問題,我們感覺很有代表性,所以英創(chuàng)工程師把這些問題進(jìn)行了匯總解答,希望能對(duì)想做嵌入式開發(fā)的工程師有一點(diǎn)幫助。

1. 進(jìn)行嵌入式開發(fā)必須弄懂ARM匯編指令集嗎?

書店里有很多入門級(jí)的書,第一章不是介紹ARM指令集,就是介紹ARM的CPU資源,這給很多初學(xué)者一個(gè)很不好的直觀感覺,就是學(xué)習(xí)ARM一定要把匯編語言和CPU資源搞明白。然而,這兩個(gè)方面,沒有實(shí)際的去做一下,只是紙上談兵,怎么又搞得明白呢,于是,讓很多初學(xué)者,知難而退。

其實(shí),選ARM很大的目的就是為了跑嵌入式操作系統(tǒng),最常見的當(dāng)然是Linux和WinCE操作系統(tǒng)。嵌入式操作系統(tǒng)為開發(fā)人員提供了幾乎完整的基于C語言的工作環(huán)境,所以基于這兩個(gè)操作系統(tǒng)進(jìn)行的開發(fā),在大多數(shù)情況下都沒有必要先去搞懂ARM的匯編指令集和全部的CPU資源。當(dāng)然,有了一定的技術(shù)基礎(chǔ)后,CPU資源也有必要去了解,但是,我們建議是在實(shí)踐中去了解這些問題,而不是在開始的時(shí)候通過看所謂的入門書進(jìn)行似是而非的學(xué)習(xí)。

2. 必須使用ADS嗎?

還是剛才所說的,好多入門書,為了說明ARM指令集中指令的使用方法便使用了ADS或者IAR開發(fā)環(huán)境,這樣,就使得初入門的用戶錯(cuò)誤地理解為開發(fā)ARM就是用ADS開發(fā)環(huán)境(筆者初學(xué)時(shí),就是這么認(rèn)為的,幸虧及時(shí)有人指路,才沒有在這個(gè)環(huán)境上花太多的時(shí)間),然而,根據(jù)不同的CPU,ADS設(shè)置是十分麻煩的,因?yàn)镃PU是很復(fù)雜的,經(jīng)常有用戶就卡在這里,無法超越,時(shí)間長了,也就放棄了嵌入式開發(fā)了。

其實(shí),ADS只是調(diào)試啟動(dòng)代碼的一種環(huán)境,而這樣的代碼,CPU廠家已經(jīng)寫好了,這些代碼也可以在Linux或者WinCE的開發(fā)環(huán)境中編譯,所以,完全可以不考慮ADS 的使用。當(dāng)然,如果你想在ARM上“裸奔”,那是另外的說法了。

3. 如何選擇操作系統(tǒng)?

除了上面提到的Linux和WinCE外,還有幾十種嵌入式操作系統(tǒng),只不過Linux和WinCE 是最常見和最通用的嵌入式操作系統(tǒng),其它就比較側(cè)重于專業(yè)領(lǐng)域。那么如何在這幾十種操作系統(tǒng)中,選擇適合自己的操作系統(tǒng)呢?

第一:如果自己所選的CPU不支持MMU,那么如果需要操作系統(tǒng)的話,一般選擇uC/OS-II操作系統(tǒng),注意uC/OS-II不是免費(fèi)的操作系統(tǒng),盡管它的源碼是公開的。

第二:如果自己所選的CPU支持MMU,最好選Linux或WinCE。在Linux和WinCE之間的選擇與很多因素有關(guān),如最終產(chǎn)品的數(shù)量、產(chǎn)品開發(fā)周期、工程師的技術(shù)背景等等。一般來講基于Linux的產(chǎn)品開發(fā)周期更長,對(duì)工程師的要求更高,表面上看上去沒有License費(fèi)用,因此比較適合批量較大、對(duì)成本敏感的產(chǎn)品。相反WinCE由于工具完善,易于上手,只要用過VC的工程師均能很快轉(zhuǎn)入嵌入式系統(tǒng)應(yīng)用程序的開發(fā)。

4. 怎么選擇開發(fā)語言?

在嵌入式開發(fā)領(lǐng)域,首選是C語言,因?yàn)镃是中級(jí)語言,即可以用來寫應(yīng)用程序,也能用來寫驅(qū)動(dòng)程序。根據(jù)數(shù)據(jù)顯示,使用C語言的嵌入式程序員占70%。其次是C++,應(yīng)用程序可以用C++編寫,更方便些。其它語言只占了1%。

5. Linux應(yīng)用程序的開發(fā)環(huán)境是什么?

Linux是以公共社區(qū)的形式發(fā)展起來的,基于此,很多商業(yè)級(jí)的Linux開發(fā)工具,由于價(jià)格、可用性等原因,并沒有得到普遍應(yīng)用。目前大多數(shù)的Linux應(yīng)用開發(fā)還是停留在命令行的方式,對(duì)開發(fā)者的門檻要求較高。用戶編寫好的程序,首先在裝有Linux 的PC機(jī)上測(cè)試好后,再用交叉編譯環(huán)境把代碼編譯成能在ARM Linux下運(yùn)行的程序。

6. WinCE應(yīng)用程序的開發(fā)環(huán)境是什么?

eVC是微軟提供的WinCE應(yīng)用程序開發(fā)工具之一,其界面和VC非常相似,很容易入門,其還有一個(gè)優(yōu)點(diǎn),就是是免費(fèi)的,不存在版權(quán)問題。從性能上看,eVC比任何Linux的開發(fā)工具的性能都強(qiáng)很多了。另外,WinCE還可以使用微軟的Visual Stdio.Net集成開發(fā)工具進(jìn)行應(yīng)用開發(fā)(可以選擇使用的語言包括C++/C#/VB等),這給應(yīng)用開發(fā)工程師帶來了極大的便利。

7. 嵌入式開發(fā)怎么實(shí)現(xiàn)在線調(diào)試呢?

說到在線調(diào)試,做過單片機(jī)的工程師,第一想到的就是仿真機(jī),那么,嵌入式操作系統(tǒng)怎么實(shí)現(xiàn)在線調(diào)試呢?對(duì)于調(diào)試Linux和WinCE的應(yīng)用程序,可以直接通過網(wǎng)線或者USB接口實(shí)現(xiàn)在線調(diào)試,效果可以達(dá)到使用單片機(jī)仿真機(jī)的效果,可以設(shè)置斷點(diǎn)、可以看到寄存器值和變量值等實(shí)時(shí)調(diào)試信息。如果要調(diào)試Linux或者WinCE的內(nèi)核系統(tǒng),就只有去購買價(jià)格不菲的仿真系統(tǒng)了。但是對(duì)于大多數(shù)工程師來說,能在C語言源碼級(jí)進(jìn)行調(diào)試就足以滿足要求,實(shí)際上,更多的時(shí)候,是簡單地在應(yīng)用程序中插入printf語句,把需要查看的信息打印出來,就可完成應(yīng)用程序的調(diào)試了,因?yàn)檫@樣處理能保證系統(tǒng)都于實(shí)際真實(shí)的運(yùn)行狀態(tài)之中。

8. WinCE 的版權(quán)問題怎么理解?

版權(quán)問題是困擾工程師的很大的問題。中國的特點(diǎn)就是喜歡免費(fèi),所以,一說收費(fèi),工程師就立馬拒絕了。其實(shí)工程師應(yīng)該去了解一下如何收費(fèi),收多少費(fèi),收的這個(gè)費(fèi)用對(duì)于企業(yè)來說合不合理?

說到開發(fā)基于WinCE的嵌入式系統(tǒng),往往會(huì)提到PlatformBuilder,這是微軟為平臺(tái)開發(fā)者提供的一次性收費(fèi)開發(fā)工具。但幸運(yùn)的是,如果僅僅從事嵌入式系統(tǒng)的應(yīng)用開發(fā),則根本用不到PlatformBuilder。微軟對(duì)每個(gè)基于WinCE的最終產(chǎn)品有一個(gè)License費(fèi)用,其中對(duì)嵌入式系統(tǒng)最常用的Core License 費(fèi)用在30人民幣左右,工程師可以拿這個(gè)數(shù)字和開發(fā)其它操作系統(tǒng)的費(fèi)用比一比,這個(gè)占多大比例。

英創(chuàng)公司的嵌入式主板,已經(jīng)提供了WinCE 的正版授權(quán),所以,選擇英創(chuàng)公司的嵌入式主板,不存在版權(quán)問題。開發(fā)WinCE 應(yīng)用程序除了免費(fèi)的EVC外,還有VS(visual studio 2005),這個(gè)對(duì)于大多數(shù)Windows應(yīng)用程序工程師并不陌生,盡管這個(gè)軟件是要付費(fèi)的,但獲得起來并不困難。在嵌入式環(huán)境,只要應(yīng)用程序運(yùn)行的操作系統(tǒng)環(huán)境是經(jīng)授權(quán)的,那么對(duì)微軟來講就不存在版權(quán)問題。這樣看來,你的產(chǎn)品只是多出來不到30元人民幣的WinCE License費(fèi)用(如果是購買英創(chuàng)的產(chǎn)品,英創(chuàng)實(shí)際已經(jīng)幫用戶繳納了這部分費(fèi)用)。如果產(chǎn)品的成本對(duì)這個(gè)費(fèi)用都非常敏感的話,我們測(cè)算,那也許意味著系統(tǒng)不能使用任何操作系統(tǒng)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • WINDOWS
    +關(guān)注

    關(guān)注

    4

    文章

    3586

    瀏覽量

    89963
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6092

    瀏覽量

    35845
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    通常需要具備強(qiáng)大的問題解決能力,以及對(duì)新技術(shù)的學(xué)習(xí)和應(yīng)用能力。他們的工作通常涉及到多個(gè)領(lǐng)域,如計(jì)算機(jī)科學(xué)、電子工程、機(jī)械工程等。 嵌入式硬件工程師
    發(fā)表于 05-16 11:00

    嵌入式軟件工程師如何提升自己?

    ,不斷提升自己的專業(yè)技能,保持與行業(yè)最新技術(shù)的同步。 3.積累項(xiàng)目經(jīng)驗(yàn) 項(xiàng)目經(jīng)驗(yàn)對(duì)于嵌入式軟件工程師的職業(yè)發(fā)展至關(guān)重要。通過參與實(shí)際項(xiàng)目,可以鍛煉自己的技能提高問題解決能力和團(tuán)隊(duì)合作能力。建議
    發(fā)表于 06-12 11:20

    嵌入式工程師關(guān)于linux的學(xué)習(xí)總結(jié)

    嵌入式工程師關(guān)于linux的學(xué)習(xí)總結(jié)
    發(fā)表于 08-19 23:01

    嵌入式工程師比普通軟件工程師好在哪里?

    ,其中包括硬件系統(tǒng)的建立和相關(guān)軟件開發(fā)、移植、調(diào)試等工作。被認(rèn)可的嵌入式工程師必須具備C/C++語言、匯編語言、操作系統(tǒng)等基礎(chǔ)知識(shí),并且要熟悉模擬電子技術(shù)和數(shù)字電子技術(shù)等硬件知識(shí)。除此
    發(fā)表于 11-20 15:37

    一名合格的嵌入式工程師需要的技能-中智訊

    比較優(yōu)秀的嵌入式工程師應(yīng)該具備的一些技能吧,搜集了網(wǎng)上的一些資料供各位立志于成為一名優(yōu)秀嵌入式工程師的作為參考。一、嵌入式軟件
    發(fā)表于 03-30 09:28

    創(chuàng)嵌入式主板的無線通訊解決方案

    WiFi模塊。ETA6210模塊繼續(xù)保持了PPP撥號(hào)模式,使得無論是Linux平臺(tái)的主板還是CE平臺(tái)的主板,都能方便的使用?! ∠卤砹谐隽水?dāng)前創(chuàng)嵌入式主板支持的無線模塊。模塊型號(hào)模塊圖片無線信道
    發(fā)表于 03-24 14:00

    嵌入式工程師的具體工作是什么?

    ,其中包括硬件系統(tǒng)的建立和相關(guān)軟件開發(fā)、移植、調(diào)試等工作。被認(rèn)可的嵌入式工程師必須具備C/C++語言、匯編語言、操作系統(tǒng)等基礎(chǔ)知識(shí),并且要熟悉模擬電子技術(shù)和數(shù)字電子技術(shù)等硬件知識(shí)。除此
    發(fā)表于 04-21 15:23

    【下載】《嵌入式工程師必知必會(huì)》——國外工程師的經(jīng)驗(yàn)之談

    Robotics and Process Control Cookbook.還發(fā)表過多篇文章,撰寫了大量技術(shù)資料.目錄:第1章 引言11.1 關(guān)于本書11.2 什么是嵌入式工程師2第
    發(fā)表于 07-06 16:16

    嵌入式軟件工程師嵌入式硬件工程師有什么不同,區(qū)別在哪里?

    軟件好呢?”,下面我們?cè)敿?xì)地來了解下嵌入式硬件工程師和軟件工程師的不同。 1、什么是嵌入式硬件工程師??隨著
    發(fā)表于 07-15 16:01

    嵌入式工程師是做什么的?

    嵌入式工程師要具有C/C++語言、匯編語言、操作系統(tǒng)等基礎(chǔ);熟悉模擬電子技術(shù)和數(shù)字電子技術(shù)等硬件知識(shí);了解處理器體系結(jié)構(gòu)等等。踏入這一行,就得不斷提升自己,才能謀得更好的發(fā)展。
    發(fā)表于 08-08 14:59

    關(guān)于嵌入式系統(tǒng)開發(fā)工程師相關(guān)問題解答

    內(nèi)容 1.設(shè)計(jì)、開發(fā)嵌入式系統(tǒng); 2.構(gòu)造嵌入式系統(tǒng)的框架結(jié)構(gòu)、內(nèi)核原理; 3.負(fù)責(zé)編寫整體系統(tǒng)設(shè)計(jì)方案; 4.分配嵌入式硬件工程師嵌入式
    發(fā)表于 09-09 10:43

    什么是嵌入式硬件工程師?什么是嵌入式軟件工程師

    什么是嵌入式硬件工程師?什么是嵌入式軟件工程師?嵌入式軟件工程師
    發(fā)表于 12-24 06:41

    嵌入式工程師有發(fā)展前途嗎?

    自如,那么就必須得依靠嵌入式技術(shù)。這就是我所說的嵌入式+智能學(xué)科應(yīng)用,從長久來看,嵌入式只會(huì)越來越火,智能學(xué)科的崛起必定帶動(dòng)新型的嵌入式
    發(fā)表于 12-29 09:45

    嵌入式軟件工程師嵌入式硬件工程師有什么區(qū)別

    隨著嵌入式技術(shù)的普及,硬件工程師的性質(zhì)也有所改變。嵌入式硬件工程師與我們平常所說的硬件工程師不同
    的頭像 發(fā)表于 04-08 08:58 ?7.3w次閱讀

    嵌入式工程師入門技巧

    嵌入式應(yīng)用工程師是一個(gè)軟硬件兼顧的職業(yè)。當(dāng)然,到了具體的工作崗位可能會(huì)有嵌入式硬件工程師嵌入式軟件工程
    的頭像 發(fā)表于 09-12 10:29 ?3427次閱讀