一、嵌入式C語言編程
1、C數(shù)據(jù)類型、控制語句
2、C程序結(jié)構(gòu)設(shè)計、數(shù)組、函數(shù)、預(yù)處理:
3、指針及字符串操作
4、結(jié)構(gòu)體、共用體、宏、枚舉
5、文件I/O操作
階段練習項目:《GPRS信息分析器》、《輸入法程序》、《稅收計算器》、《信息管理系統(tǒng)》
數(shù)據(jù)結(jié)構(gòu)及算法
1、數(shù)據(jù)結(jié)構(gòu)之單向鏈表、雙向鏈表
2、數(shù)據(jù)結(jié)構(gòu)之隊列、棧
3、數(shù)據(jù)結(jié)構(gòu)之樹、圖
4、算法之各種排序(選擇法、冒泡法、插入法等)
5、遞歸
6、算法之二分查找
階段練習項目:《文件系統(tǒng)目錄掃描項目》
二、嵌入式設(shè)備及GUI開發(fā)
嵌入式環(huán)境配置與開發(fā)工具學習
1、Linux下項目管理工具Make以及Makefile工作原理及其編寫
2、Linux下shell腳本相關(guān)知識及其編寫
3、嵌入式開發(fā)環(huán)境的基本概念及其搭建
4、A53開發(fā)板介紹、設(shè)備使用、A53開發(fā)板與電腦通信、交叉編譯
GUI圖形界面開發(fā)
1、常用控件——button、label、text edit等
2、常用布局方式——水平布局、垂直布局、固定布局、網(wǎng)格布局、相對布局等
3、常用事件及信號處理技術(shù)——信息回調(diào)、鼠標、鍵盤事件等
4、時間編程、數(shù)據(jù)存儲、繪圖機制、定時器處理、多任務(wù)處理等
階段練習項目:《數(shù)碼相框》、《手機計算器》、《用戶登錄器》、《排號機界面設(shè)計》
三、嵌入式Linux程序設(shè)計
嵌入式Linux系統(tǒng)編程
1、Linux系統(tǒng)調(diào)用概念
2、進程相關(guān)概念、多進程實現(xiàn)多任務(wù)開發(fā)
3、進程間通信:無名管道、命名管道、信號、消息隊列、共享內(nèi)存等
4、多線程實現(xiàn)多任務(wù)開發(fā)
5、多任務(wù)的同步互斥開發(fā):互斥鎖、信號量
階段練習項目:《單機多任務(wù)通信工具》、《shell命令解釋器》《簡單版多媒體播放器》等
四、Linux網(wǎng)絡(luò)程序設(shè)計
Linux網(wǎng)絡(luò)編程
1、網(wǎng)絡(luò)相關(guān)概念及網(wǎng)絡(luò)發(fā)展
2、TCP/IP協(xié)議
3、socket編程、TCP網(wǎng)絡(luò)編程、UDP網(wǎng)絡(luò)編程、Web編程開發(fā)等
4、Linux網(wǎng)絡(luò)應(yīng)用程序開發(fā),Linux網(wǎng)絡(luò)編程相關(guān)API
5、TCP協(xié)議服務(wù)器的編程方法和并發(fā)服務(wù)器的實現(xiàn)
6、HTTP協(xié)議及其實現(xiàn)方法,熟悉UDP廣播、多播的原理及編程方法,掌握混合C/S架構(gòu)網(wǎng)絡(luò)通信系統(tǒng)的設(shè)計
7、IPv6與IPv4協(xié)議,及其編程接口
8、網(wǎng)絡(luò)數(shù)據(jù)通信過程
9、網(wǎng)絡(luò)原始套接字概念及編程接口
階段練習項目:《基于TCP協(xié)議的通信工具》、《Webserver 服務(wù)器開發(fā)》、《文件傳輸服務(wù)器》《網(wǎng)絡(luò)身份偽裝》、《網(wǎng)絡(luò)數(shù)據(jù)分析器》
五、數(shù)據(jù)庫開發(fā)
數(shù)據(jù)庫開發(fā)
1、數(shù)據(jù)庫概念、數(shù)據(jù)庫類型、常見數(shù)據(jù)庫
2、SQLite數(shù)據(jù)庫介紹及其安裝與移植
3、SQL數(shù)據(jù)庫語言( 數(shù)據(jù)定義語言(DDL)、數(shù)據(jù)操作語言(DML)、數(shù)據(jù)查詢語言(DQL)、數(shù)據(jù)控制語言(DCL) )
4、sqlite數(shù)據(jù)庫C語言編程中的各種SQL指令執(zhí)行函數(shù)完成對數(shù)據(jù)庫的控制。
階段練習項目:《學生信息管理系統(tǒng)》
六、C++面向?qū)ο笳Z言程序設(shè)計
C++語言語言開發(fā)
1.熟悉面向?qū)ο蟮恼Z言概述
2.熟練掌握c++語言的基本知識和類與對象及其應(yīng)用
3、作用域運算符、內(nèi)聯(lián)函數(shù)、強制類型轉(zhuǎn)換
4、new、delete內(nèi)存管理
5、對象成員、成員函數(shù)
6、構(gòu)造函數(shù)、析構(gòu)函數(shù)、拷貝構(gòu)造函數(shù)、函數(shù)重載
7、對象數(shù)組、this指針、枚舉、
8、靜態(tài)成員、靜態(tài)成員函數(shù)
9、對象成員
10、友元
11、封裝、繼承、多繼承、多態(tài)
12、虛函數(shù)、純虛函數(shù)、抽象類、虛析構(gòu)函數(shù) 等
階段練習項目:《用戶管理系統(tǒng)》、《貪吃蛇游戲》
七、物聯(lián)網(wǎng)
物聯(lián)網(wǎng)開發(fā)
1、了解物聯(lián)網(wǎng)、泛在網(wǎng)、互聯(lián)網(wǎng)基本要領(lǐng)及其關(guān)系
2、熟悉RFID從低頻段到高頻段的基本工作原理,以及RFID標簽的種類與行業(yè)應(yīng)用,讀卡器原理與通信過程
3、熟悉TI的cc2530的基本應(yīng)用,包含基本硬件資源,協(xié)議棧相關(guān)接口使用,以及點對點通信、星形通信、廣播通信、綁定通信,三種網(wǎng)絡(luò)結(jié)構(gòu)star、tree、mesh,掌握zibgee相關(guān)微控制處理芯片
4、了解zigbe協(xié)議棧組成,以及zigbee在通信、組網(wǎng)、搖控等領(lǐng)域的不同應(yīng)用
5、通過Bluetooth、wifi和zigbee技術(shù)對比各自的優(yōu)缺點,并重點介紹zigbee的各種應(yīng)用
6、掌握溫度、濕度、光照、PH值、二氧化碳等傳感器的工作原理及通信接口
7、了解NB-IOT基本概念及移運BC95模塊
8、熟悉CoAP協(xié)議在NB-IOT中的應(yīng)用
9、掌握常用AT指定集
階段練習項目:《智慧溫室大棚》
八、CotexA53 Linux平臺驅(qū)動開發(fā)
Linux平臺驅(qū)動開發(fā)
1、了解ARM處理器基本特征及工作原理
2、掌握ARM裸機程序開發(fā)以及裸機編譯工具的使用
3、嵌入式Bootloader原理分析及其移植
4、嵌入式Linux內(nèi)核結(jié)構(gòu)分析及其移植
5、掌握嵌入式Linux根文件系統(tǒng)組成分析及其制作過程
6、掌握嵌入式Linux三大類設(shè)備驅(qū)動基本概念
7、掌握Linux字符驅(qū)動框架及GPIO輸入輸出驅(qū)動
8、Linux中斷機制處理及響應(yīng)過程
9、Linux下SPI/IIC/UART串行通信技術(shù)驅(qū)動編寫與應(yīng)用
10、Linux下input設(shè)備驅(qū)動框架介紹
11、Linux下platform機制設(shè)備驅(qū)動框架介紹
12、Linux下kfifo緩沖機制、并發(fā)與競態(tài)(如互斥鎖與信息號等)講解
13、Linux驅(qū)動中的阻塞與非阻塞
14、Linux下塊設(shè)備驅(qū)動框架——RAMdisk驅(qū)動實例編寫
15、USB設(shè)備硬件設(shè)計原理、驅(qū)動協(xié)議架構(gòu)、驅(qū)動開以流程
16、了解Linux設(shè)備驅(qū)動模型(kobject、kset、子系統(tǒng)、底層sysfs操作、虛擬總線等)