arm嵌入式

DSP处理器和ARM处理器的区别以及各自应用在那些领域

眉间皱痕 提交于 2020-02-03 06:39:35
  由于工作经常接触到各种多核的处理器,如TI的达芬奇系列芯片拥有1个DSP核3个ARM核。那么DSP处理器和ARM处理器各自有什么区别,各自适合那些领域? DSP:digital signal processor数字信号处理器,也指digital signal process数字信号处理,有自己指令集。DSP处理器的特点如下: 有专门的的硬件乘法器,能进行大量的乘法操作,与通用的MCU处理器不同,通用的MCU在执行乘法操作时是通过软件编程的方式的来实现的,通常需要几十甚至上百个时钟周期,而DSP处理器却有自己的硬件乘法器,使用硬件的方式来执行乘法操作,用硬件的方法总比用软件的方法有着无法比拟的速度优势。另外DSP处理都有自己的累加器单元AUL,大多数的DSP处理器在执行乘加操作时可以在一条指令周期内同时完成乘法和加法操作。DSP与一般MCU最大的区别在于DSP拥有硬件乘法器。 拥有哈弗型的总线结构,使得取指令和取数据可以同时进行,大大提高了并行处理的能力。 pipeline技术。广泛采用pipeline(流水线)处理技术使得DSP芯片大大减少了指令执行的时间,增强了处理器的处理能力。一条指令在执行的过程中需要经过取指、指令译码、取操作数以及指令执行等几个阶段,DSP的pipeline技术是指程序在运行时若干条指令是同时进行的,即在本条指令执行的同时

创龙基于TI AM335x ARM Cortex-A8 CPU,主频高达1GHz开发板按键、串口

浪子不回头ぞ 提交于 2020-01-18 06:47:04
处理器 TI Sitara AM335x是一款高性能嵌入式32位工业级Cortex-A8处理器,主频可高达1GHz,运算能力可高达2000DMIPS,搭配DDR3,兼容eMMC和NAND FLASH,拥有多种工业接口资源,以下是AM335x CPU资源框图: 按键 5个按键包含1个复位按键KEY1,1个长按睡眠按键KEY2,1个唤醒按键KEY3,2个可编程输入按键(含1个非屏蔽中断按键)KEY4和KEY5。其硬件位置及原理图如下图所示: 串口 开发板上共引出了3个串口,分别为CON4、CON6、CON8,其中CON4为Micro USB调试串口(UART3)、CON6为RS232串口(UART0)、CON8为RS485串口(UART1)。其硬件位置及原理图如下图所示: 表 1 串口名称 开发板位置 串口说明 Micro USB CON4 通过CH340芯片转成Micro USB接口 RS232 CON6 通过SP3232EEY-L/TR串口电平转换芯片转成RS232串口,使用9针DB9接口 RS485 CON8 使用3位接线端子 来源: CSDN 作者: Tronlong_ 链接: https://blog.csdn.net/Tronlong_/article/details/103976319

CPU指令集架构基础学习

你说的曾经没有我的故事 提交于 2020-01-14 23:17:51
在最初接触C/C++的时候,我对程序编译后的指令非常着迷,循序渐进的学习了C/C++语言编译器生成汇编语言的模式。 就像是语言翻译一样,我们需要做到直接阅读x86等汇编代码,并且能够将其还原成原始的C/C++语句,这是学习逆向最有效的方法。 CPU是执行程序机器码的硬件单元,相关概念包括以下几项: **指令码:**是CPU处理的底层命令,典型的底层命令有:将数据在寄存器之间转移,操作内存,计算数值等指令,每一类CPU都有自己的指令集架构,CPU品牌有Intel,AMD,IBM和Cyrix,IDT,VIA威盛,国产龙芯等。 **汇编语言:**为了让程序员少掉头发而创造出来的,是人类可以易于读写。 **CPU寄存器:**每一种CPU都有其固定的通用寄存器(GPR),x86的CPU中有8个GPR,x64里面有16个GPR,ARM中有16个GPR,CPU寄存器就是一种存储单元,他可以无差别存储所有类型的临时变量,如果写一个程序只用到了8个32位变量,CPU自带的寄存器就可以完成任务。 需要一种将高级编程语言转成CPU可以处理的底层机器语言,这种程序就是编译器(Compiler)。 0x01 指令集架构 x86的指令集架构中,opcode(汇编指令对应的机器码)长度是不同的。 ARM属于RISC(精简指令集)架构 CPU,这种指令集在设计之初就力图保持各个opcode长度一致,最初的时候

ARM发展历史

风格不统一 提交于 2020-01-12 18:34:08
行业    ARM 位于无线生态价值链的最顶端,为整个无线生态提供多种应用处理器 IP 研发外包,将长期受益于无线生态的发展演进。 公司    ARM 是全球领先的半导体知识产权( IP )商,公司设计高性能、廉价、耗能低的 RISC 处理器方案,并将其授权给第三方合作伙伴,第三方合作生产基于 ARM 架构芯片, ARM 则按芯片价格与出货量获得一次性授权入门费与版税提成, 2011 年营收 7.85 亿美元 , 同比增 21% ,税前利润 3.67 亿美元,同比增 37% 。    ARM 授权费 + 版税的商业模式将受益于营业杠杆,授权费收入将覆盖大部分新技术开发的运营费用,后续绝大部分的版税收入将成为公司利润,公司预计中期来看,版税收入增长将高于授权业务以及成本。 估值   截止 2012 年 8 月 30 日收盘,公司 TTM 市盈率 56.8 倍,对应分析师预期 2012 年盈利大约 37 倍, 2013 年盈利大约 32 倍, 5 年预期 PEG 约在 1.89 倍,公司的长期增长将取决于智能机、平板电脑等现有市场份额和增长,以及新领域的拓展。 风险    ARM 商业模式决定起将受到整个半导体行业高周期的影响; ARM 在智能手机、平板电脑的高市场份额将受到英特尔、 MIPS 的长期竞争;同时作为一家英国公司,面临着汇率风险,即营收成本不匹配,绝大部分收入来自美元

ARM嵌入式开发——基础概念

自作多情 提交于 2020-01-11 01:19:54
文章目录 嵌入式Linux系统组成 嵌入式Linux系统的启动流程 uboot制作 uboot特点 uboot三大功能 硬件初始化功能 引导加载内核 为内核传递启动参数 uboot源码操作 嵌入式Linux系统组成 嵌入式Linux系统软件由三部分组成: BootLoader(uboot)裸板软件,初始化硬件+从闪存加载内核到内存并且启动内核+给内核传递启动参数,告诉内核根文件系统rootfs在什么地方。(上电运行,内核启动后结束) Linux内核(kernel):Linux系统7大功能,管理进程、管理内存、文件系统、设备控制、网络管理。掉电结束。 根文件系统(rootfs): bin:各种命令。 sbin:各种超级用户的命令。 lib:标准系统库。 etc:各种服务的配置(tftpd-hpa,nfs) dev:存放设备文件 sys:存放虚拟文件系统sysfs相关内容 proc:存放虚拟文件系统procfs相关内容 usr:存放其他命令 嵌入式Linux系统的启动流程 上电CPU运行uboot uboot根据bootcmd加载启动内核并且通过bootargs给系统传递参数。 内核启动,完成7大功能。 内核最后根据uboot传递的bootargs到某个地方找到根文件系统rootfs 一旦找到根文件系统rootfs,控制权交给根文件系统。 内核会运行第一号进程/sbin/init

skyeye安装

落爺英雄遲暮 提交于 2020-01-06 00:51:36
SkyEye是一个开源软件项目,它是在Linux和Windows平台上实现一个纯软件模拟集成开发环境,模拟常见的嵌入式系统。可以在SkyEye上运行Linux,uClinux以及uC/OS-II等多款嵌入式操作系统和 各种系统软件。 (1)在ubuntu中最简单的方法当然是使用下面的命令来安装skyeye : sudo apt-get install skyeye (2)下面是从源码来编译skyeye的方法: 首先从www.uClinux.org上下载arm-elf-tool,里面包含arm-elf-gcc, arm-elf-ld等工具。可以使用下面的方法来安装: sudo cp XXX/arm-elf-tools-20030314.sh /tmp (XXX是下载完的文件的路径) sudo chmod +x arm-elf-tools-20030314.sh (修改文件的权限) sudo ./arm-elf-tools-20030314.sh 但是上面的安装时出现下面的错误 tail: cannot open `+43' for reading: No such file or directory google得到下面的solution, http://blog.csdn.net/lbsljn/archive/2009/06/30/4308625.aspx 一、直接安装法 1

ARM嵌入式开发中的GCC内联汇编__asm__

旧街凉风 提交于 2020-01-05 09:57:14
在针对ARM体系结构的编程中,一般很难直接使用C语言产生操作协处理器的相关代码,因此使用汇编语言来实现就成为了唯一的选择。但如果完全通过汇编代码实现,又会过于复杂、难以调试。因此,C语言内嵌汇编的方式倒是一个不错的选择。然而,使用内联汇编的一个主要问题是,内联汇编的语法格式与使用的编译器直接相关,也就是说,使用不同的C编译器内联汇编代码时,它们的写法是各不相同的。下面介绍在ARM体系结构下GCC的内联汇编。GCC内联汇编的一般格式: asm( 代码列表 : 输出运算符列表 : 输入运算符列表 : 被更改资源列表 ); 在C代码中嵌入汇编需要使用asm关键字,在asm的修饰下,代码列表、输出运算符列表、输入运算符列表和被更改的资源列表这4个部分被3个“:”分隔。下面,我们看一个例子: void test(void) { …… asm( "mov r1,#1\n" : : :"r1" ); …… } 注:换行符和制表符的使用可以使得指令列表看起来变得美观。你第一次看起来可能有点怪异,但是当C编译器编译C语句的是候,它就是按照上面(换行和制表)生成汇编的。 函数test中内嵌了一条汇编指令实现将立即数1赋值给寄存器R1的操作。由于没有任何形式的输出和输入,因此输出和输入列表的位置上什么都没有填写。但是,在汇编代码执行过程中R1寄存器会被修改,因此为了通知编译器,在被更改资源列表中

(原创)一步一步学ZedBoard & Zynq(六):在ZedBoard上运行linux并编写linux下的应用程序HelloWorld

 ̄綄美尐妖づ 提交于 2019-12-26 06:25:28
从本小节开始,讲着重介绍Zedboard上的嵌入式linux应用,包括使用SDK设计最简单的linux应用程序、linux交叉编译环境搭建、设备驱动编写等内容。 本小节使用的linux系统是Digilent官方提供的OOB设计,它是Digilent官网给出的一个完整的、Zedboard可运行的linux系统,包含了Zedboard上的几个重要的设备驱动如串口、USB、以太网、OLED、HDMI等。当linux在Zedboard上运行起来后,Zedboard就是一个小型的嵌入式系统,使用SDK及Xilinx ARM Linux工具链(arm-xilinx-linux-gnueabi)编译生成的可执行文件可以在这个系统执行。 本小节介绍的是使用SDK开发应用程序,并非在linux系统下使用arm-xilinx-linux-gnueabi。如果需要在linux系统下开发Zedboard上可执行程序,需要安装用arm-xilinx-linux-gnueabi编译环境。 更多更新请关注我的博客:@超群天晴 http://www.cnblogs.com/surpassal/ 硬件平台: Digilent ZedBoard 开发环境: Windows XP 32 bit 软件: SDK 14.2 一、获取Zedboard可运行的linux

ARM数据/地址总线架构简析

霸气de小男生 提交于 2019-12-21 20:01:20
ARM架构简析 1,ARM概述 现在大家讲的ARM的概念实际上是很模糊的,他可能指的是一类芯片,或者指的是ARM公司,亦或者是精简指令集,还是千万人手中的饭碗。下面引用一段关于百度百科关于ARM的准确描述 ARM架构,曾称进阶精简指令集机器(Advanced RISC Machine)更早称作Acorn RISC Machine,是一个32位精简指令集(RISC)处理器架构。还有基于ARM设计的派生产品,重要产品包括Marvell的XScale架构和德州仪器的OMAP系列。 ARM家族占比所有32位嵌入式处理器的75%,成为占全世界最多数的32位架构。 在1980年代晚期,苹果电脑开始与Acorn合作开发新版的ARM核心,由于这专案非常重要,Acorn甚至于1990年将设计团队另组成一间名为安谋国际科技(Advanced RISC Machines Ltd.)的新公司。也基于这原因,使得ARM有时候反而称作Advanced RISC Machine而不是Acorn RISC Machine。由于其母公司ARM Holdings plc于1998年的伦敦交易市场和NASDAQ挂牌上市[1],使得Advanced RISC Machines成了ARM Ltd旗下拥有的产品。 这个专案到后来进入了ARM6,首版的式样在1991年释出,然后苹果电脑使用ARM6架构的ARM

ARM处理器和体系结构介绍(Cortex-A9)

↘锁芯ラ 提交于 2019-12-21 18:07:29
ARM(Advanced RISC Machines) 概述 :有三种含义,它是一个公司的名称,是一类微处理器的通称,还是一种技术的名称。 技术特征 体积小、低功耗、低成本、高性能。 支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8/16位器件。 大量使用寄存器,指令执行速度更快。 大多数数据操作都在寄存器中完成。 寻址方式灵活简单,执行效率高。 指令长度固定。 嵌入式RISC微处理器 概述 :RISC(Reduced Instruction Set Computer)是精简指令集计算机,RISC把着眼点放在如何使计算机的结构更加简单和如何使计算机的处理速度更加快速上。RISC选取了使用频率最高的简单指令,抛弃复杂指令,固定指令长度,减少指令格式和寻址方式,不用或少用微码控制。 嵌入式CISC微处理器 概述 :传统的复杂指令级计算机(CISC)更侧重于硬件执行指令的功能性,使CISC指令及处理器的硬件结构更加复杂。 RISC和CISC的区别 ARM的基本数据类型 ARM采用32位架构,ARM的基本数据类型有以下3种。 Byte:字节,8bit。 Halfword:半字,16bit(半字必须与2字节边界对齐)。 Word:字,32bit(字必须与4字节边界对齐)。 注意 ARM 系统结构 v4 以上版本支持以上3种数据类型,v4 以前版本仅支持字节和字。