學好嵌入式必須要學的課程有什么?比如c?
謝謝邀請。
這個問題相信是所有嵌入式初學者的難題。下面這一課是嵌入式學習的必備:C語言C操作系統計算機組成原理linux編程51單片機arm硬件編程語言(FPGA)模擬電路amp數字電路。
語言,是計算機行業的必修課,一定要扎扎實實的學。可以安裝turboc編譯器作為開發環境,接觸C語言編程安裝vc6.0學習C編程。
2.操作系統:首先在電腦上安裝一個vmwar《自己動手寫操作系統》寫一個操作系統了。
3、計算機組成原理,熟悉計算機的基本原理,看看一臺計算機的基本組成和里面的軟件是如何運行的。
4、《unix/linux編程實踐教程》可以說是linux編程的必修課,一本非常好的書,初學嵌入式的朋友可以看看。
5.單片機其實就是一臺電腦,像現在的汽車控制,led控制,屏幕亮度控制,都是可以實現的。你可以學到很多別人可以學到的東西。;t.
,現在流行的微機,是32位單片機,也可以運行操作系統。自己嘗試移植一個操作系統。
7、硬件編程語言(FPGA),芯片是怎么做出來的,學了這門課,你就知道了。
8、模擬電路amp數字電路,硬件的基礎,有可能的話學習protel,嘗試自己做一個硬件pcb板。
計算機是一門實踐性很強的課程,所以我們應該注重實踐能力。學習嵌入式基礎課程時,可以按以下順序學習:
1.c語言、計算機組成原理、模擬電路和數字電路
2.匯編語言,單片機,操作系統,c。
3:硬件編程語言,arm
嵌入式開發可以分為硬件、驅動、內核、應用四個方向。如果要向嵌入式軟件方向發展,目前常見的是
嵌入式LinuxARM的發展方向可以分為三個階段:
1.嵌入式linux的上層應用,包括QT的GUI開發。
2.嵌入式linux系統的開發。
3.嵌入式linux驅動開發嵌入式系統的主要操作系統有LINUX、WINCE、VxWorks等。Linux開源免費,源代碼開放,更適合我們學習嵌入式系統。
如果自學,可以嘗試以下路線:
(1)C語言是所有編程語言中的強者,比如單片機、DSP以及類似ARM的各種芯片,都可以用C語言編程),所以一定要掌握的非常熟練。推薦書籍:譚浩強s很好。經典教材《《TheCProgrammingLanguage》》是外國人寫的,也翻譯成了中文。
(2)操作系統的原理是必要的。如果你畢業于計算機科學專業,它不會。;沒關系。如果不是計算機專業的,一定要找一本比較簡單的計算機原理的書,把"過程與結果,"線程和和"系統調度與管理。
(3)Linux操作系統是用C語言寫的,所以你也要先學習Linux的編程。只有你能應用它,你才能更深入地了解它的內核的本質。推薦書籍:《《UNIX環境高級編程》》(第二版)
(4)了解arm的架構、原理和匯編指令。在嵌入式開發中,我們很少寫匯編,但最起碼的要求是要能看懂ARM匯編。
(5)移植系統時,需要從較低的bootload
嵌入式驅動開發百科?
在嵌入式產品的設計開發中,首先需要硬件支持。大多數嵌入式硬件需要某種軟件來初始化和管理。這類軟件直接與硬件接口并控制硬件,從而很好地與硬件配合,完成相關功能。一句話,驅動就是軟件庫,初始化硬件,管理上層軟件對硬件的訪問。是硬件與操作系統、中間件與應用層連接的關鍵。它在嵌入式軟件開發中起著不可替代的作用。
首先,驅動是程序員設計開發的。由于各種各樣的問題,驅動程序的開發面臨著許多挑戰。具體挑戰如下:
(1)市場上的硬件類型很多,不同類型的硬件對設備驅動的要求也不同。這就使得對驅動開發的需求更多,驅動開發的復雜和繁瑣增加了開發者的開發難度。
(2)設備驅動通常被認為是面向架構的,否則就是通用的。此時,開發的驅動程序代碼可以不要完全一樣。對于不同的架構,不同的板載硬件,需要配置或者加減一些代碼,使驅動適合特定的環境。再加上硬件的多樣性,驅動開發者需要編寫和設計更多的代碼來完善其功能,以便在特定環境下使用驅動。