第一天
學習目標:了解ARM體系結構及工作原理,掌握ARM指令集,學會操作ARM處理器的基本方法。
1.ARM體系結構
1.1 ARM簡介
1.2 ARM體系結構
1.3 流水線
1.4 處理器工作模式
1.5 ARM處理器核
1.6 MMU工作原理
2.ARM指令集
2.1 數據操作指令
2.2 load/store指令
2.3 跳轉指令
2.4 狀態操作指令
2.5 協處理器指令
實驗:
1、交叉開發環境搭建
2、基本ARM指令練習
3、數據搬運練習
第二天
學習目標掌握GNU ARM匯編語言程序設計。目前基于GNU編譯器的ARM匯編程序應用廣泛,如Uboot、Linux內核中的ARM 匯編代碼。另外從今天開始課程接觸到ARM硬件平臺的開發。課程采用的硬件平臺是基于三星Exynos4412處理器的FS4412硬件平臺。
3.ARM匯編語言程序設計
3.1 GNU ARM匯編器支持的偽操作
3.2 GNU ARM匯編器支持的偽指令
3.3 GNU ARM 匯編語言的語句格式
3.4 GNU ARM 匯編語言的程序結構
3.5 GNU ARM 匯編語言與C語言的混合編程
4.基于Cortex-A9 的FS4412開發平臺介紹
4.1 硬件平臺系統設計概述
4.2 GPIO開發
實驗:
1、GNU ARM匯編程序練習
2、GNU ARM 匯編、C混合編程實驗
3、LED開發實驗
第三天
學習目標ARM異常及中斷處理的學習對于了解ARM處理器是至關重要的,今天課程主要學習ARM處理器核的各種異常及處理方法。再次基礎上結合外圍的中斷控制器,系統的掌握中斷系統。另外還會學習一個非常常用的硬件接口UART。
5.ARM異常及中斷處理
5.1 ARM體系異常種類 5.2 ARM異常的優先級
5.3 ARM處理器模式和異常
5.4 ARM異常響應和處理程序返回
5.5 SWI軟中斷處理程序設計
5.6 FIQ和IRQ中斷
6.Exynos4412中斷控制器開發
6.1 Exynos4412中斷機制分析
6.2 Exynos4412中斷處理程序開發
7.Exynos4412UART接口開發
7.1 Exynos4412串口控制器分析
7.2 Exynos4412 UART接口程序開發
實驗:
1、SWI軟中斷實驗
2、FS4412按鍵中斷實驗
3、FS4412串口通信實驗
4、FS4412紅外通信實驗
第四天
學習目標掌握Exynos4412處理器上的PWM、RTC、A/D、SPI、I2C接口開發
8.Exynos4412 PWM控制器開發
8.1 Exynos4412 PWM控制器分析
8.2 Exynos4412 PWM程序開發
9.Exynos4412 RTC控制器開發
9.1 Exynos4412 RTC控制器分析
9.2 Exynos4412 RTC程序開發
10.Exynos4412 A/D控制器開發
10.1 Exynos4412 A/D控制器分析
10.2 Exynos4412 A/D程序開發
11.Exynos4412 SPI控制器開發
11.1 Exynos4412 I2C控制器分析
11.2 Exynos4412 I2C程序開發
12.Exynos4412 I2C控制器開發
12.1 Exynos4412 SPI控制器分析
12.2 Exynos4412 SPI程序開發
實驗:
1、FS4412 PWM 蜂鳴器實驗
2、FS4412 RTC 實時時鐘實驗
3、FS4412 A/D實驗
4、FS4412 I2C MPU6050三軸加速度傳感器實驗
5、SPI MCP2515讀寫實驗
第五天
學習目標掌握Exynos4412處理器上的DMA、eMMC、LCD、Camera等復雜接口開發
14.Exynos4412上PL330 DMA控制器開發
14.1 PL330指令集
14.2 FS4412上DMA程序開發
15.eMMC開發
15.1 eMMC操作方法
15.2 FS4412上eMMC程序開發
16、LCD開發
16.1 Exynos4412 LCD控制器分析
16.2 FS4412 LCD程序開發
17.Camera開發
17.1 OV3640攝像頭介紹
17.2 Exynos4412攝像頭控制器分析
17.3 FS4412 攝像頭程序開發
實驗:
1、FS4412上DMA內存搬運實驗
2、FS4412上eMMC讀寫實驗
3、FS4412上LCD顯示實驗
4、FS4412上攝像頭圖像采集并顯示在LCD上