侵权投诉

解析C语言与ARM汇编与的相互调用以及与 C++ 相互调用

2018-01-23 10:29 次阅读

1.汇编程序访问C语言全局变量

全局变量只能通过地址间接调用,为了访问C++++语言中全局变量,首先要通过extern伪指令引入全局变量,然后将其地址装入寄存器中。

对于unsigned char类型,使用LDRB/STRB访问;

对于unsigned short类型,使用LDRH/STRH访问;

对于unsigned int类型,使用LDR/STR访问;

对于char类型,使用LDRSB/STRSB访问;

对于short类型,使用LDRSH/STRSH访问;

例子:

.text

.global asmsubrouTIne

.extern globvar

asmsubrouTIne:

LDR R1,=globvar

LDR R0,[R1]

ADD R0,R0,#2

STR R0,[R1]

MOV PC,LR

.end
解析C语言与ARM汇编与的相互调用以及与 C++ 相互调用

2.C程序调用汇编程序

C程序调用汇编程序首先通过extern声明要调用的汇编程序模块,声明中形参个数要与汇编程序模块中需要的变量个数一致,且参数传递要满足ATPCS规则,然后在C程序中调用。

例子:

#include

extern void *strcopy(char*d,char*s);//模块声明

int main()

{

char*srcstr=“first”;

char*dststr=“second”;

strcopy(dststr,srcstr);//汇编模块调用;

}

.text

.global strcopy

Strcopy:

LDRB R2,[R1],#1

STRB R2,[R0],#1

CMP R2,#0

BNE Sstcopy

MOV PC,LR

.end

汇编程序调用C程序

在调用之前必须根据C语言模块中需要的参数个数,以及ATPCS参数规则,完成参数传递,即前四个参数通过R0-R3传递,后面的参数通过堆栈传递,然后再利用B、BL指令调用。

例子:

int g(int a,int b,int c,int d,int e)//C语言函数原型

{

return(a+b+c+d+e);

}

汇编语言完成是求i+2i+3i+4i+5i的结果;

.global _start

.text

_start:

.extern g ;引入c程序

STR LR,{SP,-#4}!;保存PC

ADD R1,R0,R0

ADD R2,R1,R0

ADD R3,R1,R2

STR R3,{SP,#-4}!

ADD R3,R1,R1

BL g ;调用C函数g

ADD SP,SP,#4

LDR PC,[SP],#4

.end

return(0);

C和C++之间库的互相调用

昨晚有个朋友问我关于在C中调用C++库的问题,今天午饭后,由于脖子痛的厉害而没有加入到我们组的“每天一战”的行列中去,所以正好将C和C++之间的库调用关系做个总结。

1.extern “C”的理解:

很多人认为“C”表示的C语言,实际并非如此,“C”表示的是一种链接约定,只是因C和C++语言之间的密切关系而在它们之间更多的应用而已。实际上Fortran和汇编语言也常常使用,因为它们也正好符合C实现的约定。

extern “C”指令描述的是一种链接约定,它并不影响调用函数的定义,即时做了该声明,对函数类型的检查和参数转换仍要遵循C++的标准,而不是C。

2.extern “C”的作用:

不同的语言链接性是不同的,那么也决定了它们编译后的链接符号的不同,比如一个函数void fun(double d),C语言会把它编译成类似_fun这样的符号,C链接器只要找到该函数符号就可以链接成功,它假设参数类型信息是正确的。而C++会把这个函数编译成类似_fun_double或_xxx_funDxxx这样的符号,在符号上增加了类型信息,这也是C++可以实现重载的原因。

那么,对于用C编译器编译成的库,用C++直接链接势必会出现不能识别符号的问题,是的,需要extern “C”的时刻来了,它就是干这个用的。extern “C” 的作用就是让编译器知道要以C语言的方式编译和连接封装函数。

3.在C++中调用C库的例子:

1)。做一个C动态库:

// hello.c:

#include

void hello()

{

printf(“hello\n”);

}

编译并copy到系统库目录下(也可以自己定义库目录,man ldconfig):

[root@coredump test]# gcc --shared -o libhello.so hello.c

[root@coredump test]# cp libhello.so /lib/

2)。写个C++程序去调用它:

// test.cpp

#include

#ifdef __cplusplus

extern “C” { // 告诉编译器下列代码要以C链接约定的模式进行链接

#endif

void hello();

#ifdef __cplusplus

}

#endif

int main()

{

hello();

return 0;

}

编译并运行:

[root@coredump test]# g++ test.cpp -o test -lhello

[root@coredump test]# 。/test

hello

[root@coredump test]#

3).__cplusplus宏的条件编译:

为什么要加这个条件编译呢?小沈阳有话:小妹,这是为什么呢?

因为这种技术也可能会用在由C头文件产生出的C++文件中,这样使用是为了建立起公共的C和C++文件,也就是保证当这个文件被用做C文件编译时,可以去掉C++结构,也就是说,extern “C”语法在C编译环境下是不允许的。

比如:将上面的test.cpp更名为test.c,将头文件改为stdio.h,将条件编译去掉,再用gcc编译就可以看到效果。而即使做了上面的修改,如果用g++编译就可以正常使用,这就是我上面说的“公共的C和C++文件”的意思。

4.C调用C++库:

C++调用C库看上去也不是那么困难,因为C++本身就有向前(向C)兼容的特性,再加上纯天然的extern “C”约定,使得一切都是那么自然。而让C调用C++的库似乎就没那么容易,不过也不是不可以的。

言归正传,还是要借助这纯天然的extern “C”。

1)做一个C++库:

// world.cpp

#include

void world()

{

std::cout 《《 “world” 《《 std::endl;

}

编译并copy到系统库目录下:

[root@coredump test]# g++ --shared -o libworld.so world.cpp

[root@coredump test]# cp libworld.so /lib/

2)做一个中间接口库,对C++库进行二次封装:

// mid.cpp

#include

void world();

#ifdef __cplusplus

extern “C” { // 即使这是一个C++程序,下列这个函数的实现也要以C约定的风格来搞!

#endif

void m_world()

{

world();

}

#ifdef __cplusplus

}

#endif

其中方法m_world即为libworld库中world方法的二次封装,编译并copy到系统库目录下:

[root@coredump test]# g++ --shared -o libmid.so mid.cpp -lworld

[root@coredump test]# cp libmid.so /lib/

3).C程序通过链接二次接口库去调用C++库:

// test.c

#include

int main()

{

m_world();

return 0;

}

编译并运行:

[root@coredump test]# gcc test.c -l mid -o test

[root@coredump test]# 。/test

world

[root@coredump test]#

原文标题:ARM汇编 C语言 C++ 相互调用

文章出处:【微信号:changxuemcu,微信公众号:畅学单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

ARM的Snapdragons已经证明自己有足够的能力承受重负荷

WinFuture掌握了指向Qualcomm SC8180XP的信息。考虑到Snapdragon 8....
的头像 倩倩 发表于 07-10 16:38 106次 阅读
ARM的Snapdragons已经证明自己有足够的能力承受重负荷

关于ARM的三种中断调试方法介绍

在整个流程中,用户首先需要建立工程并对工程做初步的配置,包括配置处理器和配置调试设备。编辑工程文件,....
发表于 07-10 16:01 12次 阅读
关于ARM的三种中断调试方法介绍

根据超声波无损探伤仪系统原理在ARM平台上是如何实现的

一、 什么是超声波探伤仪 超声波探伤仪就是频率高于 20kHz 、超出人们耳朵辨别能力并且穿透性很强的声波。是一种便携式工业无损...
发表于 07-10 15:11 53次 阅读
根据超声波无损探伤仪系统原理在ARM平台上是如何实现的

使用C语言写出的九九乘法表

本文档的主要内容详细介绍的是使用C语言写出的九九乘法表资料合集免费下载。
发表于 07-10 08:00 8次 阅读
使用C语言写出的九九乘法表

单片机、ARM、DSP与CPU它们之间的区别是什么

你知道吗其实单片机、ARM、DSP都是属于CPU吗?它们之间到底有什么区别呢?就这个问题下面就让成都....
发表于 07-09 15:25 58次 阅读
单片机、ARM、DSP与CPU它们之间的区别是什么

苹果公司宣布将为未来的笔记本电脑制造自己的ARM架构处理器

据悉,苹果公司过去曾经给开发者提供了专用的迷你台式机(只有主机)Mac Mini,这款电脑的图形功能....
的头像 我快闭嘴 发表于 07-09 13:16 399次 阅读
苹果公司宣布将为未来的笔记本电脑制造自己的ARM架构处理器

Arm中国自研32位嵌入式处理器7个项目流片

虽然ARM公司与Arm中国董事长兼CEO吴雄昂之间的权力之争仍在继续。不过,Arm中国的相关业务仍在....
发表于 07-09 11:24 83次 阅读
Arm中国自研32位嵌入式处理器7个项目流片

ARM芯片将是智能家居设备的主要选择之一

不过需要说明的是,很多人并不知道ARM本身并不制造这些处理器。它只是向高通、联发科、三星、苹果、华为....
的头像 我快闭嘴 发表于 07-09 10:08 409次 阅读
ARM芯片将是智能家居设备的主要选择之一

德国电信否认加强与华为合作 过去3年已缩减生意往来;ARM计划分拆两项物联网服务业务 专注芯片设计业务…

华为的鸿蒙系统或将在今年下半年迎来关键节点。综合多家媒体报道以及天眼查、企查查信息显示,华为技术有限....
的头像 21克888 发表于 07-09 09:23 534次 阅读
德国电信否认加强与华为合作 过去3年已缩减生意往来;ARM计划分拆两项物联网服务业务 专注芯片设计业务…

C语言之结构体的声明与定义

我们刚刚申请了一个名叫Info的结构体类型,那么理论上我们可以像声明其他变量的操作一样,去声明我们的....
的头像 玩转单片机 发表于 07-09 09:06 123次 阅读
C语言之结构体的声明与定义

如何把C++的源程序改写成C语言

由于C++解释器比C语言解释器占用的存储空间要大500k左右。为了节省有限的存储空间,降低成本,同时也为了提高效率,将用C+...
发表于 07-08 20:51 134次 阅读
如何把C++的源程序改写成C语言

基于ARM的嵌入式Web服务器的设计方案

网络通信时,应用程序使用C/S(客户/服务器)模式进行信息交互。传统的服务器程序一般运行在大型的拥有....
发表于 07-08 18:12 44次 阅读
基于ARM的嵌入式Web服务器的设计方案

基于ARM嵌入式人机交互的设计方案

人机交互过程中获得人的动作是一个关键,为了实现手部姿态的实时跟踪控制,分析了手形及手部的运动形式和特....
发表于 07-08 18:09 27次 阅读
基于ARM嵌入式人机交互的设计方案

使用protues完成基于ARM的LCD显示屏驱动程序

近年来,随着计算机技术及集成电路技术的发展,嵌入式技术日渐普及,在通讯、网络、工控、医疗、电子等领域....
发表于 07-08 15:53 19次 阅读
使用protues完成基于ARM的LCD显示屏驱动程序

概述ARM处理器的工作状态和工作模式

为了能够体现ARM的特点和性能,ARM处理器有两种工作状态和7种工作模式。
发表于 07-08 15:29 44次 阅读
概述ARM处理器的工作状态和工作模式

ARM Cortex-M3 内核的不同功能模块

Cortex-M3内核,内部的数据路径为32位,寄存器为32位,存储器接口也是32位。Cortex-....
发表于 07-08 15:18 29次 阅读
ARM Cortex-M3 内核的不同功能模块

基于ARM的硬件系统的结构和不同模块设计

基于ARM的硬件系统的结构和不同模块设计
发表于 07-08 15:04 15次 阅读
基于ARM的硬件系统的结构和不同模块设计

ARM配置Realview MDK集成开发环境的使用方法

首先对ARM做了一个简单的介绍,主要介绍了Realview MDK集成开发环境的使用,使用MDK完成....
发表于 07-08 14:46 12次 阅读
ARM配置Realview MDK集成开发环境的使用方法

关于ARM流水线的资料和分析

流水线设计就是将组合逻辑系统地分割,并在各个部分(分级)之间插入寄存器,并暂存中间数据的方法。目的是....
发表于 07-08 14:41 31次 阅读
关于ARM流水线的资料和分析

如何使用ARM9实现串行通讯的设计方案

嵌入式是以应用为中心,以计算机技术为基础,软硬件可剪裁,适应应用系统对功能、可靠性、成本、体积、功耗....
发表于 07-08 14:31 16次 阅读
如何使用ARM9实现串行通讯的设计方案

基于ARM智能小车的设计方案

随着汽车工业的迅速发展,关于汽车的研究也就越来越受人们的关注,而汽车的智能化已成为科技发展的新方向。....
发表于 07-08 14:25 110次 阅读
基于ARM智能小车的设计方案

基于ARM-3S的物流监控系统的设计方案

从物流监控系统的现状与需求出发, 深入研究了基于嵌入式技术的物流监控系统的整体结构, 提出了基于AR....
发表于 07-08 14:18 10次 阅读
基于ARM-3S的物流监控系统的设计方案

基于ARM+ DSP色选机控制系统的详细资料

  光电色选机是用于散体物料品质检测和分级的一种有效的分选设备, 在研究光电色选机组成及工作原理的基....
发表于 07-08 14:11 20次 阅读
基于ARM+ DSP色选机控制系统的详细资料

ARM计划将物联网服务业务分拆到软银

Arm今天宣布计划分拆其两项物联网业务,此举将有效地把这两个部门转移到软银集团旗下,软银集团早在20....
发表于 07-08 11:48 142次 阅读
ARM计划将物联网服务业务分拆到软银

嵌入式Linux系统篇:RealARM2410技术手册

  RealARM2410是基于三星公司S3C2410X 高性能ARM 处理器的嵌入开发平台,旨在为....
发表于 07-07 16:35 33次 阅读
嵌入式Linux系统篇:RealARM2410技术手册

简易嵌入式计算器的设计方案

  随着电子科技技术的不断发展在当今社会计算器已深入人们生活中给人们的生活带来了方便推动了社会的发展....
发表于 07-07 16:25 44次 阅读
简易嵌入式计算器的设计方案

单片机C语言程序设计的详细资料

C语言目前己成为电子工程师进行单片机系统开发时的常用编程语言。用C语言来编写目标系统软件,会大大缩短....
发表于 07-07 14:48 50次 阅读
单片机C语言程序设计的详细资料

如何使用ARM开发软件SDT的设计步骤

本文是ARM开发的一些经验总结,以EV44B01.2开发板为例,给出入门上手的最基础知识。
发表于 07-07 14:30 12次 阅读
如何使用ARM开发软件SDT的设计步骤

交换机芯片的PTP--时间同步功能请教

有大神请教下: 连接方式是ARM1--PHY芯片1--PHY芯片2--以太网交换机芯片-PHY芯片3--PHY芯片4--ARM2 我现在想...
发表于 07-03 15:02 274次 阅读
交换机芯片的PTP--时间同步功能请教

浅谈2020年六大主流编程语言

目前,计算机语言的总数总计达9000种。但是,其中只有50种编程语言是较为流行的。今天,小编就给大家....
的头像 如意 发表于 07-03 11:36 297次 阅读
浅谈2020年六大主流编程语言

Mac历史第四次重大变革:转用ARM芯片,只为做出更好产品

今年6月,苹果迄今为止规模最大的一次、也是首次线上全程直播的WWDC全球者大会如期开启。正如业内猜测....
的头像 如意 发表于 07-03 09:28 724次 阅读
Mac历史第四次重大变革:转用ARM芯片,只为做出更好产品

单片机教程之C语言的程序设计说明

C51是在标准C的基础上,根据单片机存储器硬件结构及内部资源,扩展了相应的数据类型和变量,而C51在....
发表于 07-02 17:45 55次 阅读
单片机教程之C语言的程序设计说明

c语言宏定义的使用方法

当宏作为常量使用时,C程序员习惯在名字中只使用大写字母。但是并没有如何将用于其他目的的宏大写的统一做....
发表于 07-02 15:04 95次 阅读
c语言宏定义的使用方法

C语言二级指针的用法与原理

提到指针,我们都知道指针是用来存储一个变量的地址。所以,当我们定义了一个指向指针的指针的时候(poi....
发表于 07-02 14:52 87次 阅读
C语言二级指针的用法与原理

基于ARM Mali平台的游戏演示

目前,Mali最顶级的GPU为T880,华为海思麒麟955、联发科X20/X25、三星Exynos ....
的头像 ARM视频 发表于 07-02 13:05 970次 观看
基于ARM Mali平台的游戏演示

利用ARM Mali图像处理器实现手势识别

Mali GPU命名方式以年代为单位,目前最新的为Mali T8XX系列,Mali T7XX系列作为....
的头像 ARM视频 发表于 07-02 13:04 540次 观看
利用ARM Mali图像处理器实现手势识别

MWC2015: 虹软成像技术解决方案

MWC2015,合作伙伴虹软与ARM公司共同展示了领先的成像解决方案,在主流移动终端设备上给用户带来....
的头像 ARM视频 发表于 07-02 13:00 604次 观看
MWC2015: 虹软成像技术解决方案

MultiCuber 3机器人打破破解4x4x4魔方的世界纪录

配备三星 Galaxy S4 、由 ARM 首席工程师 Gilday 和安全系统工程师 Dobson....
的头像 ARM视频 发表于 07-02 12:55 504次 观看
MultiCuber 3机器人打破破解4x4x4魔方的世界纪录

ARM Cortex-A7处理器和big.LITTLE架构的探讨

ARM Cortex™-A7 MPCore™ 处理器是 ARM 迄今为止开发的最有效的应用处理器,它....
的头像 ARM视频 发表于 07-02 12:54 689次 观看
ARM Cortex-A7处理器和big.LITTLE架构的探讨

ARM Cortex-A7合适CPU处理应用才是最好的 (2)

ARM Cortex-A7,ARM史上最省功耗处理器横空出世!更小身材,更高性能,术业有专攻,再也没....
的头像 ARM视频 发表于 07-02 12:52 596次 观看
ARM Cortex-A7合适CPU处理应用才是最好的 (2)

ARM Cortex-A7合适CPU处理应用才是最好的 (1)

ARM Cortex-A7,ARM史上最省功耗处理器横空出世!更小身材,更高性能,术业有专攻,再也没....
的头像 ARM视频 发表于 07-02 12:51 721次 观看
ARM Cortex-A7合适CPU处理应用才是最好的 (1)

2011年ARM开发者大会系列:ARM Techcon系列之NXP

恩智浦半导体是全球十大半导体公司,秉持“智慧生活,安全连结”这一理念,助推各种智能解决方案,使我们的....
的头像 ARM视频 发表于 07-02 12:44 633次 观看
2011年ARM开发者大会系列:ARM Techcon系列之NXP

苹果换“芯”的理由何在?

首先从目前ARM架构芯片性能的角度看,笔者认为苹果应该是做得最好的,而且还有自家系统的加持,实现了“....
的头像 我快闭嘴 发表于 07-02 09:24 347次 阅读
苹果换“芯”的理由何在?

GigaByte演示基于ARM的服务器

ARM的Jazelle技术使Java加速得到比基于软件的Jaarm处理器阶梯图 va虚拟机(JVM)....
的头像 ARM视频 发表于 07-02 08:39 998次 观看
GigaByte演示基于ARM的服务器

嵌入式ICE-RT逻辑和嵌入式跟踪宏核(ETMS)系列

ARM的Jazelle技术使Java加速得到比基于软件的Jaarm处理器阶梯图va虚拟机(JVM)高....
的头像 ARM视频 发表于 07-02 08:36 764次 观看
嵌入式ICE-RT逻辑和嵌入式跟踪宏核(ETMS)系列

Java的23种设计模式及详细讲解

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指....
发表于 07-02 08:00 46次 阅读
Java的23种设计模式及详细讲解

HW资料华-为硬件(硬件开发C语言PCB设计天线通信)

链接:https://pan.baidu.com/s/1HFxkb4O1jAZvCEccWVcd4w 提取码:stns 回复可见提取码,资源需求可加q1051514663 ...
发表于 07-01 18:20 85次 阅读
HW资料华-为硬件(硬件开发C语言PCB设计天线通信)

基于MSO9380的支持智能机顶盒解决方案

  一、方案概述   MSO9380是MStar基于ARM的高精度集成主控,支持智能机顶盒解决方案,4K@60HEVC解码和1080PH...
发表于 07-01 17:00 84次 阅读
基于MSO9380的支持智能机顶盒解决方案

C语言和PHP,新手选择哪个比较好?

计科专业从事嵌入式开发多年,从现在的市场行情以及就业的机会上讲php的就业空间还是大于C语言,但并不....
的头像 如意 发表于 07-01 16:15 129次 阅读
C语言和PHP,新手选择哪个比较好?

使用C++编写的2048小游戏的论文和源代码免费下载

本文档的主要内容详细介绍的是使用C++编写的2048小游戏的论文和源代码免费下载。
发表于 07-01 10:26 42次 阅读
使用C++编写的2048小游戏的论文和源代码免费下载

Python的发展趋势,未来可期

首先,当前Python作为一门流行程度比较高的全场景编程语言,在IT互联网行业和一部分传统行业已经有....
的头像 如意 发表于 07-01 10:19 225次 阅读
Python的发展趋势,未来可期

怎么样才能在Keil C51环境下实现64位浮点库的设计

为解决Keil C51环境下无法进行64位双精度计算的问题,采用分部存储和分部计算的方法,设计了在K....
发表于 07-01 08:00 18次 阅读
怎么样才能在Keil C51环境下实现64位浮点库的设计

怎么样才能使用Keil C51开发大型嵌入式程序

 结合在8051系列单片机平台上的实际开发应用的经验,介绍用 Keil C在8051单片机上进行大型....
发表于 07-01 08:00 18次 阅读
怎么样才能使用Keil C51开发大型嵌入式程序

详谈选择排序算法的定义和过程

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数....
的头像 如意 发表于 06-30 17:06 93次 阅读
详谈选择排序算法的定义和过程

ARM嵌入式常用开发工具及开发流程!

由于嵌入式开发环境的特殊性(交叉编译),我们会用到一些其他的外围工具,这里做简要的说明。并重新介绍一下整个开发环境中,各个...
发表于 06-26 10:09 844次 阅读
ARM嵌入式常用开发工具及开发流程!

ARM+LINUX嵌入式学习路线分享

ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标: (1) 掌握主流嵌入式微处理器的结构与原理(初步定...
发表于 06-24 14:36 1742次 阅读
ARM+LINUX嵌入式学习路线分享

大学生如何学习FPGA初学者怎么学FPGA

无论是从自身的发展,还是从FPGA所拥有的巨大市场来讲,学习FPGA都是一个不错的选择,对大家来说FPGA技术可能还是新...
发表于 06-23 15:12 289次 阅读
大学生如何学习FPGA初学者怎么学FPGA

ARM究竟有没有美国的技术?

  众所周知,这段时间对于华为而言,压力还是很大的,因为随着美国的芯片禁令升级,所有使用美国设备和技术的厂商,都无法顺畅...
发表于 06-23 10:48 156次 阅读
ARM究竟有没有美国的技术?

arm在生活中的应用

  arm在生活中的应用   1、工业控制领域:作为32的RISC架构bai,基于ARM核的微控du制器芯片不但占据了高端微控制器市...
发表于 06-22 09:47 341次 阅读
arm在生活中的应用

AM3358-EP AM3358 Sitara™ 处理器

微处理器基于ARM Cortex-A8处理器,在图像,图形处理,外设以及PROFIBUS等工业接口选项方面得到了增强。该器件支持高级操作系统(HLOS).Linux和Android可从德州仪器(TI)免费获取。 AM3358-EP微处理器包含的子系统如所示,下面简要说明了各个子系统: 微处理器单元(MPU)子系统基于ARM Cortex-A8处理器,PowerVR SGX图形加速器子系统提供3D图形加速功能以支持显示和游戏特效。 可PRU-ICSS支持更多外设接口和PROFINET,以及其他/IP,PROFIBUS,Ethernet Powerlink,Sercos等实时协议。此外,凭借PRU-ICSS的可编程特性及其对引脚,事件和所有片上系统(SoC)资源的访问权限,该子系统可以灵活地实现协速时响应,专用数据处理操作以及自定义外设接口,并减轻的SoC其他处理器内核的任务负载。中的PRU-ICSS段落中的PRU-ICSS段落 特性 高达 800MHz Sitara ARM Cortex-A8 32 位精简指令集计算机 (RISC) 处理器 NEON 单指令流多数据流 (SIMD...
发表于 09-30 14:57 322次 阅读
AM3358-EP AM3358 Sitara™ 处理器

AMIC110 Sitara 处理器:ARM Cortex-A8,支持 10 种以上的以太网协议

t Breaker Computer on module Data Encoders/Decoders EPOS 打印机 Human Machine Interface (HMI): Panel PLC PLC 控制器 PLC/DCS I/O 模块:数字输入 PLC/DCS I/O 模块:数字输出 PLC/DCS I/O 模块:模拟输入 PLC/DCS I/O 模块:模拟输出 Relay AC Analog Input Module Relay Applications Processor Module Relay Wired Communication Module Servo Drive Wired & Wireless Communication Stand-alone Remote IO Temperature Controller 交流逆变器和 VF 驱动器 伺服驱动器和运动控制 位移发送器(角度、线性和轴) 便携式数据终端 保护继电器 - 特殊功能 制造机器人 功率计/功率分析仪 化学/气体传感器 半导体测试设备 单板计算机 变电站自动化 - IEC61850 过程总线 可编程逻辑控制器 (PLC)、DCS 和 PAC:混合模块 (AI/AO/DI...
发表于 09-29 11:44 253次 阅读
AMIC110 Sitara 处理器:ARM Cortex-A8,支持 10 种以上的以太网协议

AM5708 Sitara 处理器:成本经优化的 Arm A15 和 DSP,多媒体和安全引导

AM570x Sitara ARM应用处理器旨在满足现代嵌入式产品对于处理性能的强烈需求。 AM570x器件通过其极具有活性的全集成混合处理器解决方案,可实现较高的处理性能。此外,这些器件还将可编程的视频处理功能与高度集成的外设集完美融合。 可编程性通过单核ARM Cortex-A15 RISC CPU并借助Neon™扩展和TI C66x VLIW浮点DSP内核实现。借助ARM处理器,开发人员能够将控制函数与在DSP和协处理器上编程的其他算法分离其中,TI为ARM和C66x DSP提供了一系列完整的开发工具,其中包括C语言编译器AM570x Sitara ARM应用处理器专为满足现代嵌入式产品的强烈处理需求而打造。 AM570x器件通过集成的混合处理器解决方案的最大灵活性,带来高处理性能。这些器件还将可编程视频处理与高度集成的外设集相结合。 可编程性由具有Neon™扩展和TI C66x VLIW浮点DSP内核的单核ARM Cortex-A15 RISC CPU提供。 ARM处理器使开发人员能够将控制功能与DSP和协处理器上编程的视觉算法分开,从而降低系统软件的复杂性。 此外,TI还为A...
发表于 09-29 11:35 844次 阅读
AM5708 Sitara 处理器:成本经优化的 Arm A15 和 DSP,多媒体和安全引导

AM3871 ARM Microporcessor

AM387x Sitara™ ARM® 处理器是一款高度集成的、可编程平台,此平台借助 TI 的Sitara™ 处理器技术优势来满足下列应用:单板计算、网络和通信处理、工业自动化、人机界面、交互式服务点/信息亭、和便携式数据终端。 凭借全集成化混合处理器解决方案所具有的极大灵活性,该器件使得原始设备制造商 (OEM) 和原始设计制造商 (ODM) 能够将拥有稳健的操作系统支持、丰富的用户界面以及高处理性能的设备迅速投放市场。 此器件还将可编程ARM处理与一个高度集成的外设集组合在一起。 AM387x Sitara™ ARM® 媒体处理器还使 OEM 和 ODM 拥有了新的处理器可扩缩性及软件重用性水平。 在一个设计中使用 AM387x 处理器且发现有机会制造具有添加特性的类似产品的 OEM 和 ODM 可扩展升级至德州仪器 (TI) 生产的引脚兼容且软件兼容的 TMS320DM814x 处理器。 TMS320DM814x DaVinci™ 视频处理器在 AM387x 的硬件上添加了一个强大的 C674x™ 内核 DSP 以及一个视频编码器/解码器。 此外,使用 AM387x 或者 DM814x 处理器且需要更快 ARM 和/或者 DS...
发表于 09-29 11:02 141次 阅读
AM3871 ARM Microporcessor

AM5726 Sitara 处理器: 双核 ARM Cortex-A15 和 DSP

AM572x Sitara ARM应用处理器旨在满足现代嵌入式产品对于处理性能的强烈需求。 AM572x器件通过其极具有活性的全集成混合处理器解决方案,可实现较高的处理性能。此外,这些器件不但具有可编程视频处理功能,还融合了高度集成的外设集。每个AM572x器件都具有加密加速功能。 双核ARM Cortex-A15 RISC CPU配有Neon™扩展和两个TI C66x VLIW浮点DSP内核,可提供编程功能。借助ARM,开发人员能够控制函数与在DSP和协处理器上编程的其他算法分离开来,从而降低系统软件的复杂性。 此外,TI提供有一套针对ARM和C66x DSP的完整开发工具集,其中包括C语言编译器,用于简化编程和调度过程的DSP汇编优化器以及一个用于查看源代码执行的调试接口。 特性 若要了解器件修订版本1.1的相关信息,请参见SPRS915 ARM®Cortex®-A15双核微处理器子系统 多达2个C66x™浮点VLIW DSP 对象代码与C67x™和C64x +™完全兼容 每周期最多3...
发表于 09-29 11:00 335次 阅读
AM5726 Sitara 处理器: 双核 ARM Cortex-A15 和 DSP

AM4378 AM437x ARM Cortex-A9 微处理器 (MPU)

TI AM437x高性能处理器基于ARM Cortex-A9内核。 这些处理器通过3D图形加速得到增强,可实现丰富的图形用户界面,还配备了协处理器,用于进行确定性实时处理(包括EtherCAT,PROFIBUS,EnDat等工业通信协议)。该器件支持高级操作系统(HLOS)。基于Linux的® 可从TI免费获取。其它HLOS可从TI的设计网络和生态系统合作伙伴处获取。 这些器件支持对采用较低性能ARM内核的系统升级,并提供更新外设,包括QSPI-NOR和LPDDR2等存储器选项。 这些处理器包含功能方框图中显示的子系统,并且后跟相应的“说明”中添加了更多信息说明。 处理器子系统基于ARM Cortex-A9内核,PowerVR SGX™图形加速器子系统提供3D图形加速功能以支持显示和高级用户界面。 可编程实时单元子系统和工业通信子系统(PRU-ICSS与ARM内核分离,允许单独操作和计时,以实现更高的效率和灵活性.PRU-ICSS支持更多外设接口和EtherCAT,PROFINET,EtherNet /IP,PROFIBUS,以太网Powerlink,Sercos,EnDat等...
发表于 09-29 10:55 193次 阅读
AM4378 AM437x ARM Cortex-A9 微处理器 (MPU)

AM4372 AM437x ARM Cortex-A9 微处理器 (MPU)

TI AM437x高性能处理器基于ARM Cortex-A9内核。 这些处理器通过3D图形加速得到增强,可实现丰富的图形用户界面,还配备了协处理器,用于进行确定性实时处理(包括EtherCAT,PROFIBUS,EnDat等工业通信协议)。该器件支持高级操作系统(HLOS)。基于Linux的® 可从TI免费获取。其它HLOS可从TI的设计网络和生态系统合作伙伴处获取。 这些器件支持对采用较低性能ARM内核的系统升级,并提供更新外设,包括QSPI-NOR和LPDDR2等存储器选项。 这些处理器包含功能方框图中显示的子系统,并且后跟相应的“说明”中添加了更多信息说明。 处理器子系统基于ARM Cortex-A9内核,PowerVR SGX™图形加速器子系统提供3D图形加速功能以支持显示和高级用户界面。 可编程实时单元子系统和工业通信子系统(PRU-ICSS与ARM内核分离,允许单独操作和计时,以实现更高的效率和灵活性.PRU-ICSS支持更多外设接口和EtherCAT,PROFINET,EtherNet /IP,PROFIBUS,以太网Powerlink,Sercos,EnDat等...
发表于 09-29 10:43 92次 阅读
AM4372 AM437x ARM Cortex-A9 微处理器 (MPU)

AM3356 Sitara ARM Cortex-A8 微处理器

AM335x微处理器基于ARM Cortex-A8处理器,在图像,图形处理,外设以及EtherCAT和PROFIBUS等工业接口选项方面得到了增强。该器件支持高级操作系统(HLOS).Linux ®和Android™可从德州仪器(TI)免费获取。 AM335x微处理器包含功能框图中显示的子系统和以下简要说明: 微处理器单元(MPU)子系统基于ARM Cortex-A8处理器,PowerVR SGX™图形加速器子系统提供3D图形加速功能以支持显示和游戏特效。 可编程实时单元子系统和工业通信子系统(PRU-ICSS)与ARM内核彼此独立,允许单独操作和计时,以实现更高的效率和灵活性.PRU-ICSS支持更多外设接口和EtherCAT,PROFINET,EtherNet /IP,PROFIBUS,以太网Powerlink,Sercos等实时协议。此外,凭借PRU-ICSS的可编程特性及其对引脚,事件和所有片上系统(SoC)资源的访问权限,该子系统可以灵活地实现快速实时响应,专用数据处理操作以及自定义外设接口,并减轻SoC其他处理器内核的任务负载。 特性 高达 1GHz Sitara...
发表于 09-29 10:42 302次 阅读
AM3356 Sitara ARM Cortex-A8 微处理器

AM5728 Sitara 处理器

AM572x Sitara ARM应用处理器旨在满足现代嵌入式产品对于处理性能的强烈需求。 AM572x器件通过其极具有活性的全集成混合处理器解决方案,可实现较高的处理性能。此外,这些器件不但具有可编程视频处理功能,还融合了高度集成的外设集。每个AM572x器件都具有加密加速功能。 双核ARM Cortex-A15 RISC CPU配有Neon™扩展和两个TI C66x VLIW浮点DSP内核,可提供编程功能。借助ARM,开发人员能够控制函数与在DSP和协处理器上编程的其他算法分离开来,从而降低系统软件的复杂性。 此外,TI提供有一套针对ARM和C66x DSP的完整开发工具集,其中包括C语言编译器,用于简化编程和调度过程的DSP汇编优化器以及一个用于查看源代码执行的调试接口。 特性 若要了解器件修订版本1.1的相关信息,请参见SPRS915 ARM®Cortex®-A15双核微处理器子系统 多达2个C66x™浮点VLIW DSP 对象代码与C67x™和C64x +™完全兼容 每周期最多3...
发表于 09-29 10:37 813次 阅读
AM5728 Sitara 处理器

AM4377 AM437x ARM Cortex-A9 微处理器 (MPU)

TI AM437x 高性能处理器基于 ARM Cortex-A9 内核。 这些处理器通过 3D 图形加速得到增强,可实现丰富的图形用户界面,还配备了协处理器,用于进行确定性实时处理(包括 EtherCAT、PROFIBUS、EnDat 等工业通信协议)。该器件支持高级操作系统 (HLOS)。 基于 Linux 的®可从 TI 免费获取。其它 HLOS 可从 TI 的设计网络和生态系统合作伙伴处获取。 这些器件支持对采用较低性能 ARM 内核的系统升级,并提供更新外设,包括 QSPI-NOR 和 LPDDR2 等存储器选项。 这些处理器包含功能方框图中显示的子系统,并且后跟相应的 “说明”中添加了更多信息 说明。 处理器子系统基于 ARM Cortex-A9 内核, PowerVR SGX™图形加速器子系统提供 3D 图形加速功能以支持显示和高级用户界面。 可编程实时单元子系统和工业通信子系统 (PRU-ICSS) 与 ARM 内核分离,允许单独操作和计时,以实现更高的效率和灵活性。PRU-ICSS 支持更多外设接口和 EtherCAT、PROFINET、EtherNet/IP、PROFIBUS、E...
发表于 09-29 10:35 111次 阅读
AM4377 AM437x ARM Cortex-A9 微处理器 (MPU)

AM3894 Sitara 处理器

The AM389x Sitara ARM processors are a highly integrated, programmable platform that leverages TI's Sitara technology to meet the processing needs of the following applications: single-board computing, network and communications processing, industrial automation, human machine interface, and interactive point-of-service kiosks. The device enables original-equipment manufacturers (OEMs) and original-design manufacturers (ODMs) to quickly bring to market devices featuring robust operating systems support, rich user interfaces, and high processing performance through the maximum flexibility of a fully integrated mixed processor solution. The device combines high-performance ARM processing with a highly integrated peripheral set. The ARM Cortex-A8 32-bit RISC processor with NEON floating-point extension includes: 32KB of instruction cache; 32KB of data cache; 256KB of L2 cache; and 64KB of RAM. ...
发表于 09-25 16:39 110次 阅读
AM3894 Sitara 处理器

AM3703 Sitara 处理器

Sitara™高性能微处理器的AM37x系列(AM3715 /AM3703)基于增强型Cortex™-A8器件架构,集成在TI高级产品中45纳米工艺技术。该架构旨在提供最佳的ARM和图形性能,同时提供低功耗。 该设备可支持众多高级操作系统和实时操作系统解决方案,包括Linux,Android和Windows Embedded CE可直接从TI免费获得。此外,该器件完全向后兼容以前的Cortex-A8 Sitara微处理器和OMAP™处理器。 AM3715 /AM3703微处理器数据手册介绍了AM3715 /AM3703微处理器的电气和机械规格。 除非另有说明,否则本数据手册中包含的信息适用于AM3715 /03微处理器的商用和扩展温度版本。它由以下部分组成: AM3715 /03终端的描述:分配,电气特性,多路复用和功能描述 电气特性要求的介绍:电源域,工作条件,功耗和直流特性 时钟规范:输入和输出时钟,DPLL和DLL 热特性,器件命名和机械的描述有关可用包装的数据 特性 AM3715,AM3703 Sitara ARM微处理器: ...
发表于 09-25 16:37 103次 阅读
AM3703 Sitara 处理器

AM3715 Sitara 处理器

Sitara™高性能微处理器的AM37x系列(AM3715 /AM3703)基于增强型Cortex™-A8器件架构,集成在TI高级产品中45纳米工艺技术。该架构旨在提供最佳的ARM和图形性能,同时提供低功耗。 该设备可支持众多高级操作系统和实时操作系统解决方案,包括Linux,Android和Windows Embedded CE可直接从TI免费获得。此外,该器件完全向后兼容以前的Cortex-A8 Sitara微处理器和OMAP™处理器。 AM3715 /AM3703微处理器数据手册介绍了AM3715 /AM3703微处理器的电气和机械规格。 除非另有说明,否则本数据手册中包含的信息适用于AM3715 /03微处理器的商用和扩展温度版本。它由以下部分组成: AM3715 /03终端的描述:分配,电气特性,多路复用和功能描述 电气特性要求的介绍:电源域,工作条件,功耗和直流特性 时钟规范:输入和输出时钟,DPLL和DLL 热特性,器件命名和机械的描述有关可用包装的数据 特性 AM3715,AM3703 Sitara ARM微处理器: ...
发表于 09-25 16:19 475次 阅读
AM3715 Sitara 处理器

AM1810 Sitara 处理器

The AM1810 ARM Microprocessor for PROFIBUS is a low-power applications industrial processor based on ARM926EJ-S that is specifically targeted for PROFIBUS applications. The device enables original-equipment manufacturers (OEMs) and original-design manufacturers (ODMs) to quickly bring to market devices featuring robust operating systems support, rich user interfaces, and high processing performance life through the maximum flexibility of a fully integrated mixed processor solution. The ARM926EJ-S is a 32-bit RISC processor core that performs 32-bit or 16-bit instructions and processes 32-bit, 16-bit, or 8-bit data. The core uses pipelining so that all parts of the processor and memory system can operate continuously. The ARM core has a coprocessor 15 (CP15), protection module, and data and program memory management units (MMUs) with table look-aside buffers. The ARM core proces...
发表于 09-25 15:40 71次 阅读
AM1810 Sitara 处理器

AM3874 ARM Microporcessor

AM387x Sitara™ ARM® 处理器是一款高度集成的、可编程平台,此平台借助 TI 的Sitara™ 处理器技术优势来满足下列应用:单板计算、网络和通信处理、工业自动化、人机界面、交互式服务点/信息亭、和便携式数据终端。 凭借全集成化混合处理器解决方案所具有的极大灵活性,该器件使得原始设备制造商 (OEM) 和原始设计制造商 (ODM) 能够将拥有稳健的操作系统支持、丰富的用户界面以及高处理性能的设备迅速投放市场。 此器件还将可编程ARM处理与一个高度集成的外设集组合在一起。 AM387x Sitara™ ARM® 媒体处理器还使 OEM 和 ODM 拥有了新的处理器可扩缩性及软件重用性水平。 在一个设计中使用 AM387x 处理器且发现有机会制造具有添加特性的类似产品的 OEM 和 ODM 可扩展升级至德州仪器 (TI) 生产的引脚兼容且软件兼容的 TMS320DM814x 处理器。 TMS320DM814x DaVinci™ 视频处理器在 AM387x 的硬件上添加了一个强大的 C674x™ 内核 DSP 以及一个视频编码器/解码器。 此外,使用 AM387x 或者 DM814x 处理器且需要更快 ARM 和/或者 DS...
发表于 09-25 15:13 135次 阅读
AM3874 ARM Microporcessor

AM3892 Sitara 处理器

AM389x Sitara ARM处理器是一个高度集成的可编程平台,利用TI的Sitara技术来满足以下应用的处理需求:单板计算,网络和通信处理,工业自动化,人机界面和交互式服务点信息亭。 该设备使原始设备制造商(OEM)和原始设计制造商(ODM)能够快速实现市场设备具有强大的操作系统支持,丰富的用户界面和高处理性能,通过完全集成的混合处理器解决方案的最大灵活性。该器件将高性能ARM 处理与高度集成的外设集合在一起。 具有NEON浮点扩展的ARM Cortex-A8 32位RISC处理器包括:32KB指令缓存; 32KB的数据缓存; 256KB的L2缓存;和64KB的RAM。 丰富的外设集可以控制外部外围设备并与外部处理器通信。有关每个外围设备的详细信息,请参阅本文档中的相关章节以及相关的外围设备参考指南。外围设备包括:高清视频处理子系统(HDVPSS),提供同步高清和标清模拟视频输出和双高清视频输入;最多两个千兆以太网MAC(10 Mbps,100 Mbps,1000 Mbps),带有GMII和MDIO接口;两个USB端口,集成2.0 PHY; PCIe端口x2通道符合GEN2标准接口,允许设备充当PCIe根复合...
发表于 09-25 14:58 69次 阅读
AM3892 Sitara 处理器

AM5K2E04 多核 ARM+DSP

AM5K2E0x是一款基于TI的KeyStone II多核SoC架构的高性能器件,该器件集成了性能最优的Cortex-A15处理器双核或四核CorePac可以高达1.4GHz的内核速度运行.TI的AM5K2E0x器件实现了一套易于使用的高性能,低功耗平台,可供企业级网络终端设备,数据中心网络,航空电子设备和国防,医疗成像,测试和自动化等诸多应用领域的开发人员使用。 TI的KeyStone II架构提供了一套集成有ARM CorePac,(Cortex-A15处理器四核CorePac),网络处理等各类子系统的可编程平台,并且采用了基于队列的通信系统,使得器件资源能够高效且无缝地运作。这种独特的器件架构中还包含一个TeraNet交换机,该交换机可能从可编程内核到高速IO的各类系统元素广泛融合,确保它们以最高效率持续运作。 AM5K2E0x KeyStone II器件集成了大量的片上存储ARMD CorePac中多达4个Cortex A15内核共享4MB L2缓存。该器件还集成了2MB的多核共享存储器(每个MSMC),可用作共享的L3 SRAM。所有L2和MSMC存储器均包含错误检测与错误校正功能。该器件包含一个以1600MTPS传输速率运行的64位DDR-3...
发表于 09-25 14:42 91次 阅读
AM5K2E04 多核 ARM+DSP

AM3357 Sitara ARM Cortex-A8 微处理器

AM335x微处理器基于ARM Cortex-A8处理器,在图像,图形处理,外设以及EtherCAT和PROFIBUS等工业接口选项方面得到了增强。该器件支持高级操作系统(HLOS).Linux ®和Android™可从德州仪器(TI)免费获取。 AM335x微处理器包含功能框图中显示的子系统和以下简要说明: 微处理器单元(MPU)子系统基于ARM Cortex-A8处理器,PowerVR SGX™图形加速器子系统提供3D图形加速功能以支持显示和游戏特效。 可编程实时单元子系统和工业通信子系统(PRU-ICSS)与ARM内核彼此独立,允许单独操作和计时,以实现更高的效率和灵活性.PRU-ICSS支持更多外设接口和EtherCAT,PROFINET,EtherNet /IP,PROFIBUS,以太网Powerlink,Sercos等实时协议。此外,凭借PRU-ICSS的可编程特性及其对引脚,事件和所有片上系统(SoC)资源的访问权限,该子系统可以灵活地实现快速实时响应,专用数据处理操作以及自定义外设接口,并减轻SoC其他处理器内核的任务负载。 特性 高达 1GHz Sitara...
发表于 09-25 14:39 100次 阅读
AM3357 Sitara ARM Cortex-A8 微处理器

AM4379 AM437x ARM Cortex-A9 微处理器 (MPU)

TI AM437x高性能处理器基于ARM Cortex-A9内核。 这些处理器通过3D图形加速得到增强,可实现丰富的图形用户界面,还配备了协处理器,用于进行确定性实时处理(包括EtherCAT,PROFIBUS,EnDat等工业通信协议)。该器件支持高级操作系统(HLOS)。基于Linux的® 可从TI免费获取。其它HLOS可从TI的设计网络和生态系统合作伙伴处获取。 这些器件支持对采用较低性能ARM内核的系统升级,并提供更新外设,包括QSPI-NOR和LPDDR2等存储器选项。 这些处理器包含功能方框图中显示的子系统,并且后跟相应的“说明”中添加了更多信息说明。 处理器子系统基于ARM Cortex-A9内核,PowerVR SGX™图形加速器子系统提供3D图形加速功能以支持显示和高级用户界面。 可编程实时单元子系统和工业通信子系统(PRU-ICSS与ARM内核分离,允许单独操作和计时,以实现更高的效率和灵活性.PRU-ICSS支持更多外设接口和EtherCAT,PROFINET,EtherNet /IP,PROFIBUS,以太网Powerlink,Sercos,EnDat等...
发表于 09-25 11:51 144次 阅读
AM4379 AM437x ARM Cortex-A9 微处理器 (MPU)

AM4376 AM437x ARM Cortex-A9 微处理器 (MPU)

TI AM437x 高性能处理器基于 ARM Cortex-A9 内核。 这些处理器通过 3D 图形加速得到增强,可实现丰富的图形用户界面,还配备了协处理器,用于进行确定性实时处理(包括 EtherCAT、PROFIBUS、EnDat 等工业通信协议)。该器件支持高级操作系统 (HLOS)。 基于 Linux 的®可从 TI 免费获取。其它 HLOS 可从 TI 的设计网络和生态系统合作伙伴处获取。 这些器件支持对采用较低性能 ARM 内核的系统升级,并提供更新外设,包括 QSPI-NOR 和 LPDDR2 等存储器选项。 这些处理器包含功能方框图中显示的子系统,并且后跟相应的 “说明”中添加了更多信息 说明。 处理器子系统基于 ARM Cortex-A9 内核, PowerVR SGX™图形加速器子系统提供 3D 图形加速功能以支持显示和高级用户界面。 可编程实时单元子系统和工业通信子系统 (PRU-ICSS) 与 ARM 内核分离,允许单独操作和计时,以实现更高的效率和灵活性。PRU-ICSS 支持更多外设接口和 EtherCAT、PROFINET、EtherNet/IP、PROFIBUS、E...
发表于 09-25 11:40 368次 阅读
AM4376 AM437x ARM Cortex-A9 微处理器 (MPU)