㈠ 如何在arm linux平台连接ios设备
在pc上,无论是windows还是linux都可以连接管理你的ios设备,那么如何去实现在arm平台下与ios通信呢,其实你你需要把linux下的usbmuxd和libimobiledevice交叉编译就可以了,管道就打通了,接下你也可以用ssh或ifuse。
系统:Linux 2.6.32-74-generic #142-Ubuntu SMP i686 GNU/Linux
交叉编译器: arm-none-linux-gnueabi-gcc RDK: DVRRDK_04.00.00.03(没有这个可以根据需要编译自己需要的库)
设备: arm linux板(dm368)+ ipone5s(ios8.3) +usb线
Package: libusb-1.0.8.tar.bz2
Package: libplist-1.3.tar.bz2
这个需要用cmake编译,自己写一个toolchain.cmake 修改交叉编译变量
然后在源码目录下 新建build文件夹
Package: usbmuxd-1.0.4.tar.bz2
编译方法和libplist是一样的。现在通道已经打通。
采用上面的方法,你也可以编译出
libgpg-error
Package: libgpg-error-1.7.tar.gz
libgcrypt
Package: libgcrypt-1.4.6.tar.gz
libtans1
Package: libtasn1-2.7.tar.gz
gnutls
Package: gnutls-2.8.6.tar.bz2
需要修改一下src/makefile 的LDFLAGS 值
新建一个build.sh
也许你需要继续 编译fuse 和ifuse ,那么你就可以去mount ios设备了。
文章参照 Mounting an iPod/iPhone on a Linux device http://paguilar.org/?p=31
上面usbmuxd的1.0.4版本不支持ipone5s 的ios8.3,又试了usbmuxd 1.0.7 是ok的。 我只使用了发现设备连接设备(libplist usbmuxd),打通管道,你也可以编译文章提到的其他工具,甚至写个qt程序。
㈡ 请问两个ARM之间可以用以太网通信吗比如说一个ARM发数据,另一个ARM接收谢谢。
两个arm之间在一个板子上往往直接用数据线通信
在不同板子上可以用UART SPI I2C 也当然可以用以太网 不过一般arm需外扩一个以太网控制器
㈢ 怎样实现pc机与arm嵌入式试验台的通信
通过串口或tcp/ip网口都可实现,相当于在pc端开发一个上位机服务器程序,然后与嵌入式平台通讯
㈣ 遇到一个ARM板与PC机通信的问题,麻烦高手们看一下
你是ARM与pc直接连接吗?我没试过,之前我都是用交换机连的,直接接好像不行(如果连上cp没有连接显示的话,一般ARM开发板里面送的是直连线);ip地址要统一网段,子网掩码要一致;有时getway也要设置;你找个交换机或者路由器,应该就可以了
㈤ ARM如何与FPGA进行通讯
一般意义上如果FPGA没有带硬核ARM的话,FPGA和ARM的通信可以采用ARM总线的方式,也是就FPGA和ARM芯片留出的总线相联系。
那么FPGA端提供的接口就是要与ARM总线协议一致。
一般来说采用类似SDRAM的接口就可以了,通过片选来切换到FPGA数据。
当FPGA需要发送数据时,可以先给ARM一个中断信号,ARM再通过片选访问FPGA数据即可。
㈥ 新手求助,如何实现ARM与DSP+FPGA通信
稍微说具体一点阿。ARM与FPGA一般通过数据总线方式通信,当然如果你没有要求速度,可以用什么SPI都是可以的。
㈦ ARM跟FPGA通信,要采用8位地址总线、8位数据总线、读写控制线,怎么实现,地址总线是要映射到F
你先在arm里设定好具体的地址和对应的数据啊,8位地址线和8位数据线是和FPGA联通的,读写控制线也是发给FPGA的信号,主要你还是要在FPGA里写好地址的划分,哪些区域的地址的数据是干嘛的,把对应的地址自己存到FPGA的寄存器里或者RAM里。然后自己再做后续的算法或处理。其实ARM的时钟和FPGA的时钟可以不同步啊。ARM只要确定具体的地址发具体的数据就行了。FPGA内部写好地址和数据的识别啊。
㈧ 关于怎样在ARM嵌入Linux操作系统上面实现USB与PC通信
如果你的USB是标准的设备,比如HID,Mass storage的话,建议你看一看USB gadget驱动。如果你的不是标准设备,也不想使用Linux提供的现成的gadget驱动,就比较简单了。首先看看系统在map_io的时候把USB的寄存器都map到了什么地方,很多现成的板子其实都已经给你提供好了,你只要像在ucOS上一样的操作就OK了。比如在S3c2410的板子上,寄存器定义一般都在regs-xxx.h里面,你可以直接使用它:
volatile uint32 *pSrc=S3C2410_GPBCON;
㈨ 安卓手机与arm9开发板如何通信
用WIFI连入同一个局域网以后SOCKET;或者蓝牙;或者用USB,一主一从;或者用USB转串口,手机上安装对应驱动,调用驱动接口,开发板这头就按串口通信就行了
通信方式很多地,具体方式要看你自己的需求来确定了。
㈩ arm采集2个A/D通道的数据,在屏幕上显示出并通过串行口与其它机器通信
ARM公司以及ARM芯片的现状和发展,从应用的角度介绍了ARM芯片的选择方法,并介绍了具有多芯核结构的ARM芯片。列举了目前的主要ARM芯片供应商,其产品以及应用领域。举例说明了几种嵌入式产品的最佳ARM芯片选择方案。
关键词:ARM MMU SOC RISC CPU
ARM公司自1990年正式成立以来, 在32位RISC (Reced Instruction Set Computer CPU开发领域不断取得突破,其结构已经从V3发展到V6。由于ARM公司自成立以来,一直以IP(Intelligence Property)提供者的身份向各大半导体制造商出售知识产权,而自己从不介入芯片的生产销售,加上其设计的芯核具有功耗低、成本低等显著优点,因此获得众多的半导体厂家和整机厂商的大力支持,在32位嵌入式应用领域获得了巨大的成功,目前已经占有75%以上的32位RISC嵌入式产品市场。在低功耗、低成本的嵌入式应用领域确立了市场领导地位。现在设计、生产ARM芯片的国际大公司已经超过50多家,国内中兴通讯和华为通讯等公司也已经购买ARM公司的芯核用于通讯专用芯片的设计。
目前非常流行的ARM芯核有 ARM7TDMI,StrongARM ARM720T,ARM9TDMI,ARM922T,ARM940T,RM946T,ARM966T,ARM10TDM1等。自V5以后,ARM公司提供 Piccolo DSP的芯核给芯片设计者,用于设计ARM+DSP 的SOC (System On Chip) 结构的芯片。此外,ARM芯片还获得了许多实时操作系统(Real Time Operating System)供应商的支持,比较知名的有:Windows CE、Linux、pSOS、VxWorks Mucleus、EPOC、uCOS、BeOS等。随着国内嵌入式应用领域的发展,ARM芯片必然会获得广泛的重视和应用。但是,由于ARM芯片有多达十几种的芯核结构,70多家芯片生产厂家,以及千变万化的内部功能配置组合,给开发人员在选择方案时带来一定的困难。所以,对ARM芯片做一对比研究是十分必要的。
1 ARM芯片选择的一般原则
从应用的角度,对在选择ARM芯片时所应考虑的主要因素做一详细的说明。
1.1 ARM芯核
如果希望使用WinCE或Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU(memory management unit)功能的ARM芯片,ARM720T、StrongARM、ARM920T、ARM922T、ARM946T都带有MMU功能。而 ARM7TDMI没有MMU,不支持Windows CE和大部分的Linux, 但目前有uCLinux等少数几种Linux不需要MMU的支持。
1.2 系统时钟控制器
系统时钟决定了ARM芯片的处理速度。ARM7的处理速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟20MHz-133MHz, ARM9的处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟为100MHz-233MHz, ARM10最高可以达到700MHz。不同芯片对时钟的处理不同,有的芯片只有一个主时钟频率,这样的芯片可能不能同时顾及UART和音频时钟的准确性, 如Cirrus Logic的EP7312等;有的芯片内部时钟控制器可以分别为CPU核和USB、UART、DSP、音频等功能部件提供不同频率的时钟,如 PHILIPS公司的SAA7550等芯片。
1.3 内部存储器容量
在不需要大容量存储器时,可以考虑选用有内置存储器的ARM芯片。见表1。
表1 内置存储器的ARM芯片
芯片型号 供应商 FLASH容量 ROM容量 SRAM容量
AT91F40162 ATMEL 2M Bytes 256K bytes 4K Bytes
AT91FR4081 ATMEL 1M Bytes 128K Bytes
SAA7750 Philips 384K Bytes 64K bytes
PUC3030A Micronas 256K Bytes 56K bytes
HMS30C7202 Hynix 192K Bytes
ML67Q4001 OKI 256K Bytes
LC67F500 Snayo 640K Bytes 32K
1.4 USB接口
许多ARM芯片内置有USB控制器,有些芯片甚至同时有USB Host和USB Slave控制器。见表2。
表2 内置USB控制器的ARM芯片
芯片型号 ARM内核 供应商 USB Slave USB Host IIS接口
S3C2410 ARM920T Samsung 1 2 1
S3C2400 ARM920T Samsung 1 2 1
S5N8946 ARM7TDMI Samsung 1 0 0
L7205 ARM720T Linkup 1 1 0
L7210 ARM720T Linkup 1 1 0
EP9312 ARM920T Cirrus Logic 0 3 1
Dragonball MX1 ARM920T Motorola 1 0 1
SAA7750 ARM720T Philips 1 0 1
TMS320DSC2x ARM7TDMI TI 1 0 0
PUC3030A ARM7TDMI Micronas 1 0 5
AAEC-2000 ARM920T Agilent 1 0 0
ML67100 ARM7TDMI OKI 1 0 0
ML7051LA ARM7TDMI OKI 1 0 0
SA-1100 StrongARM Intel 1 0 0
LH79531 ARM7TDMI Sharp 1 0 0
GMS320C7201 ARM720T Hynix 1 0 1
1.5 GPIO数量
在某些芯片供应商提供的说明书中,往往申明的是最大可能的GPIO数量,但是有许多引脚是和地址线、数据线、串口线等引脚复用的。这样在系统设计时需要计算实际可以使用的GPIO数量。
1.6 中断控制器
ARM内核只提供快速中断(FIQ)和标准中断(IRQ)两个中断向量。但各个半导体厂家在设计芯片时加入了自己不同的中断控制器,以便支持诸如串行口、外部中断、时钟中断等硬件中断。外部中断控制是选择芯片必须考虑的重要因素,合理的外部中断设计可以很大程度的减少任务调度的工作量。例如 PHILIPS公司的SAA7750,所有GPIO都可以设置成FIQ或IRQ,并且可以选择上升沿、下降沿、高电平、低电平四种中断方式。这使得红外线遥控接收、指轮盘和键盘等任务都可以作为背景程序运行。而Cirrus Logic公司的EP7312芯片,只有4个外部中断源,并且每个中断源都只能是低电平或者高电平中断,这样在用于接收红外线信号的场合时,就必须用查询方式,会浪费大量的CPU时间。
1.7 IIS(Integrate Interface of Sound)接口
即集成音频接口。如果设计音频应用产品,IIS 总线接口是必需的。
1.8 nWAIT信号
外部总线速度控制信号。不是每个ARM芯片都提供这个信号引脚,利用这个信号与廉价的GAL芯片就可以实现与符合PCMCI标准的WLAN卡和 Bluetooth卡的接口,而不需要外加高成本的PCMCIA专用控制芯片。另外,当需要扩展外部DSP 协处理器时,此信号也是必需的。
1.9 RTC (Real Time Clock)
很多ARM芯片都提供实时时钟功能,但方式不同。如Cirrus Logic公司的EP7312的RTC只是一个32位计数器,需要通过软件计算出年月日时分秒;而SAA7750和S3C2410等芯片的RTC直接提供年月日时分秒格式。
1.10 LCD控制器
有些ARM芯片内置LCD控制器,有的甚至内置64K彩色TFT LCD控制器。在设计PDA和手持式显示记录设备时,选用内置LCD控制器的ARM芯片如S1C2410较为适宜。
1.11 PWM输出
有些ARM芯片有2~8路PWM输出,可以用于电机控制或语音输出等场合。
1.12 ADC和DAC
有些ARM芯片内置2~8通道8~12位通用ADC,可以用于电池检测、触摸屏和温度监测等。PHILIPS的SAA7750更是内置了一个16位立体声音频ADC和DAC,并且带耳机驱动。
1.13 扩展总线
大部分ARM芯片具有外部SDRAM和SRAM扩展接口,不同的ARM芯片可以扩展的芯片数量即片选线数
量不同,外部数据总线有8位、16位或32位。某些特殊应用的ARM芯片如德国Micronas的
PUC3030A没有外部扩展功能。
1.14 UART和IrDA
几乎所有的ARM芯片都具有1~2个UART接口,可以用于和PC机通讯或用Angel 进行调试。一般的ARM芯片通讯波特率为115,200bps,少数专为蓝牙技术应用设计的ARM芯片的UART通讯波特率可以达到920Kbps,如 Linkup 公司的L7205。
1.15 DSP协处理器,见表3。
表3 ARM+DSP结构的ARM芯片
芯片型号 应商 DSP core DSP MIPS 应用
TMS320DSC2X TI 16bits C5000 500 Digital Camera
Dragonball MX1 Motorola 24bits 56000 CD-MP3
SAA7750 Philips 24bits EPIC 73 CD-MP3
VWS22100 Philips 16bits OAK 52 GSM
STLC1502 ST D950 VOIP
GMS30C3201 Hynix 16bits Piccolo STB
AT75C220 ATMEL 16bits OAK 40 IA
AT75C310 ATMEL 16bits OAK 40x2 IA
AT75C320 ATMEL 16bits OAK 60X2 IA
L7205 Linkup 16bits Piccolo Wireless
L7210 Linkup 16bits Piccolo wireless
Quatro OAK 16bits OAK Digital Image
1.16 内置FPGA
有些ARM芯片内置有FPGA,适合于通讯等领域。见表4。
表4 ARM+FPGA结构的ARM芯片
芯片型号 供应商 ARM芯核 FPGA门数 引脚数
EPXA1 Altera ARM922T 100K 484
EPXA4 Altera ARM922T 400K 672
EPXA10 Altera ARM922T 1000K 1020
TA7S20系列 Triscend ARM7TDMI 多种 多种
1.17 时钟计数器和看门狗
一般ARM芯片都具有2~4个16位或32位时钟计数器和一个看门狗计数器。
1.18 电源管理功能
ARM芯片的耗电量与工作频率成正比,一般ARM芯片都有低功耗模式、睡眠模式和关闭模式。
1.19 DMA控制器
有些ARM芯片内部集成有DMA(Direct Memory Access)�可以和硬盘等外部设备高速交换数据,同时减少数据交换时对CPU资源的占用。另外,还可以选择的内部功能部件有:HDLC, SDLC,CD-ROM Decoder,Ethernet MAC,VGA controller, DC-DC。可以选择的内置接口有:IIC,SPDIF,CAN,SPI,PCI,PCMCIA。最后需说明的是封装问题。ARM芯片现在主要的封装有 QFP、TQFP、PQFP、LQFP、BGA、LBGA等形式,BGA封装具有芯片面积小的特点,可以减少PCB板的面积,但是需要专用的焊接设备,无法手工焊接。另外一般BGA封装的ARM芯片无法用双面板完成PCB布线,需要多层PCB板布线。
2 多芯核结构ARM芯片的选择
为了增强多任务处理能力、数学运算能力、多媒体以及网络处理能力,某些供应商提供的ARM芯片内置多个芯核,目前常见的有ARM+DSP,ARM+FPGA,ARM+ARM等结构。
2.1多ARM芯核
为了增强多任务处理能力和多媒体处理能力,某些ARM芯片内置多个ARM芯核。例如Portal player 公司的PP5002 内部集成了两个ARM7TDMI 芯核,可以应用于便携式MP3播放器的编码器或解码器。从科胜讯公司(Conexant)分离出去的专门致力于高速通讯芯片设计生产的MinSpeed公司就在其多款高速通讯芯片中集成了2~4个ARM7TDMI内核。
2.2 ARM芯核+DSP芯核
为了增强数学运算功能和多媒体处理功能,许多供应商在其ARM芯片内增加了DSP协处理器。通常加入的DSP芯核有ARM公司的Piccolo DSP芯核、OAK公司16位定点DSP芯核、TI的TMS320C5000系列DSP芯核、Motorola的56K DSP芯核等。见表3。
2.3 ARM芯核+FPGA
为了提高系统硬件的在线升级能力,某些公司在ARM芯片内部集成了FPGA。