中國(guó)培訓(xùn)易(aokangtiyu.cn)
生產(chǎn)管理公開課
主辦單位:廣州必學(xué)企業(yè)管理咨詢有限公司
中國(guó)培訓(xùn)易(aokangtiyu.cn)
課程費(fèi)用:5000元/人(含教材、證書、午餐、學(xué)習(xí)用具等)
會(huì) 員 價(jià):會(huì)員優(yōu)惠價(jià)請(qǐng)咨詢客服, QQ:674837974 手機(jī)/微信:18588851172 符小姐
培訓(xùn)目標(biāo)
1、掌握嵌入式軟件開發(fā)所需的與處理器相關(guān)的通用知識(shí)。
2、明白信號(hào)完整性對(duì)嵌入式軟件開發(fā)的影響。
3、掌握嵌入式軟件開發(fā)所需掌握的GNU工具。包括make、gcc、binutils、ld和gdb。
4、更加深入地理解C編程語言。
5、了解引導(dǎo)加載器的大致工作原理和功能。
6、掌握實(shí)時(shí)操作系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)原理。包括多任務(wù)、任務(wù)同步通訊、內(nèi)存管理、設(shè)備管理和定時(shí)器管理。
7、理解設(shè)計(jì)是軟件質(zhì)量之本,并掌握一種有效的模塊管理、錯(cuò)誤管理和目錄結(jié)構(gòu)管理方法。
8、理解什么是可開發(fā)性問題和了解一種解決方法。
9、理解平臺(tái)與框架開發(fā)是打造高質(zhì)量軟件之路。
10、理解軟件開發(fā)的困難和質(zhì)量保證需要系統(tǒng)性的方法論。
11、理解軟件工程的工作習(xí)慣對(duì)軟件質(zhì)量的影響,掌握一些終身受用的編程好習(xí)慣。
12、理解單元測(cè)試的重要性,并掌握一種簡(jiǎn)單有效的部署方法。
13、理解代碼覆蓋、靜態(tài)分析和動(dòng)態(tài)分析對(duì)構(gòu)建高質(zhì)軟件的重要性。
課程詳情
嵌入式系統(tǒng)在現(xiàn)實(shí)生活中隨處可見,大到航天、汽車、通訊系統(tǒng),小到手機(jī)、機(jī)頂盒等等。嵌入式軟件開發(fā)作為軟件行業(yè)的一個(gè)分枝,也面臨著其它軟件領(lǐng)域所面臨的各種挑戰(zhàn) — 如何快速上市?如何保證交付軟件的最終質(zhì)量?如何幫助工程師在工作與生活間取得平衡?等等。由于嵌入式軟件開發(fā)是一個(gè)軟硬件結(jié)合非常緊密的領(lǐng)域,這也使得其面臨更大的挑戰(zhàn) — 軟件的可開發(fā)性問題可能很突出、對(duì)開發(fā)人員的綜合能力要求更高。為了幫助大家獲得一些實(shí)用的設(shè)計(jì)原則、最佳實(shí)踐和一套有效的質(zhì)量保證方法論,培訓(xùn)中心特舉辦“高質(zhì)高效嵌入式軟件開發(fā)”培訓(xùn)班。
培訓(xùn)對(duì)象
以C為編程語言的嵌入式和非嵌入式軟件開發(fā)工程師、項(xiàng)目管理師、架構(gòu)師等。
課程設(shè)計(jì)及授課思路
從事嵌入式軟件開發(fā),最困難的莫過于學(xué)習(xí)操作系統(tǒng)原理和處理器方面的知識(shí)。講解操作系統(tǒng)原理如果以Linux、Windows CE、VxWorks等成熟的操作系統(tǒng)為素材并不好,因?yàn)樗鼈兲,很容易讓人“只見森林不見樹木”,也容易讓人望而生畏而失去學(xué)習(xí)的興趣和信心。從軟件開發(fā)的角度來看,操作系統(tǒng)的概念和實(shí)現(xiàn)原理一旦掌握,不論基于哪一個(gè)操作系統(tǒng)做開發(fā)都只是調(diào)用不同的函數(shù)而已。為了讓學(xué)員獲得最好的學(xué)習(xí)體驗(yàn),本課程以講師自己設(shè)計(jì)的一個(gè)實(shí)現(xiàn)簡(jiǎn)潔、完整的“實(shí)時(shí)”操作系統(tǒng) — ClearRTOS為基礎(chǔ),通過漸進(jìn)式的方式細(xì)致講解操作系統(tǒng)的概念和實(shí)現(xiàn)原理。至于處理器方面的知識(shí),本課程沒有針對(duì)某一具體處理器,而是就編程方面所需的通用知識(shí)進(jìn)行了講解。對(duì)這些通用知識(shí)的掌握,將使得處理器對(duì)于學(xué)員不再那么神秘。
與非嵌入式軟件開發(fā)采用集成開發(fā)環(huán)境不同,嵌入式軟件開發(fā)大多是基于命令行的。軟件開發(fā)工程師除了進(jìn)行編碼工作,還得能駕馭自己的編譯環(huán)境并運(yùn)用其他的開發(fā)工具輔助開發(fā)工作。本課程以來自GNU的工具為例幫助學(xué)員戰(zhàn)勝這一挑戰(zhàn)。值得強(qiáng)調(diào)的是,其中花了較大的篇幅幫助學(xué)員成為Makefile方面的專家。
要實(shí)現(xiàn)高質(zhì)高效地從事軟件開發(fā)工作,項(xiàng)目人員還必須理解軟件設(shè)計(jì)的重要性,并借助一定的質(zhì)量保證方法論來提高工作質(zhì)量和效率。軟件設(shè)計(jì)和質(zhì)量保證方法論是業(yè)內(nèi)比較抽象和高級(jí)的話題,為此本課程通過帶領(lǐng)實(shí)踐的方式逐步展開講解,以幫助學(xué)員獲得一些實(shí)用的設(shè)計(jì)原則、最佳實(shí)踐和一套有效的質(zhì)量保證方法論。
總而言之,本課程從知識(shí)、工具、方法和思想這四大方面全面講解如何專業(yè)地從事嵌入式軟件開發(fā),致力于幫助學(xué)員全面走向高質(zhì)高效編程。
培訓(xùn)內(nèi)容
第1天
學(xué)習(xí)導(dǎo)引
1. 學(xué)什么?怎么學(xué)?
2. 工程師技術(shù)能力層次模型
3. 高質(zhì)高效軟件開發(fā)團(tuán)隊(duì)效能模型
[硬件篇] 處理器的基本概念
1. 微處理器與微控制器
2. 寄存器
3. 處理器的啟動(dòng)
4. 輸入與輸出
5. 指令與數(shù)據(jù)
6. 中斷
7. 字節(jié)序
8. 邊界對(duì)齊
9. 斷點(diǎn)
10.內(nèi)存管理單元
11.緩存
[硬件篇] 開發(fā)活動(dòng)中的硬件問題
1. 兩個(gè)軟件異常案例
2. 異常的背后 — 信號(hào)完整性
3. 應(yīng)對(duì)信號(hào)完整性問題的方法
[工具篇] make,開發(fā)環(huán)境全能管家
1. 從最簡(jiǎn)單的Makefile中了解規(guī)則
2. 創(chuàng)建基本的編譯環(huán)境
3. 提高編程環(huán)境的實(shí)用性
4. 打造更專業(yè)的編譯環(huán)境
5. 理解make的解析行為
6. Makefile的調(diào)試
7. make的常用選項(xiàng)
8. 活用make
[工具篇] gcc,C語言編譯器
1. 交叉編譯用其環(huán)境
2. gcc幕后工作原理
3. 實(shí)用的gcc選項(xiàng)
[工具篇] bintuils工具集,軟件開發(fā)利器
1. addr2line,指令地址翻譯器
2. ar,靜態(tài)庫生成器
3. nm,符號(hào)顯示器
4. objdump,信息查看器
5. objcopy,段剪輯器
6. size,段大小觀察器
7. strings,字符串窺視器
8. strip,程序文件瘦身器
[工具篇] ld,鏈接器
1. 重定位的概念
2. 鏈接腳本
[編程語言篇] 掌握必要的匯編知識(shí)
1. AT&T和Intel語法格式
2. as的語法
3. 嵌入?yún)R編的語法
[編程語言篇] 深入理解程序的結(jié)構(gòu)
段、棧、堆
[編程語言篇] ABI/EABI規(guī)范,締造程序兼容合約
1. 定義基本數(shù)據(jù)結(jié)構(gòu)
2. 規(guī)范字節(jié)對(duì)齊處理
3. 分配寄存器的功能
4. 規(guī)定棧幀結(jié)構(gòu)
第2天
[編程語言篇] 混淆指針與數(shù)組所導(dǎo)致的問題
1. 問題示例
2. 問題分析
3. 問題成因
4. 預(yù)防措施
[編程語言篇] volatile,讓我保持原樣
1. 從例子理解volatile
[設(shè)計(jì)篇] 設(shè)計(jì),軟件質(zhì)量之本
1. 軟件設(shè)計(jì)是什么
2. 軟件質(zhì)量的概念
3. 阻礙改善設(shè)計(jì)的常見觀念
4. 如何提高設(shè)計(jì)能力
5. 設(shè)計(jì)模式、設(shè)計(jì)原則和設(shè)計(jì)思想
6. 放之四海皆適用的設(shè)計(jì)原則
[設(shè)計(jì)篇] 模塊管理,保障系統(tǒng)有序運(yùn)行
1. 模塊管理參照系
2. 設(shè)計(jì)思路
3. 程序?qū)崿F(xiàn)
4. 模塊管理的一些思考
[設(shè)計(jì)篇] 錯(cuò)誤管理,不可獲缺的用戶需求
1. 現(xiàn)狀與出路
2. 表達(dá)錯(cuò)誤的通用方法
3. 優(yōu)化錯(cuò)誤日志
[設(shè)計(jì)篇] 目錄結(jié)構(gòu)管理,使項(xiàng)目進(jìn)展更順利
1. 規(guī)劃目錄結(jié)構(gòu)的意義
2. 出色目錄結(jié)構(gòu)的特點(diǎn)
3. 一個(gè)示例
[設(shè)計(jì)篇] 平臺(tái)與框架開發(fā),高質(zhì)量軟件打造之路
1. 系統(tǒng)庫、平臺(tái)和框架
2. 本質(zhì)和優(yōu)點(diǎn)
3. 架構(gòu)模型
4. 困境與生命周期理論
[設(shè)計(jì)篇] 可開發(fā)性設(shè)計(jì),一種高效且經(jīng)濟(jì)的開發(fā)模式
1. 可開發(fā)性問題一瞥
2. 可開發(fā)性設(shè)計(jì)的內(nèi)涵
3. 設(shè)備抽象層
4. 更復(fù)雜的設(shè)備抽象層
5. 圖形界面的可開發(fā)性設(shè)計(jì)
6. 其他可開發(fā)性設(shè)計(jì)
[操作系統(tǒng)篇] 引導(dǎo)加載器,系統(tǒng)啟航者
1. 功能
2. 文件存儲(chǔ)布局
3. 程序加載原理
4. 優(yōu)點(diǎn)
第2天
[操作系統(tǒng)篇] 任務(wù),軟件基本調(diào)度單元
1. 任務(wù)情景
2. 任務(wù)調(diào)度
3. 任務(wù)的生命周期
4. 任務(wù)控制
5. 競(jìng)爭(zhēng)問題與中斷控制
6. 任務(wù)與中斷狀態(tài)
7. 任務(wù)棧溢出檢測(cè)
8. 滴答與空閑任務(wù)
9. 多任務(wù)環(huán)境控制
10.任務(wù)模塊管理
11.task1示例程序
12.任務(wù)鉤子函數(shù)
13.任務(wù)變量
14.其它概念與思考
[操作系統(tǒng)篇] 任務(wù)同步與通信,實(shí)現(xiàn)協(xié)同工作
1. 信號(hào)量
2. 互斥鎖
3. 事件
4. 消息隊(duì)列
5. 死鎖及預(yù)防
[操作系統(tǒng)篇] 內(nèi)存管理,協(xié)調(diào)動(dòng)態(tài)內(nèi)存的使用
1. 堆管理(含內(nèi)存溢出和泄漏檢測(cè))
2. 內(nèi)存池管理
第3天
[操作系統(tǒng)篇] 設(shè)備管理,方便與外設(shè)交互
1. 字符設(shè)備管理
2. 中斷管理
3. 設(shè)備管理的主要程序?qū)崿F(xiàn)
4. 設(shè)備驅(qū)動(dòng)程序?qū)崿F(xiàn)
5. 驅(qū)動(dòng)安裝與設(shè)備注冊(cè)
[操作系統(tǒng)篇] 定時(shí)器,程序鬧鐘
1. 軟件定時(shí)器分類
2. 設(shè)計(jì)思路
3. 中斷回調(diào)定時(shí)器
4. 定時(shí)誤差
5. 提高遍歷效率
6. 改善實(shí)時(shí)性
7. 任務(wù)回調(diào)定時(shí)器
[質(zhì)量保證篇] 質(zhì)量保證導(dǎo)言
1. 軟件開發(fā)的特點(diǎn)
2. 保證質(zhì)量的關(guān)鍵要素
3. 質(zhì)量保證需要系統(tǒng)性的方法論
4. 走出質(zhì)量困境的指導(dǎo)性思想
[質(zhì)量保證篇] 編程好習(xí)慣,質(zhì)量保證的基本條件
1. 一些終生受用的編程好習(xí)慣
[質(zhì)量保證篇] 單元測(cè)試,被忽視的質(zhì)量保證方法
1. 警惕單元測(cè)試無用論
2. 一個(gè)簡(jiǎn)單但不完善的單元測(cè)試?yán)?
3. 構(gòu)建單元測(cè)試框架
4. 無縫整合單元測(cè)試
5. 幾個(gè)實(shí)施問題
6. 樁函數(shù)和打樁
7. 錯(cuò)誤注入,一種可測(cè)試性設(shè)計(jì)
8. 平臺(tái)開發(fā)與單元測(cè)試
9. 被測(cè)行為的確定性
10.被測(cè)用例的有效性
[質(zhì)量保證篇] 代碼覆蓋,單元測(cè)試效果的衡量指標(biāo)
1. 了解代碼覆蓋工具
2. 無縫整合代碼覆蓋
3. 三個(gè)代碼覆蓋度量指標(biāo)
[質(zhì)量保證篇] 靜態(tài)分析,防止將失誤帶給用戶
1. 認(rèn)識(shí)靜態(tài)分析工具
2. 無縫整合靜態(tài)分析工具
[質(zhì)量保證篇] 動(dòng)態(tài)分析,使程序更健壯
1. 結(jié)識(shí)動(dòng)態(tài)分析工具
2. 無縫整合動(dòng)態(tài)分析工具
[質(zhì)量保證篇] 性能分析,讓優(yōu)化程序有的放矢
1. 初探性能分析工具
2. 無縫整合性能分析工具
[質(zhì)量保證篇] qBench,一個(gè)開發(fā)高質(zhì)軟件的工作臺(tái)
講師簡(jiǎn)介
李老師 老師
曾在UT斯達(dá)康研發(fā)中心、摩托羅拉研發(fā)中心、諾基亞西門子網(wǎng)絡(luò)技術(shù)有限公司擔(dān)任軟件工程師、項(xiàng)目負(fù)責(zé)人和軟件架構(gòu)師等職,工作內(nèi)容內(nèi)容主要包括:操作系統(tǒng)內(nèi)核、文件系統(tǒng)和IP協(xié)議棧的移植,IDE硬盤、以太網(wǎng)芯片和PCI總線等外設(shè)的驅(qū)動(dòng)開發(fā)。熟悉x86、PowerPC、XScale處理器,以及TIDSP源碼級(jí)。熟悉uC/OS、RTEMS和VxWorks實(shí)時(shí)操作系統(tǒng)的實(shí)現(xiàn),并在這些操作系統(tǒng)和Linux操作系統(tǒng)上有著豐富的軟件開發(fā)經(jīng)驗(yàn)。
課程對(duì)象
備 注
課程名稱:高質(zhì)高效嵌入式軟件開發(fā)培訓(xùn)班
報(bào) 名 回 執(zhí) 表
為確保您的報(bào)名名額和及時(shí)參加,請(qǐng)?zhí)崆皩⒋耍▓?bào)名表)E-mail至674837974@QQ.com;721560397@QQ.COM(符小姐、黃小姐)我們將有專人與您聯(lián)系確認(rèn),并于開課前發(fā)出《培訓(xùn)報(bào)名確認(rèn)函》。培訓(xùn)時(shí)間、地點(diǎn)、住宿等詳細(xì)信息請(qǐng)以《培訓(xùn)報(bào)名確認(rèn)函》書面通知為準(zhǔn),敬請(qǐng)留意。謝謝!
聯(lián)系人:符小姐 電話:18588851172 QQ:674837974 |
網(wǎng)址:aokangtiyu.cn(中國(guó)培訓(xùn)易)
課程名稱:高質(zhì)高效嵌入式軟件開發(fā)培訓(xùn)班 時(shí)間地區(qū):____月____日_____市 |
公司全稱: |
聯(lián)系人 | | 部門 | | 公司網(wǎng)址 | |
聯(lián)系電話 | | 傳真 | | 聯(lián)系郵箱 | |
公司地址 | | 郵編 | |
參會(huì)人數(shù): 名 |
參會(huì)人員資料 |
姓名 | 職務(wù) | 電話 | 手機(jī) | E-mail |
| | | | |
| | | | |
| | | | |
付款方式: □ 轉(zhuǎn)帳 □ 現(xiàn)金 (請(qǐng)選擇 在□打√) 注:部分地區(qū)不可現(xiàn)金 單位匯款帳戶:(轉(zhuǎn)到該賬戶請(qǐng)一定要用購買方公司賬戶進(jìn)行公對(duì)公轉(zhuǎn)賬)
開戶人: 廣州必學(xué)企業(yè)管理咨詢有限公司 開戶行: 中國(guó)農(nóng)業(yè)銀行廣州天銀大廈支行 帳 號(hào): 4405 8501 0400 08276 |
課程金額:__________ |
住宿要求(費(fèi)用自理,開課前三天預(yù)訂) |
是否需要會(huì)務(wù)組協(xié)助安排住宿: □是 □否 入住天數(shù)( )天 入住時(shí)間 2024 年 月 日 □標(biāo)準(zhǔn)雙人間( )間 □標(biāo)準(zhǔn)單人間( )間 |
發(fā)票信息: 一、增值稅普通發(fā)票(數(shù)電票): 公司名稱(發(fā)票抬頭): 納稅人識(shí)別號(hào): 發(fā)票內(nèi)容:□1、*現(xiàn)代服務(wù)*培訓(xùn)費(fèi) □2、*現(xiàn)代服務(wù)*咨詢服務(wù)費(fèi) □3、*現(xiàn)代服務(wù)*咨詢費(fèi) □4、*現(xiàn)代服務(wù)*培訓(xùn)咨詢服務(wù)費(fèi) 二、增值稅專用發(fā)票(數(shù)電票): 公司名稱: 納稅人識(shí)別號(hào): 發(fā)票內(nèi)容:□1、*現(xiàn)代服務(wù)*培訓(xùn)費(fèi) |