Cortex-A9 處理器提供了史無前例的高性能和高能效,從而使其成為需要在低功耗、成本敏感、基于單核處理器的設(shè)備中提供高性能的所有設(shè)計的理想解決方案。本書以ARM的多核處理器Cortex-A9為硬件平臺,在全面介紹Cortex-A9處理器的的體系結(jié)構(gòu)、編程模型、指令系統(tǒng)和開發(fā)環(huán)境搭建的同時,以所選用的基于Cortex-A9的芯片Exynos4412為核心,詳細(xì)介紹了片上資源及相關(guān)接口技術(shù)。接口技術(shù)模塊涵蓋了時鐘管理、GPIO、GIC、PWM、WDT、RTC、UART、IIC、SPIADC等模塊,分別從各模塊的組成結(jié)構(gòu)、工作原理、外部引腳、特殊功能寄存器、初始化方法及應(yīng)用案例等環(huán)節(jié)展開詳細(xì)介紹。
針對應(yīng)用型本科學(xué)生,從學(xué)生學(xué)習(xí)的角度,將主流版本的嵌入式原理及接口技術(shù)的內(nèi)容整理成一個完整的知識體系,將原理融入應(yīng)用,既兼顧理論基礎(chǔ),又重實(shí)踐應(yīng)用,以培養(yǎng)學(xué)生硬件編程思維,創(chuàng)新能力為目標(biāo),引導(dǎo)學(xué)生主動思考,提升學(xué)生自主學(xué)習(xí)和創(chuàng)新能力
前言
近年來,嵌入式技術(shù)得到了飛速的發(fā)展,嵌入式處理需求也在快速增長,在集成電路技術(shù)飛速發(fā)展的今天,單核處理器的性能已經(jīng)發(fā)展到一個相對比較高的高度,單純依靠提高單核處理器的性能來提高系統(tǒng)的實(shí)時性已經(jīng)不足夠,嵌入式的處理器已從單核發(fā)展到多核,以解決單處理器系統(tǒng)復(fù)雜度太高和計算能力不足的問題。
目前,嵌入式多核處理器也已經(jīng)在嵌入式設(shè)備領(lǐng)域得到廣泛運(yùn)用。本書選擇了內(nèi)核為四核Cortex-A9的Exynos4412嵌入式處理器,系統(tǒng)的介紹Exynos4412芯片內(nèi)部主要功能模塊的組成和原理,介紹了該芯片片外接口技術(shù)和一些常用電路的連接實(shí)例和編程方法,本書側(cè)重實(shí)踐,硬件編程方法的講解,從應(yīng)用的角度來學(xué)習(xí)嵌入式開發(fā)的各種技術(shù)。
本書的內(nèi)容分以下三大部分:
第一部分(第1章)嵌入式系統(tǒng)概述,介紹嵌入式微處理器及Exynos4412程序員模型;
第二部分(第2章和第3章)講述指令系統(tǒng)和匯編語言;
第三部分(第4章~第9章)分別介紹Exynos4412芯片內(nèi)部主要功能模塊組成、原理及片外接口技術(shù),包括時鐘管理,I/O端口及中斷控制,PWM定時器及看門狗定時器,RTC實(shí)時時鐘,UART及IIC、SPI總線接口,ADC等模塊。重點(diǎn)介紹了各模塊的特殊功能寄存器,寄存器的初始化方法及編程應(yīng)用。
本書面向應(yīng)用型本科相關(guān)專業(yè)的學(xué)生,編者結(jié)合自己多年學(xué)習(xí)和講授 “嵌入式原理與應(yīng)用”課程的經(jīng)驗,從學(xué)生學(xué)習(xí)的角度,遵循人類認(rèn)知的規(guī)律,來組織本教材的內(nèi)容。本書在內(nèi)容的選擇上,偏重開發(fā)應(yīng)用,注重偏重硬件編程思想、學(xué)習(xí)方法的培養(yǎng)。
感謝我所在的信息與智能工程學(xué)院的領(lǐng)導(dǎo)和同仁們,感謝他們在本書編寫過程中給予的幫助和大力支持!
由于作者水平有限,書中不妥之處,懇請專家和讀者批評指正!
李社蕾,女,三亞學(xué)院,副教授,工學(xué)碩士,11年教齡,主要教授《微機(jī)原理與接口技術(shù)》《單片機(jī)原理及應(yīng)用》《高級語言程序設(shè)計》《嵌入式原理與接口技術(shù)》《嵌入式系統(tǒng)設(shè)計與開發(fā)》《計算機(jī)組成原理》等
三級目錄
第1章 ARM嵌入式系統(tǒng)概述
1.1 ARM系列處理器簡介
1.1 .1 ARM架構(gòu)發(fā)展
1.1.2 ARM處理器簡介
1.2 Exynos4412處理器組成及程序員模型
1.2.1 Exynos4412處理器概述
1.2.2 Exynos4412處理器組成
1.2.3 Cortex-A9內(nèi)核
1.2.4 Cortex-A9程序員模型
1.3ARM開發(fā)環(huán)境簡介
本章小結(jié)
課外練習(xí)
參閱書目
網(wǎng)絡(luò)鏈接
第2章 ARM指令系統(tǒng)
2.1 ARM指令集概述
2.2 ARM指令集
1.2.1 分支指令
2.2.2 數(shù)據(jù)處理指令
2.2.3 程序狀態(tài)寄存器傳送指令
2.2.4 存儲器操作指令
2.2.5 軟中斷指令(SWI)
2.2.6 協(xié)處理器指令
本章小結(jié)
課外練習(xí)
參閱書目
網(wǎng)絡(luò)鏈接
第3章 ARM匯編語言程序設(shè)計
3.1 ARM偽操作
3.1.1 數(shù)據(jù)定義偽操作
3.1.2 匯編控制偽操作
3.1.3 雜項偽操作
3.2ARM偽指令
3.2.1 ADR偽指令
3.2.2 ADRL偽指令
3.2.3 LDR偽指令
3.3ARM匯編語言結(jié)構(gòu)化程序設(shè)計
3.3.1匯編語言的程序格式
3.3.2 匯編語言子程序調(diào)用
3.3.3 匯編語言程序舉例
3.4匯編語言和C語言的混合編程
3.4.1GUN ARM內(nèi)聯(lián)匯編
3.4.2 匯編編程調(diào)用舉例
本章小結(jié)
課外練習(xí)
參閱書目
網(wǎng)絡(luò)鏈接
第4章 GPIO端口及中斷控制
4.1 GPIO端口
4.1.1 GPIO端口簡介
4.1.2 GPIO端口功能
4.1.3特殊功能寄存器
4.1.4特殊功能寄存器的封裝
4.1.5 GPIO端口初始化
4.1.6 GPIO端口程序應(yīng)用舉例
4.1.7 GPIO端口編程控制實(shí)驗
4.2 中斷控制
4.2.1 中斷控制器概述
4.2.2 中斷控制器功能
4.2.3 特殊功能寄存器
4.2.4 外部中斷初始化
2.5 外部中斷控制應(yīng)用舉例
2.6 外部中斷控制實(shí)驗
本章小結(jié)
課外練習(xí)
參閱書目
網(wǎng)絡(luò)鏈接
第5章 時鐘管理
5.1 時鐘管理
5.1.1 Exynos4412的時鐘體系
5.1.2Exynos4412中PLL的設(shè)置方法
5.1.3 PLL特殊功能寄存器
本章小結(jié)
課外練習(xí)
參閱書目
網(wǎng)絡(luò)鏈接
第6章 PWM定時器及看門口狗定時器
6.1 PWM定時器
6.1.1 PWM定時器工作原理
6.1.2 PWM定時器功能
6.1.2 特殊功能寄存器
6.1.3 PWM定時器初始化
6.1.5 PWM定時器程序應(yīng)用舉例
6.1.6 PWM定時器編程控制實(shí)驗
6.2看門口狗定時器
6.2.1 看門口狗定時器工作原理
6.2.2 看門口狗定時器功能
6.2.3 特殊功能寄存器
6.2.4 看門口狗定時器初始化
6.2.5 看門口狗定時器控制應(yīng)用舉例
6.22.6 看門口狗定時器控制實(shí)驗
本章小結(jié)
課外練習(xí)
參閱書目
網(wǎng)絡(luò)鏈接
第7章 RTC實(shí)時時鐘
1.1RTC實(shí)時時鐘
1.1.1 RTC實(shí)時時鐘簡介
1.1.2 RTC實(shí)時時鐘功能
1.1.3特殊功能寄存器
1.1.4 RTC實(shí)時時鐘初始化
1.1.5 RTC實(shí)時時鐘應(yīng)用舉例
1.1.6 RTC實(shí)時時鐘編程實(shí)驗
本章小結(jié)
課外練習(xí)
參閱書目
網(wǎng)絡(luò)鏈接
第8章 UART、I2C及SPI總線接口
8.1 UART接口
8.1.1 UART接口簡介
8.1.2 UART功能
8.1.2 特殊功能寄存器
8.1.3 UART初始化
8.1.5 UART程序應(yīng)用舉例
8.1.6 UART編程控制實(shí)驗
8.2 I2C總線接口
8.2.1 I2C總線概述
8.2.2 I2C總線功能
8.2.3 特殊功能寄存器
8.2.4 I2C總線初始化
8.2.5 I2C總線控制應(yīng)用舉例
8.2.6 I2C總線編程控制實(shí)驗
8.3 SPI總線接口
8.3.1 SPI總線概述
8.3.2 SPI總線功能
8.3.3 特殊功能寄存器
8.3.4 SPI總線初始化
8.3.5 SPI總線控制應(yīng)用舉例
8.3.6 SPI總線編程控制實(shí)驗
本章小結(jié)
課外練習(xí)
參閱書目
網(wǎng)絡(luò)鏈接
第9章 A/D控制器
9.1 A/D控制器
9.1.1 A/D控制器原理
9.1.2 4412A/D控制器
9.1.3 特殊功能寄存器
9.1.4 A/D控制器初始化
9.1.5 A/D控制器應(yīng)用舉例
9.1.6 A/D控制器編程實(shí)驗
本章小結(jié)
課外練習(xí)
參閱書目
網(wǎng)絡(luò)鏈接