嵌入式开发学习(1)

发布者:温馨时光最新更新时间:2024-11-19 来源: cnblogs关键字:ARM  体系结构 手机看文章 扫描二维码
随时随地手机看文章
内核版本号SoC版本号芯片型号(三星)
ARMv1 (这里的v表示version)

......

ARMv4ARM7S3C44B0
ARMv4ARM9S3C2440 S3C2410
ARMv5ARM+XScale
ARMv6ARM11S3C6410
ARMv7Cortex-M(微)
Cortex-A(应用)
Cortex-R(实时)
Cortex-A8S5PV210 SP5C100
Cortex-A9Exynos4412
Cortex-A7全志A10 A20 A31
Cortex-A15exynos5250 5450
Cortex-A53 A57高通骁龙815和410(苹果iphone5s)

内核版本号与soc版本号由arm公司确定。

芯片型号由各半导体公司确定

SoC : soc包括cpu与一些基本内设,现在所说的cpu 实际上都是SoC的一部分。

32位cpu指的是数据总线是32位的。

32位的地址总线寻址范围是4G。2的32次方。

CISC complex instruction set computer 复杂指令集cpu:指令多,追寻一条指令完成一个操作的理念。Cpu设计复杂,但编译器简单,使用简单,功耗高,出现早,inter还在沿用。300多条指令。

RISC reduced instruction set computer 精简指令集cpu:设计理念是提供基本功能的指令集,具体任务由软件来完成。Cpu设计相对CISC简单,编译器复杂。功耗低,发热低。这是最近些年受欢迎的原因。30多条指令

发张趋势,CISC与RISC结合。

统一编址:把外设的寄存器当作内存来读写,从而以访问内存相同的方式来操作外设叫做IO与内存的统一编址。

独立编址:使用专门的cpu指令来访问某种特定的外设叫做IO与内存的独立编址。

冯诺依曼结构:程序与数据混一起,有安全隐患。

哈佛结构:程序与数据分开存储。程序编写复杂,相对冯诺依曼较安全,arm大多数体系结构属于哈佛结构。

软件编程控制硬件的关键-寄存器:属于硬件外设的组成部分。是cpu硬件设计者制定的,留作外设被程序控制的“活动开关”。使用软件编写控制某一硬件,其实就是编程读写该硬件的寄存器。

寄存器分为通用寄存器和特殊寄存器,通用寄存器是cpu自带的,可以随便申请使用;特殊寄存器是某种外设的专用寄存器,在设计cpu 的时候,已经定义好其地址对应值的功能,程序不能改变。

C语言直接操作内存地址:int *p =(int *)Ox300000008100 ;  *p = 16;

ARM特点:

1、属于RISC架构cpu,常用指令大概有二三十条。

2、低功耗。非常适用于单片机嵌入式,尤其是物联网领域;服务器等高性能领域目前还是intel主导。

3、ARM是统一编址的。大多数(M3 M4 M7 M0 ARM9 ARM11 A8 A9等)是属于32位架构。

4、属于哈佛结构:保证了ARM cpu运行的稳定性安全性。哈佛结构也决定了ARM裸机程序(使用实地址即物理地址)的连接比较麻烦,必须使用复杂的链接脚本告诉连接器如何组织程序;对于在OS上的应用不需要考虑这么多。


关键字:ARM  体系结构 引用地址:嵌入式开发学习(1)

上一篇:2.1 linux中uboot移植
下一篇:嵌入式开发学习(3)

推荐阅读最新更新时间:2026-03-25 10:45

嵌入式开发学习(4)<ARM汇编指令集详解>
数据传送指令:   MOV 两个寄存器之间传递。例 MOV r1,r0,将寄存器r0中的内容赋值给r1。   MVN 同MOV用法一样,区别是MOV是原值传递,而MVN是按位取反后传递。 算数运算指令:   ADD SUB RSB ADC SBC RSC 逻辑指令:   AND ORR EOR BIC   BIC的用法:BIC r0,r1,#0x1f,将r1中的数的bit0到bit4清零后赋值给r0;为什么是bit0到bit4呢,这个是由#0x1f来决定,#0x1f有五个bit位是1。如写成#0xf,就有四个bit位是0。 比较指令:   CMP CMN TST TEQ 比较指令用来比较两个寄存器中的数。特点:比较指令不用后加S后
[单片机]
ARM嵌入式开发软件学习步骤
对于很多初学者来说,要深入学习arm+linux,就需要从2个方向去考虑,软件和硬件。关于深入学习arm+linux,软件方面的学习: 软件 1. bootloader 1)能够基于ADS和GCC来编写,编译等。(这两者除了在使用汇编和编译器上有所不同之外,更有什么不同呢?哪个是侧重点呢?) 2)在引导进入C语言的main()函数的时候,上面两个方面有何不同?其中ads是通过他的库函数来实现的,那用gcc研发呢? 3)编写bootloader的时候主要是要符合初始化的顺序,那除了这一点,其他还需要注意些什么?在写bootloader的时候应该把重点放在哪里(还是初始化的过程,还是一些驱动的修改)? 4)
[单片机]
ARM嵌入式开发的六步学习
学习ARM嵌入式开发,尤其对于初学者而言,不应该过早地、过多地将精力用在嵌入式系统移植、Linux内核的研究和学习上,这些诱人的 热点 很容易使初学者迷失方向,进而忽视对基础知识的深入学习。以下是针对Linux系统的ARM嵌入式开发学习步骤: 第一,学习基本的裸机编程 对于学硬件的人而言,必须先对硬件的基本使用方法有感性的认识,更必须深刻认识该硬件的控制方式,如果一开始就学linux系统、学移植那么只会马上就陷入一个很深的漩涡。我在刚刚开始学ARM的时候是选择ARM7(主意是当时ARM9还很贵),学ARM7的时候还是保持着学51单片机的思维,使用ADS去编程,第一个实验就是控制led。学过一段时间ARM的人都会笑
[单片机]
初学嵌入式开发ARM学习方法
  这个题目很大,给人一种感觉我好像很成功,其实不然。实际上自己水平不高,甚至很低,但是做过了一些曲折的学习道路,同时把自己真实的学习历程表达出来,希望对后来者有借鉴的意义,甚幸!     工作三年、几成废人!     我2000年毕业于华中地区的一个理工科大学,专业是机械电子,我当时已经签了一家内陆某个省级机关工作,家里八辈是农民,并且很偏远,能够进入这样的地方是祖坟有风水。但在毕业前夕有个进入it的机会,我本想进去的,家里人极力反对,阻力可想而知。同时要交4000元的违约金,对我来说是天文数字。大学里的费用很多是借的,几乎将近一半的费用是在大学勤工俭学挣的,为了省钱,高中一个学期回家一次,大学一年回去一次。并且我个人也有特殊的
[单片机]
arm体系结构
计算机的体系结构 cpu: 是一个芯片,是计算机的核心单元,主要是运算(ALU:算术逻辑单元),控制功能 存储器: 内存:内存条。特点是速度快,随时修改,随时读取,掉电后所有数据丢失 SRAM :静态随机访问存储 cpu中cache(缓存)就是这种类型,在51单片机的内存是这种类型2kB,4 kB,体积大,价格高,没有作为大容量的存储设备,它的存取的速度比DDR快 s5pv210这个芯片中也存在96KB的sram存储 s5pv210这个芯片:cpu+其他控制单元+存储单元 = SOC (system on chip) SDR : 异步动态存储器。不断刷新,对这个电容充电 一个时钟只能访问一个数据 DDR2 : 双时钟动态存储器。一
[单片机]
ARM核心及体系结构的关系
1.ARM处理器的核心及架构 核 心 体系结构 常见CPU ARM1 V1 ARM2 V2 ARM2As、ARM3 V2a ARM6、ARM600、ARM610、ARM7、ARM710 V3 ST的 StrongARM、ARM8、ARM810 V4 Intel的SA1110:StrongARM ARM7TDMI、ARM710T、ARM720T、ARM740T、ARM9TDMI、ARM920T、ARM940T V4T Philips的LPC210x:ARM7TDMI Samsung的S3C2440:ARM920T Cirrus Logic的EP930X:ARM920T
[单片机]
<font color='red'>ARM</font>核心及<font color='red'>体系结构</font>的关系
ARM9时钟体系结构
本文主要介绍AT91RM9200以及S3C2440处理器的时钟体系结构。 0 概要 处理器的时钟源都是外部晶振振荡器产生的,有12MHz也有18MHz的(当然通常情况下外部还会挂接一个数百KHz的晶振,它是RTC所需),但无论是何种都不可能满足ARM核的数百兆赫兹的工作频率(关于各种ARM核的工作频率见附0)。因此需要通过芯片内部的锁相环电路产生更高的工作频率,产生的工作频率再经过分频或者倍频分别供给处理器核以及外设使用。整体框架如下图所示。 图处理器时钟架构 注:上图之所以将USB单独列出是因为总结的两个处理器(S3C2440以及9200)都有独立提供USB的时钟,至于具体的原因以及与外围控制器中USB
[单片机]
<font color='red'>ARM</font>9时钟<font color='red'>体系结构</font>
ARM体系结构与编程笔记
存储器映射基本概念 ARM处理器产生的地址叫虚拟地址,把这个虚拟地址按照某种规则转换到另一个物理地址去的方法称为地址映射。这个物理地址表示了被访问的存储器的位置。它是一个地址范围,该范围内可以写入程序代码。 存储器映射控制的必要性 为了让运行在不同存储器空间中的程序对异常进行控制。可以通过存储器映射控制,将位于不同存储空间的异常向量表重新映射至固定地址0x00~0x3F处,以实现异常向量表的来源控制。 APCS规定了子程序调用的基本规则,这些规则包括子程序调用过程中寄存器、数据栈的使用规则以及参数的传递规则。 异常向量表 对于每一个异常事件,都有一个与之相对应的处理程序,它们是关联在一起的,并以一张一维表的格式存储在存
[单片机]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved