嵌入式Linux學習方法——給那些彷徨者(上)

來源:互聯網
上載者:User

要想學好嵌入式Linux,首先要解決兩個重要問題:

1. 學什嗎?

2. 怎麼學?

首先解決第一個問題。

嵌入式Linux的系統架構包括軟體和硬體兩個部分,如:

再來看看一個成熟的嵌入式產品的開發流程是怎麼一個過程:

  • 1.硬體開發
  • 責任人: 硬體工程師
  • 負責部分:基於EVM板, 添加、修改、刪除硬體
  • 2.Bootloader移植
  • 責任人:系統工程師或驅動工程師
  • 負責部分:將Bootloader移植到流程1所開發出來的硬體平台
  • 3. Linux核心
  • 責任人:系統工程師或驅動工程師
  • 負責部分:將Linux核心移植到流程1所開發出來的硬體平台
  • 4.根檔案系統製作
  • 責任人:系統工程師
  • 負責部分:製作供核心啟動的根檔案系統
  • 5.1 業務相關的應用程式
  • 責任人:應用工程師
  • 負責部分:開發和產品密切相關的應用程式
  • 5.2 業務相關的驅動程式
  • 責任人:驅動工程師
  • 負責部分:開發和產品密切相關的驅動程式,如觸控螢幕、無線網卡
  • 6. 功能測試,效能測試,系統整合測、實驗局(系統裝置)、發布

看完上面這些,你應該對嵌入式Linux有一個大概的認識了。我們再來理清一下知識結構,再對其進行細分。先來看預覽一下“學什麼”知識結構:

  • 1.嵌入式處理器與裸機程式
  • 2.Linux系統管理
  • 3.Linux應用程式開發
  • 4.Linux驅動程式開發
  • 5.Linux核心開發與系統移植

再來對每一項要學習的東西進行彙集:

處理器:

1. ARM處理器工作模式
2. ARM系統寄存器
3. ARM定址方式
4. ARM 彙編指令集
5. ARM環境C語言編程
6. ARM中斷與異常
7. ADS整合式開發環境
8. 裸機程式開發(串口、LCD、時鐘、LED、按鍵……)

系統管理:

1. Linux定製安裝
2. Linux命令詳解
3. samba、nfs、tftp、wireshark使用
4. Shell編程

應用程式開發:

1. GCC、GDB、Makefile
2. 檔案、時間編程
3. 多進程、多線程程式設計
4. 進程間通訊
5. 網路編程
6. QT圖形化應用程式開發
7. Android圖形化應用程式開發

核心開發:

1. Linux核心配置與裁剪
2. Linux核心模組開發
3. 根檔案系統製作
4. 進程子系統
5. 記憶體子系統
6. Proc檔案系統
7. 系統調用
8. 核心定時器
9. 核心例外狀況分析

驅動程式開發:

1. 字元裝置驅動程式
2. 匯流排、裝置、驅動模型
3. 硬體訪問技術
4. 中斷處理
5. Input裝置驅動
6. Platform驅動程式
7. PCI、USB驅動程式
8. 網路卡驅動程式
9. 觸控螢幕驅動程式
10. 串口驅動程式

 

 

參考資料:國嵌嵌入式Linux

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.