入學要求 |
學員學習本課程應具備下列基礎知識:
◆ 熟悉C語言;
◆ 熟悉彙編語言;
◆ 了解嵌入式系統的基本知識。 |
培養對象 |
嵌入式相關領域的專業人士,具有開發和設計經驗的硬件或軟件開發工程師、系統移植工程師。
|
課程目標 |
1.掌握ARM體系結構及工作原理
2.掌握“ARM和Thumb交互”編程。
3.掌握彙編、c、c++混合編程的方法,完成對目標平台的軟件編程,更好的熟悉嵌入式軟件的開發流程。
4.掌握基于ARM的嵌入式硬件平台接口設計以及各種常用接口的開發。
5.掌握和bootloader相關的接口開發,了解嵌入式操作系統的結構及啓動流程等。 |
班級規模及環境 |
爲了保證培訓效果,增加互動環節,我們堅持小班授課,每期報名人數限15人,多余人員安排到下一期進行。 |
上課時間和地點 |
上課地點:【【上海總部】:同濟大學(滬西)/星河世紀廣場(11號線上海西站) 【深圳分部】:電影大廈(地鐵一號線大劇院站) 【北京分部】:北京中山學院/福鑫大樓 【南京分部】:金港大廈(和燕路) 【武漢分部】:佳源大厦(高新二路) 【成都分部】:領館區1號(中和大道)
最近開課時間(周末班/連續班/晚班):ARM開發班開班時間:即将开课,详情请咨询客服。(请抓紧报名)
本課程每期班限額5名,報滿即停止報名,請提前在線或電話預約
|
學時和學費 |
★課時:
共5天,總計36學時
◆外地學員:代理安排食宿(需提前預定)
☆注重質量
☆邊講邊練
☆合格學員免費推薦工作 |
課程內容 |
時間 |
課程大綱 |
第一講 |
學習目標 |
第一天的課程主要幫助學員了解ARM體系結構及工作原理,掌握ARM指令集,學會操作ARM處理器基本方法。
|
|
1 ARM體系結構
1.1 ARM簡介
1.2 ARM體系結構
1.3 流水線
1.4 處理器工作模式
1.5 ARM處理器核
2 ARM指令集
2.1 V4T指令
2.2 V5TE指令
2.3 V6指令
2.4 Thumb指令
|
|
實驗
1、使用RealView MDK環境構建基本工程
2、基本ARM指令練習
3、數據搬運練習
|
第二講 |
學習目標 |
爲提高系統的綜合性能,“ARM和Thumb交互”是工程師在實際編程常用的一種方式。通過本天課程的學習,學員可以了解Thumb指令的特點,掌握ARM和Thumb指令交互方法。“異常”作爲處理器的一種特殊工作方式在系統工作中扮演著重要的角色,本期課程也將幫助學員掌握ARM平台異常産生的過程和處理方法。
|
|
3
ARM與Thumb交互
3.1 交互工作基礎
3.2 子程序交互和veneers
3.3 ARM V5TE架構擴展
4 RealView MDK開發工具介紹
5 異常處理
5.1 中斷處理
5.2 Abort處理
5.3 SWI 處理
5.4 複位和未定義指令處理
|
|
實驗:
1、ARM/Thumb交互
2、Thumb下的塊拷貝實驗
3、異常處理實驗
|
第三講 |
學習目標 |
雖然彙編指令可以完成我們所需要的所有功能,但相對C語言來說,彙編語言存在編寫複雜、可讀性差等缺點,所以在實際的項目開發中,工程師通常會使用C或C++等高級語言來編寫主程序部分。通過第三天課程的學習,學員可以掌握彙編、c、c++混合編程的方法,完成對目標平台的軟件編程,更好的熟悉嵌入式軟件的開發流程。
|
|
6
C/C++ 編譯器提示和技巧
6.1 arm編譯優化礎
6.2 彙編、c、c++混合編程
6.3 arm編譯器規則
6.4 局部和全局變量
7 嵌入式軟件編程
7.1 調整c庫使其適合目標平台
7.2 調整內存映射使其適合目標平台
7.3 複位和初始化
7.4 編譯和調試目標鏡像
|
|
實驗:
1、C語言程序實驗
2、彙編和C混合編程實驗
3、調整C庫和內存映射,編寫能夠在目標硬件運行的LED測試程序
|
第四講 |
學習目標 |
在學習完了理論知識後,該進入實踐環節了。嵌入式編程最終目標還是對接口設備的操作。通過第四天課程的學習,學員可以掌握基于ARM的嵌入式硬件平台接口設計以及各種常用接口的開發。
|
|
8
基于ARM的嵌入式硬件平台接口設計
8.1 基于ARM的SOC組成
8.2 構建ARM嵌入式系統
9 嵌入式硬件平台(基于s3c2410/s3c2440)接口操作
9.1 GPIO接口
9.2 ADC接口
9.3 UART接口
9.4 I2C接口
9.5 定時器
9.6 中斷接口
9.7 DMA接口
|
|
實驗:
1、GPIO實驗
2、ADC實驗
3、UART實驗
4、定時器實驗
5、中斷實驗
6、DMA實驗
|
第五講 |
學習目標 |
單個接口的操作最終還是要爲一個綜合的軟件項目服務,bootloader在嵌入式操作系統中占用重要地位,其編寫、移植是一項常見而複雜的工作。通過第五天課程的學習,學員即能夠通過這個綜合的軟件項目將前面的主要內容融會貫通,還可以掌握bootloader原理及開發過程,掌握和bootloader相關的接口開發,了解嵌入式操作系統的結構及啓動流程等。
|
|
10
從零編寫bootloader
10.1 嵌入式linux系統的構成
10.2 引導程序的任務
10.3 引導程序的結構及啓動流程
10.4 實現串口下載功能
10.5 實現usb下載功能
10.6 實現 nandflash讀寫功能
10.7 引導linux內核
|
|
實驗:
1、bootloader編寫實驗(基于realview
MDK環境)
2、linux系統編譯實驗
3、制作文件系統實驗
4、bootloader通過USB下載內核、文件系統實驗
|