1 前言

day1.txt

主要内容:

ARM的概念
ARM内核的授权与应用
ARM内核的种类
ARM内核内部的寄存器

==================================================
0. 学习出路

嵌入式应用软件工程师:
. C、C++、JAVA
. WinCE
. Linux C(Posix、交叉编译、移植)
. 嵌入式图形开发(QT(C++)、MINIGUI(C))
. Android(C、JAVA, Google SDK)

嵌入式驱动工程师:
. 硬件(IO、IRQ、时序)
. Linux C(POSIX)
. Kernel
. BootLoader移植
. 移植内核
. 移植应用程序
. ARM CPU
. Device(SDRAM、NANDFLASH、LCD、AUDIO、NET、UART、USB、SD)

嵌入式硬件工程师:
. FPGA
. PCB

==============================================================

1.课程分析

<1>本阶段学习是基于ARM公司CotexA9架构处理器核心
samsung提供的一款型号为Exynos4412的目标嵌入式处理器为
平台的裸板驱动开发。

Exynos猎户座 音标:['eksnəs] 由两个希腊语单词组合
而来Exypnos和Prasinos分别代表智能与环保之意。Exynos系列处
理器主要应用在智能手机和平板电脑等移动终端上。

<2>本阶段的学习会穿插ARM公司ARM11处理器架构核心
samsung提供的一款型号为S3c6410的目标嵌入式处理器为平台的
裸板驱动开发。


2. 课程内容

<1> 嵌入式开发的概述

<2> 嵌入式开发环境的打架

<3> ARM核心的工作模式、工作状态、异常、指令集等

<4> bootloader的作用及常用支持命令

<5> 基于exynos4412 SOC的外设驱动的编写

3. 嵌入式系统基础知识

<1> 嵌入式的概念

按照电器工程协会(IEEE)的定义,嵌入式系统是用来控制、监控,或者辅助操作 机器、
装置、工厂等大规模系统的设备。这个定义主要是从嵌入式系统的用途方面来进行定义的。

更具一般性的定义如下:嵌入式系统是指以应用为中心,以计算机技术为基础,软件
硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

根据以上可以看出,嵌入式系统是由硬件和软件相结合组成的具有特定功能、用于
特定场合的独立系统。其硬件主要由嵌入式微处理器、外围硬件设备组成;其软件主要包括
底层系统软件和用户应用软件。

<2> 嵌入式系统的特点

@专用、软硬件可裁剪可配置
@低功耗、高可靠性、高稳定性
@软件代码短小精悍
@代码可以固化
@实时性
@要求开发、设计人员有较高的技能

<3> 嵌入式系统的组成

嵌入式系统总体上是由硬件和软件组成的,硬件是其基础,软件是其核心与灵魂。


应用软件
---------------------------------
嵌入式操作系统
---------------------------------
Hardware (嵌入式处理器,外围设备)


嵌入式系统硬件组成:

嵌入式处理器(cpu)是嵌入式系统的核心部分,它与通用处理器最大的
区别在于,嵌入式处理器大多工作在为特定用户群所专门设计的系统中,它将通用
处理器中许多由板卡完成的任务集成到芯片内部,从而有利于嵌入式系统的设计趋于
小型化,同时还具有很高的效率和可靠性。流行的体系结构有30多个系列,其中以ARM
powerPC、MIPS等使用得最为广泛。

外围设备是嵌入式系统中用于完成存储、通信、显示等辅助功能的其他部件。
嵌入式外围设备按功能可以分为:

@存储设备:

Exynos4412片上集成了256KSRAM,64KROM

RAM的访问速度快,掉电后数据会丢失,而ROM掉电后数据不会丢失。
RAM又可分为SRAM(静态存储器)和DRAM(动态存储器)。

SDRAM是DRAM的一种,它是同步动态存储器,利用一个单一的系统
时钟同步所有的地址数据和控制信号。

DDR SDRAM

EPROM(Erasable Programmable Read Only Memory)、
EEPROM(Electrically Erasable Programmable Read-Only Memory)
都是ROM的一种,分别为可擦除ROM和电可擦除ROM。

Flash也是一种非易失性存储器,掉电不会丢失,它擦写方便,
访问速度快, 比如nandflash, norflash等等。

@通信设备:RS-232,以太网接口,Bluetooth, Wifi等。

@显示设备:LCD显示屏等。

标配LCD分辨率:800*480(7寸)

@和用户交互的设备:

按键,触摸屏(5点)

嵌入式系统软件组成:

嵌入式操作系统不仅具有通用操作系统的一般功能,如向上提供对用户的接口
向下提供与硬件设备交互的接口,管理复杂的系统资源,同时,它还在系统
实时性,硬件依赖性、软件固化性及应用专用性等方面,具有更加鲜明的特点。

常见嵌入式操作系统:

@商业版嵌入式操作系统:

VxWorks,美国WindRiver公司于1983年设计的一种嵌入式实时操作系统
(RTOS),它是在当前市场占有率最高的嵌入式实时操作系统。由于它的
开发和使用都需要交高额的专利费,因此大大增加了用户的开发成本。
源码不公开,所以造成它部分功能的更新滞后。

@开源版嵌入式操作系统

嵌入式linux是将日益流行的Linux操作系统进行裁剪修改,使之能在
嵌入式计算机系统上运行的一种操作系统。

Linux做嵌入式的优势:

首先,Linux是开放源代码的
其次,Linux的内核小、效率高
第三,Linux是免费的OS,在价格上极具竞争力
第四,Linux适应于多种CPU和多种硬件平台,是一个跨平台的系统
第五,Linux内核的结构在网络方面是非常完整的

4. ARM是什么?

可以这样理解

<1>ARM是英国一家公司,公司全程是:Advanced RISC Machines

1991年ARM公司成立于英国剑桥,主要出售芯片设计技术
的授权。

ARM公司通过出售芯片技术授权,建立起新型的微处理器设
计生产和销售商业模式。ARM将其技术授权给世界上许多著名的
半导体、软件和OEM厂商,每个厂商得到的都是一套独一无二的
ARM相关技术及服务。利用这种合伙关系,ARM很快成为许多全球
性RISC标准的缔造者。

竞争对手:英特尔

市场份额:

  手机处理器90%的市场份额
  上网本处理器30%的市场份额
  平板电脑处理器70%的市场份额

<2> ARM也可以理解成一种处理器的架构。

标准的嵌入式系统架构有两大体系,RISC 和 CISC。

目前占主要地位的是所谓RISC(Reduced Instruction Set
Computer,精简指令集计算机)处理器。RISC体系的阵营非
常广泛,从ARM、MIPS、PowerPC、ARC、Tensilica等等,
都是属于RISC处理器的范畴。不过这些处理器虽然同样是属
于RISC体系,但是在指令集设计与处理单元的结构上都各有
不同,因此彼此完全不能兼容,在特定平台上所开发的软件
无法直接为另一硬件平台所用,而必须经过重新编译。

其次是CISC(Complex Instruction Set Computer,复杂指
令集计算机)处理器体系,我们所熟知的Intel的X86处理器
就属于CISC体系,CISC体系其实是非常低效率的体系,其指
令集结构上背负了太多包袱,贪大求全,导致芯片结构的复
杂度被极大的提升。


5. ARM和SAMSUNG的关系

ARM内核的授权与应用

-------------------------------------------------------------------------
ARM内核 嵌入式处理器(SOC) 产品
-------------------------------------------------------------------------
ARM1176JZ(F)-S Samsung S3C6410 Apple iPhone(original and 3G)
Apple iPod touch (1st and 2nd Generation)
Motorola RIZR Z8
-----------------------------------------------------------------------
ARM920T Samsung S3C2440 导航设备
and S3C2410
-----------------------------------------------------------------------
Cortex-A9 三星Orion/Exynos 4210 三星GALAXY SIII(Exynos4412)
SAMSUNG Galaxy S音译中文为(三星盖世S系列)
/4212/4412 三星GALAXY NoteII(Exynos4412)
--------------------------------------------------------------------------------------

6. ARM内核种类

架构 处理器家族
ARMv1 ARM1
ARMv2 ARM2、ARM3
ARMv3 ARM6, ARM7
ARMv4 StrongARM、ARM7TDMI、ARM9TDMI
ARMv5 ARM7EJ、ARM9E、ARM10E、XScale
ARMv6 ARM11、ARM Cortex-M
ARMv7 ARM Cortex-A、ARM Cortex-M、ARM Cortex-R
ARMv8 Cortex-A50[9],Cortex-A72

7. ARM内核内部的寄存器

寄存器

寄存器 R0-R7 对于所有CPU模式都是相同的; 它们不会被分块。

对于所有的特权CPU模式,除了系统CPU模式之外,R13和R14都是分块的。也就是说,
每个因为一个异常(exception)而可以进入模式,有其自己的R13和R14。这些寄存器通常
分别包含堆栈指针和函数调用的返回地址。

寄存器,对于所有CPU模式
--------------------------------------------------------------
usr sys |svc | abt |und | irq | fiq
--------------------------------------------------------------
R0
--------------------------------------------------------------
R1
--------------------------------------------------------------
R2
--------------------------------------------------------------
R3
--------------------------------------------------------------
R4
--------------------------------------------------------------
R5
--------------------------------------------------------------
R6
--------------------------------------------------------------
R7
--------------------------------------------------------------
R8 | R8_fiq
---------------------------------------------------------------
R9 | R9_fiq
---------------------------------------------------------------
R10 | R10_fiq
---------------------------------------------------------------
R11 | R11_fiq
---------------------------------------------------------------
R12 | R12_fiq
---------------------------------------------------------------
R13 | R13_svc |R13_abt| R13_und |R13_irq| R13_fiq
---------------------------------------------------------------
R14 | R14_svc |R14_abt| R14_und |R14_irq| R14_fiq
---------------------------------------------------------------
R15
---------------------------------------------------------------
CPSR
---------------------------------------------------------------
|SPSR_svc |SPSR_abt|SPSR_und |SPSR_irq| SPSR_fiq
---------------------------------------------------------------

同名的名称:

R13 也被指为 SP, the Stack Pointer.
R14 也被指为 LR, the Link Register.
R15 也被指为 PC, the Program Counter.

7. 嵌入式处理器(SOC)的内部组成


8. 开发板的介绍

====================================================================

目标:使用程序控制soc和外接设备(控制soc按照外接功能设备需求工作)

soc资源:引脚,主频/ram/rom/外接内存多大

嵌入式系统:
bootloader--->os---->fs
bootloader 是加载和引导操作系统内核的程序,为操作系统运行准备条件

posted @   bkycrmn  阅读(143)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示