嵌入式系統開發學習步驟(Linux高級編程學習順序)

虎牙來了 發佈 2019-12-29T02:31:42+00:00

㉿ 1、Linux 基礎✎ 安裝Linux作業系統✎ Linux文件系統✎ Linux常用命令✎ Linux啟動過程詳解✎ 熟悉Linux服務能夠獨立安裝Linux作業系統✎ 能夠熟練使用Linux系統的基本命令✎ 認識Linux系統的常用服務安裝Linux作業系統✎ Linux


㉿ 1、Linux 基礎

✎ 安裝Linux作業系統

✎ Linux文件系統

✎ Linux常用命令

✎ Linux啟動過程詳解

✎ 熟悉Linux服務能夠獨立安裝Linux作業系統

✎ 能夠熟練使用Linux系統的基本命令

✎ 認識Linux系統的常用服務安裝Linux作業系統

✎ Linux基本命令實踐

✎ 設置Linux環境變量

✎ 定製Linux的服務 Shell 編程基礎使用vi編輯文件

✎ 使用Emacs編輯文件

✎ 使用其他編輯器

㉿ 2、Shell 編程基礎

✎ Shell簡介

✎ 認識後台程序

✎ Bash編程熟悉Linux系統下的編輯環境

✎ 熟悉Linux下的各種Shell

✎ 熟練進行shell編程熟悉vi基本操作

✎ 熟悉Emacs的基本操作

✎ 比較不同shell的區別

✎ 編寫一個測試伺服器是否連通的shell腳本程序

✎ 編寫一個查看進程是否存在的shell腳本程序

✎ 編寫一個帶有循環語句的shell腳本程序

㉿ 3、Linux 下的 C 編程基礎

linux C語言環境概述

Gcc使用方法

Gdb調試技術

Autoconf

Automake

Makefile

代碼優化 熟悉Linux系統下的開發環境

熟悉Gcc編譯器

熟悉Makefile規則編寫Hello,World程序

使用 make命令編譯程序

編寫帶有一個循環的程序

調試一個有問題的程序

㉿ 4、嵌入式系統開發基礎

嵌入式系統概述

交叉編譯

配置TFTP服務

配置NFS服務

下載Bootloader和內核

嵌入式Linux應用軟體開發流程

熟悉嵌入式系統概念以及開發流程

建立嵌入式系統開發環境製作cross_gcc工具鏈

編譯並下載U-boot

編譯並下載Linux內核

編譯並下載Linux應用程式

嵌入式系統移植

Linux內核代碼

平台相關代碼分析

ARM平台介紹

平台移植的關鍵技術

移植Linux內核到 ARM平台 了解移植的概念

能夠移植Linux內核移植Linux2.6內核到 ARM9開發板

㉿ 5、嵌入式 Linux 下串口通信

串行I/O的基本概念

嵌入式Linux應用軟體開發流程

Linux系統的文件和設備

與文件相關的系統調用

配置超級終端和MiniCOM 能夠熟悉進行串口通信

熟悉文件I/O 編寫串口通信程序

編寫多串口通信程序

㉿ 6、嵌入式系統中多進程程序設計

Linux系統進程概述

嵌入式系統的進程特點

進程操作

守護進程

相關的系統調用了解Linux系統中進程的概念

能夠編寫多進程程序編寫多進程程序

編寫一個守護進程程序

sleep系統調用任務管理、同步與通信 Linux任務概述

任務調度

管道

信號

共享內存

任務管理 API 了解Linux系統任務管理機制

熟悉進程間通信的幾種方式

熟悉嵌入式Linux中的任務間同步與通信

編寫一個簡單的管道程序實現文件傳輸

編寫一個使用共享內存的程序

㉿ 7、嵌入式系統中多線程程序設計

線程的基礎知識

多線程編程方法

線程應用中的同步問題了解線程的概念

能夠編寫簡單的多線程程序編寫一個多線程程序

㉿ 8、嵌入式 Linux 網絡編程

網絡基礎知識

嵌入式Linux中TCP/IP網絡結構

socket 編程

常用 API函數

分析Ping命令的實現

基本UDP套接口編程

許可證管理

PPP協議

GPRS 了解嵌入式Linux網絡體系結構

能夠進行嵌入式Linux環境下的socket 編程

熟悉UDP協議、PPP協議

熟悉GPRS 使用socket 編寫代理伺服器

使用socket 編寫路由器

編寫許可證伺服器

指出TCP和UDP的優缺點

編寫一個web伺服器

編寫一個運行在 ARM平台的網絡播放器

㉿ 9、GUI 程序開發

✎ GUI基礎

✎ 嵌入式系統GUI類型

✎ 編譯QT

✎ 進行QT開發熟悉嵌入式系統常用的GUI

✎ 能夠進行QT編程使用QT編寫「Hello,World」程序

✎ 調試一個加入信號/槽的實例

✎ 通過重載QWidget 類方法處理事件

㉿ 10、Linux 字符設備驅動程序

✎ 設備驅動程序基礎知識

✎ Linux系統的模塊

✎ 字符設備驅動分析

✎ fs_operation結構

✎ 加載驅動程序了解設備驅動程序的概念

✎ 了解Linux字符設備驅動程序結構

✎ 能夠編寫字符設備驅動程序編寫Skull驅動

✎ 編寫鍵盤驅動

✎ 編寫I/O驅動

✎ 分析一個看門狗驅動程序

✎ 對比Linux2.6內核與2.4內核中字符設備驅動的不同

✎ Linux 塊設備驅動程序塊設備驅動程序工作原理

✎ 典型的塊設備驅動程序分析

✎ 塊設備的讀寫請求隊列了解Linux塊設備驅動程序結構

✎ 能夠編寫簡單的塊設備驅動程序比較字符設備與塊設備的異同

✎ 編寫MMC卡驅動程序

✎ 分析一個文件系統

✎ 對比Linux2.6內核與2.4內核中塊設備驅動的不同

㉿ 11、文件系統

✎ 虛擬文件系統

✎ 文件系統的建立

✎ ramfs內存文件系統

✎ proc文件系統

✎ devfs 文件系統

✎ MTD技術簡介

✎ MTD塊設備初始化

✎ MTD塊設備的讀寫操作了解Linux系統的文件系統

✎ 了解嵌入式Linux的文件系統

✎ 了解MTD技術

✎ 能夠編寫簡單的文件系統為 ARM9開發板添加 MTD支持

✎ 移植JFFS2文件系統

✎ 通過proc文件系統修改作業系統參數

✎ 分析romfs 文件系統原始碼

✎ 創建一個cramfs 文件系統

———————————————▁▂▃▅▆▇▉

我是一名從事了10年開發在退休邊緣垂死掙扎的高齡程式設計師,最近我花了一些時間整理了一個完整的學習C語言、C++的路線,項目源碼和工具。對於想學習C/C++的小夥伴而言,學習的氛圍和志同道合的夥伴很重要,筆者推薦一個C語言/C++編程愛好者的聚集地> > >私信我【編程學習】即可!

歡迎初學和進階中的小夥伴。希望你也能憑自己的努力,成為下一個優秀的程式設計師。工作需要、感興趣、為了入行、轉行需要學習C/C++的夥伴可以一起學習!」

關注我,帶你遨遊代碼世界!

下面這些是C/C++能做的 :

伺服器開發工程師、人工智慧、雲計算工程師、信息安全(白客)、大數據 、數據平台、嵌入式工程師、流媒體伺服器、數據控解、圖像處理、音頻視頻開發工程師、遊戲伺服器、分布式系統、遊戲輔助等!

最後分享一張C/C++編程學習路線圖給愛學習的小夥伴們


關鍵字: