[課程安排]
課程 內(nèi)容
嵌入式Linux開發(fā)環(huán)境 嵌入式Linux軟件開發(fā):嵌入式開發(fā)概念,嵌入式軟件領(lǐng)域,Linux在嵌入式的應(yīng)用,深圳嵌入式行業(yè)優(yōu)勢
Linux操作系統(tǒng):Linux的歷史與發(fā)展,Linux發(fā)行版本,在VMWare上安裝Linux,VMWare-Linux網(wǎng)絡(luò)配置
Linux文件和服務(wù): FTP共享,Samba服務(wù)器共享,NFS共享,VMWare共享
Linux命令:文件系統(tǒng)管理,磁盤管理,用戶與組管理,幫助與查詢,進(jìn)程控制管理,文件壓縮
Vim/Emacs的使用
Linux shell編程:shell變量,流程控制,交互式腳本,shell函數(shù),文件過濾器,shell腳本實例
GUN GCC: gcc組成,可執(zhí)行文件構(gòu)造過程(預(yù)處理、編譯、匯編、鏈接),gcc選項,gcc代碼優(yōu)化,GUN binutils工具,objdump反匯編
靜態(tài)庫與動態(tài)庫:庫文件的概念,靜態(tài)鏈接與動態(tài)鏈接,創(chuàng)建靜態(tài)庫,創(chuàng)建動態(tài)鏈接庫,動態(tài)庫的隱式調(diào)用與顯示調(diào)用
Makefile:Makelfile概念,Makefile格式,Makefile的簡化,項目Makefile分析
Autotool: Autotool生成Makefile流程,configure腳本選項,Autotool-Makefile使用,Autotool開源項目的移植
GDB:用gdb調(diào)試程序,用gdb定位程序問題,gdb調(diào)試core dump
嵌入式交叉開發(fā)環(huán)境:交叉開發(fā)環(huán)境的組建,交叉編譯,交叉調(diào)試,掛載調(diào)試運(yùn)行中的程序
嵌入式Linux高級應(yīng)用 嵌入式軟件移植:移植的概念,簡單Makefile項目的移植,Autoconf生成項目的移植,圖形界面配置
項目實戰(zhàn):構(gòu)建嵌入式Linux系統(tǒng)( Bootloader架構(gòu)和功能、vivi與uboot、Busybox根文件系統(tǒng)、Linux內(nèi)核裁剪、BootLoader和Kernel固化)
嵌入式數(shù)據(jù)庫:嵌入式數(shù)據(jù)庫介紹,SQLite移植與使用,SQL語言,SQLite編程
嵌入式Web: 嵌入式Web介紹,BOA介紹,HTML介紹,BOA Web Server移植,BOA動態(tài)CGI程序編寫
Qt:signal&slot機(jī)制,Qt界面程序開發(fā)
Qtopia: 嵌入式Qtopia移植的Arm開發(fā)板, Qtopia窗口、菜單、對話框、控件, Qtopia可視化編程
Minigui:消息驅(qū)動機(jī)制,回調(diào)函數(shù), Minigui窗口、菜單、對話框、控件, Minigui界面程序開發(fā), Minigui移植到Arm開發(fā)板
項目實戰(zhàn):利用MiniGUI和SQLite實現(xiàn)電子點(diǎn)菜單
課程 內(nèi)容
嵌入式C語言編程 格式化輸入/輸出:格式化輸出printf,格式化輸出scanf,其他常用輸入/輸出函數(shù)(getchar、getch、gets、putch、puts)
分支結(jié)構(gòu)程序設(shè)計:if語句,多路分支switch
循環(huán)結(jié)構(gòu)程序設(shè)計:while循環(huán),for循環(huán),do while語句,break和continue語句
使用數(shù)組:數(shù)組的概念,一維數(shù)組,二位數(shù)組,字符數(shù)組和字符串,字符串反轉(zhuǎn),查找*數(shù),數(shù)據(jù)排序
使用函數(shù):函數(shù)的概念,函數(shù)工作過程,編寫函數(shù),函數(shù)的參數(shù),函數(shù)調(diào)用,遞歸函數(shù)
模塊化程序設(shè)計:模塊化概念,程序模塊結(jié)構(gòu),變量的作用域,變量的存儲類型(auto、register,static、extern),函數(shù)、文件、變量的關(guān)系
編碼規(guī)范:文件結(jié)構(gòu),程序版式,命名規(guī)則,防錯編程,程序效率
使用指針:內(nèi)存與變量,指針和簡單變量,指針和數(shù)組,指向多維數(shù)組的指針,指針和字符串,指針數(shù)組,指向指針的指針,指針和函數(shù),指針和const,復(fù)雜類型指針,指針的理解(指針類型,指針的值,指針?biāo)赶虻念愋停羔槺旧碚紦?jù)的內(nèi)存區(qū)域)
存儲管理:內(nèi)存組織方式,堆和棧的比較,動態(tài)內(nèi)存管理(malloc、calloc、realloc、free),丟失的內(nèi)存
結(jié)構(gòu)、聯(lián)合和枚舉:結(jié)構(gòu)的概念,結(jié)構(gòu)嵌套,結(jié)構(gòu)變量初始化,結(jié)構(gòu)數(shù)組,結(jié)構(gòu)指針,向函數(shù)傳遞結(jié)構(gòu),聯(lián)合定義,結(jié)構(gòu)中嵌套聯(lián)合,枚舉定義,使用typedef
位運(yùn)算和位域:二進(jìn)制數(shù),位邏輯運(yùn)算,位移運(yùn)算,位運(yùn)算復(fù)合賦值,位域結(jié)構(gòu),位域的使用,位域與聯(lián)合的使用
文件輸入/輸出:文件與數(shù)據(jù)流,文件的打開與關(guān)閉,文件讀寫,文件隨機(jī)訪問,文件緩沖區(qū),文件管理
預(yù)處理:預(yù)處理功能,預(yù)處理命令,無參數(shù)宏,帶參數(shù)宏,預(yù)處理操作符#和##,條件編譯,預(yù)定義宏名,#line, #pragma, #error,內(nèi)聯(lián)函數(shù)
字符串處理:字符串的存儲,字符和字符串檢測函數(shù),查找字符串,比較字符串,連接字符串,復(fù)制字符串,字符和字符串轉(zhuǎn)換,strrev,strset,strtok