常見的嵌入式linux學習和如何選擇ARM芯片問答

常見的ARM嵌入式學習問答,設計者和學習者最關心的11個問題:
1.          ARM嵌入式是學習硬件好仍是學習軟件好?
2.          嵌入式軟件和硬件,哪種職位待遇更高?或者說,在設計中哪個更重要?
3.        學完51單片機後,想買ARM開發板繼續學習,是買ARM7仍是ARM9?
4.        究竟是學習哪一種內核:ARM七、CORTEX-M三、CORTEX-M四、ARM九、CORTEX-A8仍是CORTEX-A9?
5.        ARM芯片如何選擇型號?
6.        學習ARM主要學習啥?
7.        是先學習基於操做系統的應用層程序的編程,仍是先學習基於操做系統的驅動程序的編程?
8.       爲什麼要學習linux,而不是其餘的嵌入式操做系統?
9.        必定要學習GUI界面設計嗎?
10.        買哪一種ARM開發板?
11.        電磁兼容號稱黑色藝術,請問如何學習硬件設計中的電磁兼容設計?

1.        ARM嵌入式是學習硬件好仍是學習軟件好?

     答:

         學習硬件好仍是軟件好,若是你能精通其中的任何一個,都好!
       學硬件,絕大多數人大學畢業後均可以作硬件設計,這時候你們是一個差很少的水平線上,因此感受上好像沒有門檻!可是電子產品設計的難點是穩定性,尤爲是電磁兼容性的設計。N年以後,也許三年,也許五年,也許八年,總之年數不等,這時候水平上就有了高低之分:有些人設計出來的電子產品就是不怎麼出問題,有些人設計出來的電子產品就是一直有問題。硬件的設計,是設計經驗和理論再學習的結合:電磁場與電磁波、微波與天線、高速信號處理、信號完整性、PCB佈線的 實際措施、系統電磁兼容的處理措施、電路調試的能力與解決電路故障的能力,等等,
    學軟件,不少人大學畢業後都沒法從事這個設計工做,由於你們在學校的努力程度不一樣,不少人實際上尚未進入編程的門檻內。可是進入門檻後,絕大多數人的水平會處於差很少相同的水平線上,極個別的水平高一些,體如今程序的穩定性和程序運行效率上。軟件的設計,主要體如今這兩點
    單片機的硬件和軟件,由於主頻過低,不多出現穩定性的問題,軟件的工做量也小,不少單位的軟硬件都是一我的作。可是到了主頻很高的32位微處理器後,硬件的穩定性特別容易出問題,功能複雜度增大,硬件設計的難度增長了,軟件編程的工做量加大了,因此多數公司的軟件和硬件開始有多人分開設計。樹葉有專攻!大樹葉負責系統設計,各類小樹葉有的作硬件設計,有的作軟件編程。宗旨就是發揮各自的強項!完成最後的系統功能設計

   另一個須要強調的是,學習硬件仍是軟件,還要看我的對硬件感興趣,仍是對軟件感興趣?

2.        嵌入式軟件和硬件,哪種職位待遇更高?或者說,在設計中哪個更重要?

      答:

     剛進入職場時,通常來講嵌入式軟件的待遇會稍高一些。由於以前說了,不少人沒有進入軟件設計的門檻內。可是軟件畢竟是青春性的職業,隨着年齡的增長和設計經驗、設計能力的增長,硬件設計的待遇水漲船高,慢慢會與軟件職位的待遇相同甚至高於軟件的職位。

     至於誰更重要,硬件至關於軀體,軟件至關於血液,缺一不可,沒有誰更重要的說法。若是從產品的角度看,硬件更重要一些。由於在產品中出了問題,硬件的穩定性問題基本上只有找高手從新設計,若是是電路原理上的問題還能夠直接增長或者減小元件來解決。軟件上不穩定問題基本上能夠經過修改程序設計並從新下載程序到芯片中來解決。若是從設計的角度看,系統設計更重要,由於系統設計要求懂一些軟件的基本設計,更要對硬件設計有至關的造詣,這樣他才能把握住系統設計的要求,正確提出設計方案。

3.      學完51單片機後,想買ARM開發板繼續學習,是買ARM7仍是ARM9?

     答:

       若是你的單片機編程能力比較強,建議直接買ARM9的板子,跑linux系統的,學習嵌入式軟件編程。
       若是你的單片機編程能力比較通常,建議先購買CORTEX-M3的開發板,好比盤古STM32F103VET6開發板(軟硬件所有開源:提供軟件源代碼,提供原理圖和PCB圖),先學習32位ARM的編程(支持輕量級的操做系統,好比UCOS),鍛鍊實際的編程能力。有了必定的編程能力後,再買ARM9的板子,跑linux系統的,學習嵌入式軟件編程。
       總之就是多動手,遇到問題多了慢慢積累起來解決問題的方法,就可以融會貫通了!

5.      ARM芯片如何選擇型號?

答:

  ST公司:基於CORTEX-M3內核的芯片STM32F10三、基於CORTEX-M4內核的芯片STM32F4,是目前最流行的CORTEX-M3內核的芯片。

  N XP公司:基於CORTEX-M3內核的芯片LPC176八、LPC178八、基於CORTEX-M0+內核的芯片LPC800系列,ARM9內核的芯片LPC3250,在設計中的承認率都比較高。

    ATMEL公司:一直採用ARM核心技術,最高也只採用到ARM9技術,旨在打造穩定的工業級芯片,不追求性能上的卓越,但求性能更加的可靠的工業級芯片。能克服各類惡劣的環境,及各類干擾,功耗低,讓工業控制能更加穩定有條不紊的進行。如今的ARM9內核芯片有AT91SAM9260、AT91SAM926三、AT91SAM9G45等


       德州儀器TI: 一直致力於研究處理速度更快,功能更增強大的芯片。更是採用ARM最新技術Cortex A8來提高芯片的性能。使得一些芯片的處理速度與X86架構的MCU不分伯仲。可是最近OMAP系列芯片聽說被裁了,可能會退出市場。這讓選擇TI芯片的人內心有點懼怕!並且,TI的芯片更新速度太快,讓選擇他們芯片的廠家也無所適從。如今的CORTEX-A8內核芯片有AM335八、AM3359等。

SAMSUNG半導體: SAMSUNG生產ARM內核芯片的超高性價比是無人能敵的。正由於這點,其芯片也獲得不少廠家的親睞。例如S3C2440性價比極高,通常消費電子產品中應用較多,不適於在嚴苛的工控環境中使用。如今的ARM9內核芯片有S3C2440、CORTEX-A8內核芯片S5PV210等。

     最近總是看到很多我的和廠家宣傳:使用三星的2440或者三星公司的其餘型號設計爲工控產品,並且我聽到很多廠家說芯片的工做溫度都作過老化試驗,低溫能夠到零下40度。這個低溫的實驗條件只是工業級的一個強制性溫度試驗條件,並非在這個低溫下正常工做就是工控級芯片。工控級的應用真正難以實現的是在各類惡劣電磁環境下的穩定工做,惋惜大部分芯片都不能實現這種要求。穩定性是工控級應用的第一要素,這也就是爲什麼ATMEL的芯片不少型號一賣就是十幾年,他們的芯片作的就是穩定。好比AT91RM9200.

6.      學習ARM主要學習啥?

答:

   在硬件上主要學習ARM內核芯片的電路設計及其附加外圍電路(USB、SDIO、CAN、48五、SPI、PCI等)設計以及高速數字信號處理、信號完整性設計、電磁兼容設計,說白了就是學習如何設計出高穩定的ARM系統電路。ARM內核(CORTEX-M三、CORTEX-M四、ARM九、CORTEX-A八、CORTEX-A9等)的芯片,主頻愈來愈高,實現穩定性的設計難度愈來愈大。
     軟件上主要學學習基於操做系統的應用層程序的編程和基於操做系統的驅動程序編程或者基於庫函數的裸機程序編程等等。CORTEX-M三、CORTEX-M4內核的芯片,能夠運行裸機程序或者輕量級的UCOS系統,軟件上主要學習裸機程序的編程; ARM九、CORTEX-A八、CORTEX-A9內核的芯片,能夠運行linux操做系統、android操做系統、wince操做系統等,學習基於操做系統的應用程序編程

7.      是先學習基於操做系統的應用層程序的編程,仍是先學習基於操做系統的驅動程序的編程?

    答:

          基於操做系統的應用層程序的編程是嵌入式軟件設計的基礎,它基本上能夠不須要熟悉底層硬件就能夠完成程序設計,因此學習嵌入式linux應用程序編程買開發板時,只要能夠運行linux系統的開發板均可以。。基於操做系統的驅動程序的編程設計,要求設計人員不只要熟悉操做系統,還要熟悉底層硬件,最好有過基於寄存器的程序編寫經歷,對設計人員的要求比較高。

      .。。。。。。。。。。。。。。。。。。。。。。。。。。

        因此建議:先學習基於操做系統的應用層程序的編程,有了必定的編程經驗後再去學習基於操做系統的驅動程序的編程設計。
相關文章
相關標籤/搜索