zoukankan      html  css  js  c++  java
  • arm那些事

    ARM简介

    ARM的商业模式:

    • ARM只负责设计IC,并且出卖自己的设计IP(版权)。
    • ARM自己不生产芯片,而是把设计IP授权给其他半导体厂商来生产芯片。
    • 严格地说,ARM并不是一家半导体厂商。
     
    三星主要ARM CPU有:
    •         ARM7    44B0
    •         ARM9    2240 2410 2416
    •         ARM11    6410
    •         A8        S5PV210    S5PC100
    •         A9        4412    418
     

    ARM型号的发展历程:

    • ARM内核版本号和SoC版本号是由ARM确定的,而SoC型号是由半导体公司确定的。
    • SOC(system on ship)
    • 内核版本号        SOC版本号        芯片型号(三星)
    • ARMv1
    • ......
    • ARMv4            ARM7            S3C44B0
    • ARMv4            ARM9            S3C2440 S3C2410
    • ARMv5            ARM9+XScale
    • ARMv6            ARM11        S3C6410
    • ARMv7            cortex-M
    •                     cortex-A
    •                         cortex-R
    •         -----------------------------------------------------------
    •         cortex-A8        S5PV210/S5PC100
    •         cortex-A9        Exynos4412
    •         cortex-A7        全志A10 A20 A31
    •         -----------------------------------------------------------
    •           cortex-A53 A57    高通骁龙815和410,苹果iPhone5s
     

    嵌入式与单片机的区别:

    芯片平台
    • 主流的芯片平台:51、PIC、AVR、MSP430、STM32等
    • 主流的嵌入式平台:ARM、PPC、MIPS
     
    应用领域:   
    • 单片机片上资源有限、价格低、应用领域多为小家电、终端设备等。
    • 嵌入式系统片上资源丰富、价格较高、应用领域宽广,如智能手机、平板电脑、游 戏机、路由器、摄像机、智能电视机、广告机、智能手表、收银机等。
           
    开发模式:
    • 单片机开发多为裸机,程序规模小,多为单个程序员独立开发。有些复杂产品也会使用高端单片机如STM32之类,并使用RTOS(uCOS、freeRTOS等)。
    • 嵌入式开发几乎全部基于嵌入式操作系统,目前使用最多的是linux和Android。
     
    嵌入式和编程语言:
    • 嵌入式以C语言为主,汇编语言为辅;
    • 中间层开发用C++较多;
    • 应用层开发多使用C++、Java、Python、tcl/tk、perl等;
     

    嵌入式系统的特点:

         特点:
    • 专用、软硬件可裁剪可配置
    • 低功耗、高可靠性、高稳定性
    • 软件代码短小精悍
    • 代码可固化
    • 实时性
    • 弱交互性
    • 专用开发工具及开发环境
    • 专业开发人员
     

    嵌入式系统组成:

    • 硬件:微处理器、存储器、I/O接口、输入输出设备等
    • 软件:嵌入式操作系统、BSP boardsupport package板级支持板、应用软件;
     
    嵌入式系统的分层:
    • 应用程序:GUI、GPRS、3G、WIFI等;
    • 操作系统:智能操作系统、操作平台;
    • 硬件:中央处理器、ROM、RAM、IO和电源;
     
    两种开发模式:
    • 非嵌入式开发:A类机编写、编译,得到可执行程序,发布给A类机运行;
    • 嵌入式开发:A类机编写、编译,得到可以行程序,发布给B类机运行;
     
    为何使用交叉编译:
    • 嵌入式开发的CPU比较简单,本身无法搭建开发环境,有些甚至操作系统都没有。交叉编译可以用高性能机器为低性能机器开发软件(包括裸机软件、系统级和 应用级软件)
     
    交叉编译的特点:
    • 必须使用交叉编译工具链;
    • 由于可执行程序不能再本地运行调试,因此,必须配合一定的手段(专用调试器、JTAG调试器、USB下载、串口下载、SD启 动、网络共享等)将可执行程序加载到目标嵌入式设备上运行调试;
     
    三种总线:
    • 数据总线:CUP通过地址总线寻址,然后通过数据总线与外部设备交换信息;
    • 地址中线:地址总线的位数决定CPU的寻址范围;数据总线的位数决定CPU单次通信能交换的信息数量;
    • 命令总线:CPU在通过数据总线进行数据交换时,会通过命令总线发送一个命令,然后再通过地址总线和数据总线,进行数据交换; 
     
    •  CPU的位数指的是数据总线的位数;
    • 32位CPU寻址范围是4G(2^10=1024bit=1K,2^20=1024K=1M,2^30=1024M=1G,2^2×2^30=4G),所以最大支持4G内存;数据总线是32位的,所以内存是32位的,编程时最好用int;
     

    嵌入式开发特点:

         特点:
    • 采用交叉编译,不便于本机运行调试程序;
    • 嵌入式需要BootLoader来启动,BootLoader必须先存在于启动介质中,需要专业工具
    • 嵌入式系统无法通过纯软件实现单步调试,因此,必须借助专用的调试器。   
     
         Jlink的作用:
    • 用于下载可执行程序到目标机;
    • 在目标机上实现单步调试,便于开发BootLoader;
  • 相关阅读:
    000IntelliJ IDEA字体大小设置 超级菜鸟
    Zend_Captcha_Image使用及部分功能重写 基于zend Framework 1.6
    人民币存贷款基准利率调整表20110707
    PHP 取得某天前后N天的日期
    jquery 实现 鼠标拖拽元素复制并写入效果
    使用 JScript 创建 .exe 或 .dll 文件
    js window.location
    jquery 中的 $("#air") 与 document.getElementById("air") 的区别
    jquery 查找 iframe 父级页面元素
    php 批量替换文件名
  • 原文地址:https://www.cnblogs.com/icefree/p/8537412.html
Copyright © 2011-2022 走看看