Linux基礎(精通);
基本操作:系統服務搭建配置,shell腳本編寫
常用命令:查找 壓縮 輸入/出定向 管道 啓動腳本
軟件安裝 X-window
Linux網絡配置:TCP/IP DNS配置nfs ssh
Shell 程序設計{能用shell處理簡單的皮量工作}
一,Bash shell初步(變量 運算符 流程控制
環境變量 )
二,Bash shell 進階(文件操作 函數 輸入輸
出)
C語言 數據結構 (精通):
一,內存分配管理:鏈接 限定詞 模塊化編譯連接 指針 結構體 遞歸
二, linux下的Gcc Gdb的使用 makefile編程
三,鏈表 基本操作 常用排序,查找 hash表 隊列 堆棧 樹 廣義表
書籍<</SPAN>數據結構與算法分析>
Linux應用程序設計(精通):
一,學習函數的調用及網絡協議:文件I/O 管道
消息隊列 進程 線程 併發 高級I/O
進程間通信。
此階段的學習是從事嵌入式上層應用開發以及底層開發人員的必修課程。進程、線程、信號、文件鎖、socket是這部分內容的重點。要把這些內容學的透徹非要下些苦功夫不可。而且函數是系統提供給我們的,難免要對計算機系統深入理解一番。TCP/IP協議也是要涉及到的。有問題建議用Google搜索及登陸chinaunix論壇。通過這個階段的學習,我們就可以初步實現一些應用程序的開發了,如做自己的shell命令解析器、簡單的聊天軟件、視頻多播等。
二 精通嵌入式linux下的程序設計
1.gcc,gdb, makefile
2 文件時間編程
3 多進程 多線程程序設計
4 進程間通訊
5 網絡編程
6 QT圖形化應用程序設計
7 Andorid圖形化應用程序設計
書籍環境高級編程>《NUIX網絡編程》
Arm嵌入式開發(精通)用的開發板是ok6410
一 搭建linux嵌入式開發環境:
1基本概念
2 開發流程
3 內核裁剪配置
4交叉編譯
5根文件系統製作
6 網絡編程
7利用datasheet手冊控制外圍設備
二 掌握
1 Arm的工作模式
2 arm系統寄存器
3 arm彙編指令
4尋址方式
5 Arm環境C語言編程
6調試 彙編 混合編程
7 Arm終端與異常
8 Ads集成開發環境
(爲以後的移植課程打基礎)
三 arm的常用接口開發 硬件電路設計基礎
(I/O 串口 看門狗 實時時鐘 SPI IIC 等各種開發 程序)
書籍《arm嵌入式系統開發-軟件設計與開發》
《嵌入式linux》應用開發手冊》
Linux內核級設備驅動程序(精通)
1 linux內核的一些常識;從何處取源碼 編譯
安裝
2內核模塊開發
3 內核下半部分和退後執行工作及內核中斷
4內存管理
5熟悉內核配置與剪裁 移植
6 根文件系統製作
7 proc文件系統
8 系統調用
9 內核定時器
10 內核異常分析
二 嵌入式linux驅動高級開發:
1 flash驅動 掌握在linux下常見flash存儲器(nor flash nand flash)
2 塊設備驅動:1
flash驅動:掌握在linux環境下驅動常見flash存儲器(nor
flash、nand
flash);
2、塊設備驅動:掌握塊設備驅動的原理、學會ramdisk的編寫;
3、網卡驅動:掌握網卡設備的編寫原理、能夠熟練移植各種網卡驅動。在對網卡硬件寄存器熟悉的基礎上,有能力爲其編寫出完善的網卡驅動;
4、液晶驅動:掌握frambuffer驅動的原理。有能力在有控制器的嵌入式平臺上參考液晶手冊實現各種常見液晶驅動;
5、sd卡驅動:掌握sdio接口操作,熟悉sd卡驅動驅動的原理;
6、usb設備驅動:瞭解usb主機設備驅動的結構及編程方式
書籍《深入理解linux內核》
《linux設備驅動程序》
Android底層驅動開發大型項目:或者C++與QT:
正在邊學邊完善!