Linux學習----1

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

  • 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. 串口驅動程序

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章