zoukankan      html  css  js  c++  java
  • 嵌入式开发学习(1)<ARM体系结构>

    内核版本号 SoC版本号 芯片型号(三星)
    ARMv1 (这里的v表示version)    
    ......    
    ARMv4 ARM7 S3C44B0
    ARMv4 ARM9 S3C2440 S3C2410
    ARMv5 ARM+XScale  
    ARMv6 ARM11 S3C6410
    ARMv7 Cortex-M(微)  
    Cortex-A(应用)  
    Cortex-R(实时)  
    Cortex-A8 S5PV210 SP5C100  
    Cortex-A9 Exynos4412  
    Cortex-A7 全志A10 A20 A31  
    Cortex-A15 exynos5250 5450  
    Cortex-A53 A57 高通骁龙815和410(苹果iphone5s)  

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

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

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

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

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

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

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

    发张趋势,CISCRISC结合。

    统一编址:把外设的寄存器当作内存来读写,从而以访问内存相同的方式来操作外设叫做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上的应用不需要考虑这么多。

  • 相关阅读:
    Lua 随机数生成问题
    关于LUA中的随机数问题
    用setup.py安装第三方包packages
    问题解决 -------- 解决YUM下Loaded plugins: fastestmirror Determining fastest mirrors 的问题
    CentOS6.7上安装Mysql5.7
    Centos6.8通过yum安装mysql5.7
    Gcc ------ gcc的使用简介与命令行参数说明
    redis 常用命令
    redis学习系列
    C# Redis实战
  • 原文地址:https://www.cnblogs.com/airduce/p/7482131.html
Copyright © 2011-2022 走看看