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;

arm那些事的更多相关文章

  1. 痞子衡嵌入式:ARM Cortex-M内核MCU开发那些事 - 索引

    大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是ARM Cortex-M内核微控制器相关知识. ARM公司从2004年开始推出Cortex-M系列内核,迄今Cortex-M家族已经包 ...

  2. 痞子衡嵌入式:ARM Cortex-M内核那些事(2)- 第一款微控制器

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是第一款Cortex-M微控制器. 1.天生荣耀:ARM Cortex-M处理器由来 ARM公司自2004年推出ARMv7内核架构时,摒弃 ...

  3. 痞子衡嵌入式:ARM Cortex-M调试那些事(1)- 4线协议标准(JTAG)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式调试里的接口标准JTAG. 在结束<ARM Cortex-M文件那些事>系列文章之后,痞子衡休整了一小段时间,但是讲课的 ...

  4. 痞子衡嵌入式:ARM Cortex-M文件那些事(8)- 镜像文件(.bin/.hex/.s19)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式开发里的image文件(.bin, .hex, .s19). 今天这节课是痞子衡<ARM Cortex-M文件那些事>主 ...

  5. linux arm的存储分布那些事之一【转】

    转自:http://blog.csdn.net/xiaojsj111/article/details/11724081 linux arm的存储分布那些事之一 linux arm 内存分布总览 上图是 ...

  6. 痞子衡嵌入式:ARM Cortex-M内核那些事(9.1)- 存储保护(MPU - PMSAv6/7)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是ARM Cortex-M存储保护模块(MPU). <ARM Cortex-M内核MCU开发那些事>的内核篇连载最早是 201 ...

  7. 痞子衡嵌入式:ARM Cortex-M内核那些事(3)- 功能模块

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是ARM Cortex-M功能模块. ARM Cortex-M处理器家族发展至今(2016),已有5代产品,分别是CM0/CM0+.CM1 ...

  8. 痞子衡嵌入式:ARM Cortex-M内核那些事(4)- 性能指标

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是ARM Cortex-M性能指标. 1.处理器的性能指标 用于评价CPU的性能指标非常多,不同的性能侧重点下的测试标准可能得出的指标值不 ...

  9. 痞子衡嵌入式:ARM Cortex-M内核那些事(5)- 指令集

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是ARM Cortex-M指令集. 指令集 指令长度(bits) 包含指令 CortexM0 CortexM0+ CortexM1 Cor ...

随机推荐

  1. Power BI 与 Azure Analysis Services 的数据关联:3、还原备份文件到Azure Analysis Services

    Power BI 与 Azure  Analysis Services 的数据关联:3.还原备份文件到Azure  Analysis Services 配置存储设置 备份前,需要为服务器配置存储设置. ...

  2. (后台)java 读取excel 文件 Unable to recognize OLE stream 错误

    原因:不支出读取 excel 2007 文件(*.xlsx).只支持 excel 2003 (*.xls). 光修改文件后缀不行,需要文件另存(或者导出)为 .xls Excel 1997-2004 ...

  3. sql 查询表格中多列重复的数据并显示该表的其他列

    我们一般情况下通过分组函数group by来查询重复的列 ) R 但是查询出的结果不能显示该表的其他列 想要查询一张表中有多个列重复的数据且也要显示该表的其他列 SELECT M.* FROM [db ...

  4. entity framework异常 The specified cast from a materialized 'System.Int32' type to the 'System.String' type is not valid

    ROW_NUMBER() OVER (ORDER BY (select Null)) AS Id entity framework 查询中有这句会有异常

  5. Java概述和项目演示

    Java概述和项目演示 1. 软件开发学习方法 多敲 多思考 解决问题 技术文档阅读(中文,英文) 项目文档 多阅读源码 2. 计算机 简称电脑,执行一系列指令的电子设备 3. 硬件组成 输入设备:键 ...

  6. centos-7 虚拟机安装图形界面

    centos-7 虚拟机安装图形界面 想到安装一个docker环境,于是拿出了以前装的虚拟机centos7,记得装完后,没进行任何配置(默认安装的是命令行界面). 配置网络 现有的虚拟机是没有办法联网 ...

  7. eclipse中SVN报错解决

    在Eclipse市场上安装完SVN插件后连接SVN时出现以下错误: SVN: '0x00400006: Validate Repository Location' operation finished ...

  8. .NetCore Build Terminology

       .NETCore Command:    1.dotnet build 2.dotnet run 3.dotnet new classlib 4.dotnet new xunit 5.dotne ...

  9. 请问在EXECUTE IMMEDIATE中如何使用带有引号

    转自:http://bbs.csdn.net/topics/300191423 从第一引号向后,如果遇到第二个引号,则看这个引号后面时候有紧挨着的引号,如果有则第二个引号被转义,即该保留该引号后面紧跟 ...

  10. 11LaTeX学习系列之---LaTeX的特殊字符

    目录 目录 前言 (一)源代码 (二)输出效果 目录 本系列是有关LaTeX的学习系列,共计19篇,本章节是第11篇. 前一篇:10LaTeX学习系列之---Latex的文档结构 后一篇:12LaTe ...