嵌入式linux系統與應用

來源:互聯網
上載者:User
Emebedded System and Application(Linux)

 
Goal
--
掌握嵌入式系統開發的流程,系統移植的方法,編寫Bootloader

            (Be familiar with the process of ES Developing

, System Migration

amd Bootloader Programming

)

 

 Requriement
--
C、C++、Data Structure、Operating System、Linux、Electronic circuit

 

 Content
--

 

1

Linux 快速入門

Linux 概述; Linux發行版;
Linux開發環境搭建-vmware虛擬機器;Linux系統安裝
Linux的基礎知識; Linux檔案系統和檔案; Shell的使用;
常用的shell命令;Linux的軟體安裝;
Linux 下的C語言編程基礎;Linux下VIM的使用;
編譯器GCC的使用;調試器gdb的使用;
Linux下多檔案編譯與專案管理工具make的使用;

2

C語言基礎強化

C語言文法
C語言的記憶體布局與常見庫函數
3

資料結構基礎強化

鏈表、隊列、棧、樹、雜湊表
資料搜尋、遍曆、排序與常見演算法

4

C++語言基礎強化

物件導向的編程方法 類及對象的封裝 類的繼承與派生
虛函數與多態性 建構函式與虛構函數 模板 異常處理
5

ARM硬體介面

嵌入式微處理器 ARM寄存器 ARM工作模式
ARM異常中斷 ARM彙編指令分類 ARM彙編指令定址方式
ARM組譯工具設計 C及組合語言混合編程
實驗:
基本ARM彙編指令編程;資料訪問練習;
ARM彙編和C混合編程;ARM指令和THUMB指令混合編程

MDK開發環境使用 U-Linuk模擬器使用
ARM開發調試環境建立 ARM GPIO應用
ARM儲存空間控制器 ARM中斷控制器(IRQ和FIQ)
實驗:
ARM組合語言與C語言實現跑馬燈;
IRQ與FIQ中斷流程分析
ARM時鐘及定時器;TFT LCD驅動程式設計
實驗:
看門狗定時器應用;LCD顯示曲線及圖片;
LCD漢字顯示實驗;
ADC控制器應用;觸控螢幕應用及校準
實驗:
ADC應用實驗;觸控螢幕實現實驗
PWM時鐘應用;系統時鐘及鬧鐘應用
實驗:
蜂鳴器控制;系統時鐘及鬧鐘應用;
ARM工作模式轉換;ARM啟動代碼設計
NOR Flash應用設計;NAND Flash應用設計
IIC匯流排控制器
實驗:
NOR Flash編程;NAND Flash編程;
6

交叉開發環境搭建

嵌入式系統定義;Linux交叉開發環境介紹;
GNU交叉工具鏈的使用;宿主機與PC機間的通訊;
串口通訊;交叉調試;
實驗:
Minicom配置使用,Windows超級終端配置實驗;
NFS共用設定實驗

 

7

Linux下C語言開發

檔案I/O操作編程;
Linux系統調用與使用者編程介面;
Linux中檔案及檔案描述符概述;
不帶緩衝的檔案I/O操作;標準I/O開發。
檔案操作 目錄操作 特殊檔案

Linux進程概述;Linux下進程結構;Linux下進程的模式類型;
Linux下進程管理;Linux進程式控制制編程;守護進程;
訊號及訊號處理
處理序間通訊;多線程編程
管道;管道建立與讀寫;標準流管道;FIFO訊號量;
共用記憶體實現;訊息佇列實現
線程概述與分類;Linux線程技術發展;線程的實現和基本操作;
線程存取控制。
TCP/IP協議概述;OSI參考模型和TCP/IP參考模型;
TCP/IP協議棧;TCP和UDP;
通訊端基礎 網路Socket概述;Socket通訊原理;
Socket基礎編程。
通訊端編程進階 多路選擇I/O 檔案傳輸實現
8

嵌入式GUI設計

Linux下嵌入式gui編程介紹;Qt介紹;通過Qt designer認識Qt; 訊號和槽;Qt的事件
QT中的多線程編程;Qt 中的網路編程。
Qt介面布局與特效處理
9

嵌入式資料庫應用

資料庫基礎
嵌入式資料庫應用
嵌入式GUI與資料庫結合技術

10

根檔案系統

常見根檔案系統一(cramfs、jffs2)
根檔案系統的目錄結構;根檔案系統內容;
常見根檔案系統製作;添加裝置檔案;添加動態連結程式庫;
添加系統應用程式;添加設定檔;
常見根檔案系統二(yaffs、romfs)
根檔案系統的目錄結構;根檔案系統內容;
常見根檔案系統製作;添加裝置檔案;添加動態連結程式庫;
添加系統應用程式;添加設定檔;
11

項目架構

綜合項目架構分析與項目開發技巧
12

Bootloader

Bootloader介紹;GEC2440Bootloader分析;
常見bootloader源碼分析;
u-boot配置與編譯;u-boot移植;u-boot 使用
實驗:
修改u-boot原始碼,移植到開發板上

13

Linux核心進階技術

Linux核心結構 配置與編譯移植 Linux核心模組設計
核心記憶體管理、進程管理、中斷管理、裝置管理
核心時鐘和定時器管理、訊號、調度
Linux核心調試與最佳化
14

Linux驅動進階應用程式

字元驅動

驅動的中斷 延時 並發控制
裝置驅動的阻塞與非阻塞、非同步通訊
進階字元裝置
塊裝置驅動 Flash裝置驅動
網路裝置驅動
USB裝置驅動
LCD&觸控螢幕 裝置驅動
IIC & SPI裝置驅動

裝置驅動調試與移植技巧

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.