㈠ 如何在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。