娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年02月04日(星期二)

2021年02月04日 | ARM 簡介及編程知識匯總

發(fā)布者:平和思緒 來源: eefocus關鍵字:ARM  編程知識  微處理器 手機看文章 掃描二維碼
隨時隨地手機看文章

ARM簡介及編程


1.ARM簡介(摘錄)

ARM(Advanced RISC Machines)是微處理器行業(yè)的一家知名企業(yè),設計了大量高性能、廉價、耗能低的RISC處理器、相關技術及軟件。技術具有性能高、成本低和能耗省的特點。適用于多種領域,比如嵌入控制、消費/教育類多媒體、DSP和移動式應用等。


ARM將其技術授權給世界上許多著名的半導體、軟件和OEM廠商,每個廠商得到的都是一套獨一無二的ARM相關技術及服務。利用這種合伙關系,ARM很快成為許多全球性RISC標準的締造者。


目前,總共有30家半導體公司與ARM簽訂了硬件技術使用許可協(xié)議,其中包括Intel、IBM、LG半導體、NEC、SONY、菲利浦和國民半導體這樣的大公司。至于軟件系統(tǒng)的合伙人,則包括微軟、升陽和MRI等一系列知名公司。


ARM架構是面向低預算市場設計的第一款RISC微處理器。


2.產品介紹

ARM提供一系列內核、體系擴展、微處理器和系統(tǒng)芯片方案。由于所有產品均采用一個通用的軟件體系,所以相同的軟件可在所有產品中運行(理論上如此)。典型的產品如下。


①CPU內核

--ARM7:小型、快速、低能耗、集成式RISC內核,用于移動通信。

-- ARM7TDMI(Thumb):這是公司授權用戶最多的一項產品,將ARM7指令集同Thumb擴展組合在一起,以減少內存容量和系統(tǒng)成本。同時,它還利用嵌入式ICE調試技術來簡化系統(tǒng)設計,并用一個DSP增強擴展來改進性能。該產品的典型用途是數(shù)字蜂窩電話和硬盤驅動器。

--ARM9TDMI:采用5階段管道化ARM9內核,同時配備Thumb擴展、調試和Harvard總線。在生產工藝相同的情況下,性能可達ARM7TDMI的兩倍之多。常用于連網和頂置盒。


②體系擴展

-- Thumb:以16位系統(tǒng)的成本,提供32位RISC性能,特別注意的是它所需的內存容量非常小。


③嵌入式ICE調試

由于集成了類似于ICE的CPU內核調試技術,所以原型設計和系統(tǒng)芯片的調試得到了極大的簡化。


④微處理器

--ARM710系列,包括ARM710、ARM710T、ARM720T和ARM740T:低價、低能耗、封裝式常規(guī)系統(tǒng)微型處理器,配有高速緩存(Cache)、內存管理、寫緩沖和JTAG。廣泛應用于手持式計算、數(shù)據(jù)通信和消費類多媒體。


--ARM940T、920T系列:低價、低能耗、高性能系統(tǒng)微處理器,配有Cache、內存管理和寫緩沖。應用于高級引擎管理、保安系統(tǒng)、頂置盒、便攜計算機和高檔打印機。

--StrongARM:性能很高、同時滿足常規(guī)應用需要的一種微處理器技術,與DEC聯(lián)合研制,后來授權給Intel。SA110處理器、SA1100 PDA系統(tǒng)芯片和SA1500多媒體處理器芯片均采用了這一技術。

--ARM7500和ARM7500FE:高度集成的單芯片RISC計算機,基于一個緩存式ARM7 32位內核,擁有內存和I/O控制器、3個DMA通道、片上視頻控制器和調色板以及立體聲端口;ARM7500FE則增加了一個浮點運算單元以及對EDO DRAM的支持。特別適合電視頂置盒和網絡計算機(NC)。


Windows CE的Pocket PC只支持ARMWindows CE可支持多種嵌入式處理器,但基于Windows CE的Pocket PC則只支持ARM一種。微軟在對SH3、MIPS、ARM等嵌入式處理器做了評估后認為,ARM是一種性價比較好的選擇。由于目前ARM在手持設備市場占有90%以上的份額,只支持ARM,可以有效地縮短應用程序開發(fā)與測試的時間,也降低了研發(fā)費用。由于ARM開放其處理器授權,因此,用戶在市場上可以在多家整機廠商中進行選擇,從而保證了這一市場的競爭性。


2. ARM芯片CL-PS7111主要特點

電平2.7v/3.3v.相對應CPU工作頻率13MHz/18MHz. 13MHz位節(jié)電模式, 性能相當于33MHz Inter 486 PC ARM710A內核


ARM7 CPU

8K 4向緩存(cache)

MMU 帶有64入口TLB(Transition Look-aside Buffer)

DRAM控制器


支持16位和32位DRAM

ROM/SRAM/Flash Memory 控制


可譯碼4,5或6個獨立的256M存儲空間段

每個存儲段支持8位,16位和32位操作,并支持分頁模式

可編程ROM/SRAM/Flash Memory

支持兩個低功耗CL-PS6700 PC卡(PCMCIA)控制器 2K 片內 SRAM用于程序快速執(zhí)行片內Boot ROM (128Byte)


兩個同步串行接口


支持SPI,或Microwire2兼容

音頻解碼器(Audio Codec)

27位通用接口GPIO(general-purpose I/O port)


3個8位和1個3位GPIO port

支持鍵盤陣列掃描(Scanning keyboard matrix)

兩個異步串口 UARTs


支持高達115.2K 波特率

內有兩個接收發(fā)送(TX,RX) 16Bytes FIFOs緩沖

支持MODEM控制信號

DC-to-DC轉換器接口


提供兩個96KHz時鐘輸出,通過編程duty ratio(1/16---15/16)操作

LCD控制器


直接信號掃描板接口,單色LCD

面板的大小可編程從16到1024個像素,16個像素為一個單位

視頻幀大小可編程到128K byte

每個像素點的位數(shù)可編程1,2,4位

計時器和實時時鐘


兩個16位計時器(Timer counter)和一個32位實時時鐘(RTC)


3. 調試工具及調試方法

ARM Project Manager (APM) include ARM Debuger: 這個工具由ARM提供主要是開發(fā)程序, 編程調試ARM芯片, 有相當不錯的開發(fā)環(huán)境和遠端調試功能, 支持匯編和它帶有一個ARM自己的嵌入式操作系統(tǒng)ARM Angel, 用戶可以在它的上面開發(fā)自己的嵌入式軟件, 不過這個操作系統(tǒng)不是實時多任務的.


通過計算機串口與處理器UART相連,設置計算機的超級終端 ( Hyper Terminal ),通過超級終端察看硬件情況(寄存器設置,數(shù)據(jù)等)和程序運行情況,當然程序重要加入向UART送出數(shù)據(jù)的指令, 用Beep報警也是經常用的. 這種調試方法是用于底層調試硬件,找出硬件存在的問題.


VxWorks 在Shell 不能正常運行前,也是采取這種方法來調試程序,不過一般不是硬件問題,而是BSP中存在的問題,需要根據(jù)硬件,修改BSP.


需要說明的是:上述方法是在沒有硬件仿真器的情況下采用的,仿真器是底層調試硬件程序最好,最簡便直觀的辦法。


4. ARM7 編程要點及示例

VxWorks image 裝入ARM的過程:


ARM7 有兩種運行模式, Boot 模式和 Normal 模式, Boot模式主要是把程序裝入(down load 或load )Flash ROM中用的, Normal模式是一般運行程序用的ARM7 Boot 模式時, Flash 的地址是0x70000000片選型號是CS0? (Normal模式下,Flash地址為0x00000000),ARM7內部有128byte的BootROM和2K的SRAM,當需要Download VxWorks image時,ARM啟動采用Boot方式啟動運行存在128byte BootROM中的程序初始化ARM內部的COM口,從COM口接受數(shù)據(jù)到2K的SRAM,這2K程序是用來真正Load VxWorks的,2K程序Load完畢后系統(tǒng)自動跳轉到這2K程序執(zhí)行,它的作用是再次初始化內部的COM口,通過COM口接受VxWorks到DRAM,然后由DRAM寫入FLASH。在主板2K SRAM運行的Boot Load程序執(zhí)行過程。 寫入完畢后,切換到Normal模式重新啟動系統(tǒng),系統(tǒng)自動跳到FLASH 0X00000000開始運行VXWORKS。用PC機上的COM1與ARM內部的UART1(COM)通信來Download VxWorks。


主要管腳定義

32條數(shù)據(jù)線: D0-------D31


28條地址線: A0-------A27 ??little endian 定義, 相對應數(shù)據(jù)排列 0 1 2 3 4 5 6--------27


6條片選信號腳: CS0-------CS5, 其實作用相當于地址線 A28------A31


4個8位的PORT口: PORT A, PORT B , PORT D主要用于外圍芯片信號的控制. PORT E有雙作用.


例如 PORT A 控制鍵盤的行信號, PORT B 用于RS232, PORT D 用于控制MODEM, FPGA..


外部中斷信號EINT, EXTFIQ.


編程時要根據(jù)主板原理圖和硬件手冊進行.


看硬件圖紙, 該芯片和CPU的那些管腳連結. 特別是 PORT 口和片選線.


查CPU手冊, 得到PORT 口和該片選的硬件地址.


編程: 用PORT口直接對芯片操作,如開,關,RESET等, 用片選地址和芯片內地


址結合對該外圍芯片操作.


Exception vectors, 中斷向量表及中斷分配

Vector 地址 Exception

Exception Mode Priority(1=High)

0x0 Reset

Svc 1

0x4 Undefined Instruction

Undef 6

0x8 Software Interrupt

Svc 6

0xC Prefetch Abort

Abort 5

0x10 Data Abort

Abort 2

0x14 Reserved

Not applicable Not applicable

0x18 Interrupt (IRQ)

irq 4

0x1C Fast Interrupt (FIQ)

Fiq 3


這個向量表必須要放置在系統(tǒng)地址0x00000000 (一般是邏輯地址, 即經過MMU映射后的地址)處.


一般是在這些地址上放跳轉指令 BL, 跳到相應的地址空間執(zhí)行相應的程序.


如系統(tǒng)執(zhí)行從0x00000000 Reset開始, Reset 跳轉到某一地址開始運行操作系統(tǒng).


程序示例,中斷向量表 (ARM asm):

__VectorStart ; Start of ARM processor vec


DR pc,ResetV ; 00 - Reset


LDR pc,UndefV ; 04 - Undefined instructions


LDR pc,SWIV ; 08 - SWI instructions


LDR pc,PAbortV ; 0C - Instruction fetch aborts


LDR pc,DAbortV ; 10 - Data access aborts


LDR pc,UnusedV ; 14 - Reserved (was address exception)


LDR pc,IRQV ; 18 - IRQ interrupts


LDR pc,FIQV ; 1C - FIQ interrupts


中斷號分配 (FIQ, IRQ)


中斷類型 中斷號 Name

說明


FIQ 0 外部中斷 EXTFIQ 管腳 NEXT FIQ

… … … …

IRQ 5 外部中斷 EINT1 管腳 NEINT1

IRQ 6 外部中斷 EINT2 管腳 NEINT2

IRQ 7 外部中斷 EINT3 管腳 NEINT3

… … … …

IRQ 12 內部中斷 UTXINT1 UART1 TX FIFO 為空

… … … …


中斷號也是寄存器INTMR和INISR的位,所以在ARM中中斷的編程要點是看硬件圖紙,該外設和CPU的那一個管腳連結.


A.查CPU手冊,得到中斷號及INTMR,INTSR的地址.


B.編程


注:如果不是寫底層driver,只是在系統(tǒng)上層編程(如VxWorks,Linux)知道中斷即可.


程序示例( VxWorks):


//登記中斷號,和相應的中斷全程ComISR.


intConnect ( ( VOIDFUNCPTR * ) 5, ComISR, 0 ) ;


//使能這中斷


intEnable ( ( VOIDFUNCPTR * ) 5 );


計時器中斷編程過程


ARM7一般內部有兩個16位計時器(Timer counter)和一個32位實時時鐘(RTC),計時器中斷屬于IRQ中斷,這里以計時器1為例敘述一下中斷的編程過程,設置interrup mask INTMR1寄存器 0x80000240 第8位TC1OI計時器1為使能. 在0x800000300 計時器 1 的數(shù)據(jù)寄存器TC1D寫入指定數(shù)據(jù),這樣數(shù)據(jù)開始從這個給定的數(shù)開始遞減計數(shù),計數(shù)遞減至 0 后,會產生一個溢出underflow IRQ中斷請求,中斷狀態(tài)寄存器INTSR1 0x80000240 第8位TC1OI置位.系統(tǒng)會跳到中斷向量表地址 0x00000018 處,執(zhí)行相應的中斷程序,中斷程序通過判斷中斷的類型(判斷中斷狀態(tài)寄存器的位),來執(zhí)行相應的中斷服務程序ISR. 中斷狀態(tài)寄存器標志位復位,計時器開始重新開始計時.


存儲空間管理單元(MMU)


物理地址映射


重點在于片選地址CS的選取,另外MMU映射需要參考這個物理


ARM7 物理地址映射表


地址 內容

大小

備注


0xF000.0000 Unused 256Mbytes

0xE000.0000 Unused 256Mbytes

0xD000.0000 DRAM Bank 1 256Mbytes

0xC000.0000 DRAM Bank 0 256Mbytes 外接DRAM

0x8000.2000 Unused --1Gbytes

0x8000.0000 內部寄存器地址 8Kbytes 主要的I/O和控制

0x7000.0000 Boot ROM 128 bytes 片內,封有Boot程序

0x6000.0000 On-chip SRAM 2 Kbytes 片內,存放Load程序

0x5000.0000 PCMCIA-1(NCS[5]) 4*64 Mbytes

0x4000.0000 PCMCIA-0(NCS[4]) 4*64 Mbytes

0x3000.0000 外部擴展(NCS[3]) 256Mbytes

0x2000.0000 外部擴展(NCS[2]) 256Mbytes

0x1000.0000 ROM Bank 1(NCS[1]) 256Mbytes

0x0000.0000 ROM Bank 0(NCS[0]) 256Mbytes 外接Flash ROM


MMU 虛擬(邏輯)地址和物理地址的映射實例


Vxworks支持的ARM架構的處理器,一般是RAM的起始位置為0x0,而實際上ARM的物理地址0x0是ROM的起始地址,RAM在高位地址.這就需要系統(tǒng)在Boot過程中,執(zhí)行MMU程序,重新映射RAM和ROM的地址.即RAM起始地址為0x0.


MMU主要有ARM7中協(xié)處理器coprocessor 15控制,coporocessor主要控制:


片內的MMU


指令和數(shù)據(jù)緩存(IDC)


Write Buffer(WB)


MMU有兩層頁表(two-level page table)用來進行虛擬地址向物理地址轉換,CP15定義16個寄存器,只有MRC和MCR指令才能對它們操作.


在VxWorks系統(tǒng)中,MMU表分成兩部分:boot up table和final table.在文件ramAtHigh.h中定義.該表在文件romInit.s中初始化,語句為:


BL _ramAtHigh_1(2)


MMU映射實例


虛擬(邏輯)地址(VxWorks系統(tǒng)) 硬件物理地址


RAM 首地址 0x0000.0000

Low Address 0x0000.1000

High Address 0x0060.0000

ROM 0x0100.0000






其他的地址邏輯地址和物理地址映射地址不變

0x8000.0000 內部寄存器

..................

相同的顏色映射對應的地址


ROM 0x0000.0000 VxWorks image和文件系統(tǒng)

RAM 首地址 0xC000.0000 存放LCD,MMU表等

0xC004. 0000 中斷向量表等

0xC004.1000 VxWorks運行位置

0xC064.0000 VxWorks從ROM解壓后Copy的位置


其他的地址映射地址不變

0x8000.0000 內部寄存器

..............


其中,Low Address,High Address在系統(tǒng)配置文件config.h和Makefile中設置。

關鍵字:ARM  編程知識  微處理器 引用地址:ARM 簡介及編程知識匯總

上一篇:用ARM7和UC/OS-II設計的信號采集系統(tǒng)
下一篇:ARM的綜合實驗設計

推薦閱讀

內容摘要:設備智能化改造大趨勢下,嵌入式計算機大量的應用到工控系統(tǒng)中,自定義工控鍵盤的應用也變得越來越廣泛。本文提出一種基于USB HID協(xié)議的自定義鍵盤設計,設計簡單功能實用,免驅動自動識別。很好的解決了按需定制鍵盤設備的設計要求,方便了系統(tǒng)上位機軟件編程,貼近工程實踐,應用前景廣闊。 隨著智能化工控設備的推廣,越來越多的工控設...
在人口紅利下降,人力成本逐年上升的今天,尋找可持續(xù)發(fā)展的代替方案是必不可少的,而無人配送機器人在成本還是可靠性方面表現(xiàn)突出,面對著正在興起的巨大物流配送市場,有業(yè)內人士提出“機器替代人”的理念。舉個例子:早前快遞員在1個小時內可以配送50單,而有了配送機器人之后,1小時內可以配送150-200單,甚至更多,這種極高效率的模式也使得配送機器...
MSP430寄存器中文注釋---P1/2口(帶中斷功能) /************************************************************ * DIGITAL I/O Port1/2 寄存器定義 有中斷功能 ************************************************************/ #define P1IN_ 0x0020 /* P1 輸入寄存器 */ const...
—為室外機器人運行提供穩(wěn)定、可靠的供電 安防機器人作為機器人行業(yè)的一個細分領域,立足于實際需求,用來完成安全防護、巡邏、災情監(jiān)測、有害氣體監(jiān)測等任務,盡量減少事故的發(fā)生,降低生命財產的損失。安防機器人雖處于起步階段,但在巨大的市場需求下具有極大的發(fā)展?jié)摿蛷V闊的應用前景。 萬為機器人作為一家擁有60個以上核心專利,10多項創(chuàng)新創(chuàng)業(yè)...

史海拾趣

問答坊 | AI 解惑

PCB的映像平面(二)映像平面的設計

映像平面的設計  附圖四是在PCB內的映像平面,它具有共同的部分電感。在此圖中,訊號走線的大多數(shù)射頻電流將回至接地平面,此平面在訊號走線的正下方。在這個回傳「映像」結構中,射頻回傳電流將遇到一個有限大的阻抗(電感)。此回傳電流會產 ...…

查看全部問答∨

CE 6.0里該如何來調試系統(tǒng)?

用PB定制好系統(tǒng)后,自己修改了一部分,該如何用模擬器來調試這個呢?…

查看全部問答∨

stm32bootloader問題

                                 stm32 bootloader串口升級代碼 只能用串口1嗎? 用串口2可以不?…

查看全部問答∨

簡易制作,高手免進!

簡易制作的DS18B20數(shù)字溫度計此物純屬無聊之作,不想浪費時間生命的不要往下看,初學者可以一看。之前用STC新型的20腳單片機制作了一個精簡數(shù)字溫度計,形狀很是小巧,但是新型單片機運行速度要快,因此對于DS18B20芯片的時序有很大的不同,再加上 ...…

查看全部問答∨

上傳兩篇MSP-EXP430FR5739實驗板套件的使用文檔

給大家上傳兩份MSP-EXP430FR5739實驗板套件的使用文檔。零積分下載,以備查用。…

查看全部問答∨

請問如何做交流之均方根值(有效值)量測?

大家好:請問如何做交流之均方根值(有效值)量測?測量頻率希望可以達到1MHZ。目前我找到的資料如方塊圖所示,流程如下:(1)先用一個儀表放大器獲得回路上某一電阻的電壓。(2)在經過一個高速絕對值電路做精密全波整流。(3)再用濾波電容變成 ...…

查看全部問答∨

找300M的檢波管

我有一臺BT-3G型頻率特性測試儀,沒有探頭,想自己DIY一個,誰有資料幫幫忙 [ 本帖最后由 數(shù)碼科技 于 2012-5-6 13:18 編輯 ]…

查看全部問答∨

UTC4432和STM32

哪位大神知道怎樣對UTC4432進行設置,怎樣運用stm32對它進行編程。我的郵箱:707364975@qq.com 謝啦…

查看全部問答∨

STM32F429學習筆記之流水燈

在實現(xiàn)燈閃爍之前,安裝MDK500遇到了很多問題,一個問題就是注冊機有問題,無法破解,不過還是搞好了,還有一個問題就是pack installer更新無法更新到STM32F29, 不過去網上下載了一個mdkcm510.exe,之后行了,不知道什么原因。我比較懶,所以直接 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 黎城县| 枝江市| 汉寿县| 拜城县| 泸定县| 京山县| 巴林右旗| 石渠县| 喀喇沁旗| 淳安县| 祁东县| 密云县| 巴东县| 九龙县| 阜城县| 顺昌县| 新兴县| 贵定县| 芒康县| 昔阳县| 北宁市| 泰来县| 咸宁市| 枣阳市| 康马县| 南木林县| 东乡县| 黄平县| 阳新县| 东城区| 页游| 綦江县| 石棉县| 平阴县| 土默特右旗| 呼图壁县| 呈贡县| 太康县| 泰和县| 北辰区| 册亨县|