ARM程序设计
你的问题让人无法回答 ,给出的条件不够,至少说你用的ARM是什么型号呀
硬件描述的不完整,键盘是怎么连接的矩阵还是直连的,地址是什么
数码管是怎么连接的,共阳还是共阴的 ,是直接连在地址上还是用其他数字电路驱动的,秒表是软件实现还是硬件实现
想要继续设计芯片,海思还需要获得外界的芯片架构授权。此前,华为麒麟新品所采用的芯片架构,就来自于英国的ARM公司。
海思芯片一般指深圳市海思半导体有限公司。 海思半导体是一家半导体公司,海思半导体有限公司成立于2004年10月,前身是创建于1991年的华为集成电路设计中心。海思公司总部位于深圳,在北京、上海、美国硅谷和瑞典设有设计分部。为面向公开市场,海思以其位于上海的分部为基础,于2018年6月成立上海海思技术有限公司 。自此,海思的产品正式在公开市场销售。
海思的产品覆盖无线网络、固定网络、数字媒体等领域的芯片及解决方案,成功应用在全球100多个国家和地区;在数字媒体领域,已推出SoC网络监控芯片及解决方案、可视电话芯片及解决方案、DVB芯片及解决方案和IPTV芯片及解决方案。2019年海思Q1营收达到了17.55亿美元,同比大涨了41%,增速远远高于其他半导体公司,排名也上升到了第14位。
http://www.arm.com/chinese/
ARM可以是16位机,也可以是32位机
8051单片机和羚阳单片机没有可比性,如果一定要比较就是单片机和CPU的区别!
ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。
ARM将其技术授权给世界上许多著名的半导体、软件和OEM厂商,每个厂商得到的都是一套独一无二的ARM相关技术及服务。利用这种合伙关系,ARM很快成为许多全球性RISC标准的缔造者。
目前,总共有30家半导体公司与ARM签订了硬件技术使用许可协议,其中包括Intel、IBM、LG半导体、NEC、SONY、菲利浦和国民半导体这样的大公司。至于软件系统的合伙人,则包括微软、升阳和MRI等一系列知名公司。
ARM架构是面向低预算市场设计的第一款RISC微处理器。
2.产品介绍
ARM提供一系列内核、体系扩展、微处理器和系统芯片方案。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行(理论上如此)。典型的产品如下。
①CPU内核
--ARM7:小型、快速、低能耗、集成式RISC内核,用于移动通信。
-- ARM7TDMI(Thumb):这是公司授权用户最多的一项产品,将ARM7指令集同Thumb扩展组合在一起,以减少内存容量和系统成本。同时,它还利用嵌入式ICE调试技术来简化系统设计,并用一个DSP增强扩展来改进性能。该产品的典型用途是数字蜂窝电话和硬盘驱动器。
--ARM9TDMI:采用5阶段管道化ARM9内核,同时配备Thumb扩展、调试和Harvard总线。在生产工艺相同的情况下,性能可达ARM7TDMI的两倍之多。常用于连网和顶置盒。
②体系扩展
-- Thumb:以16位系统的成本,提供32位RISC性能,特别注意的是它所需的内存容量非常小。
③嵌入式ICE调试
由于集成了类似于ICE的CPU内核调试技术,所以原型设计和系统芯片的调试得到了极大的简化。
④微处理器
--ARM710系列,包括ARM710、ARM710T、ARM720T和ARM740T:低价、低能耗、封装式常规系统微型处理器,配有高速缓存(Cache)、内存管理、写缓冲和JTAG。广泛应用于手持式计算、数据通信和消费类多媒体。
--ARM940T、920T系列:低价、低能耗、高性能系统微处理器,配有Cache、内存管理和写缓冲。应用于高级引擎管理、保安系统、顶置盒、便携计算机和高档打印机。
--StrongARM:性能很高、同时满足常规应用需要的一种微处理器技术,与DEC联合研制,后来授权给Intel。SA110处理器、SA1100 PDA系统芯片和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,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。由于ARM开放其处理器授权,因此,用户在市场上可以在多家整机厂商中进行选择,从而保证了这一市场的竞争性。
看您拿来做什么?
许多世界知名电子公司都提供这方面的支持!
ARM内核:从ARM7、ARM9到Cortex-A7、A8、A9、A12、A15再到Cortex-A53、A57等,总之不同版本 ARM 有不同的想法。比如为高速度设计的Cortex A8、A9都是ARMv7a 架构;Cortex M3、M4是ARMv7m架构;前者是内核,后者是指令集的架构。
ARM的架构都是基于RISC指令集而架构的,而其内核只是实现这一指令集的硬件架构的基础,Thumb-2指令集架构(ISA)的子集,包含所有基本的16位 和32位Thumb-2指令、&nbsp、哈佛处理器架构,在加载/存储数据的同时能够执行指令取指,带分支预测的三级流水线等。
好比你盖房子 刚开始因为水平低 流行盖平房 这就是一种架构(V5T)。
然后这种平房架构你可以设计出一款独立卫生间的款式 这叫ARM7内核。
然后其他人(芯片设计公司)想盖房子的就买你这个图纸去盖,然后过一段时间,有人觉得光独立卫生间还不够啊!我还想有个小院子。 好吧。。那ARM就满足你们 ,就出个带小院子的款式(ARM9)。
又过了很久, 这种平房的架构就随着大伙的需求一直改啊改啊。。 后来经过ARM研究发现 ,现在大伙盖房子的能力duang duang直升啊(包括工艺、设计能力、时钟主频) 。只盖这种平房施展不开啊!
好吧。。ARM为了不让这帮设计的人闲着, 就推出一种二三层楼房的样式, 这因为跟平房设计结构完全不一样嘛 ,那就叫一种新的架构(V6)!
同样这种楼房样式ARM也为大家准备了带游泳池的和带车库的款式(ARM11各种)。
好吧继续改啊改啊。。 改到后来大家已经开始有能力盖十层以上的大楼了, ARM一如既往地出了新的款式(V7架构) 。这时ARM觉得以前尼玛名字都太土鳖了。。 什么ARM5 ,ARM6 ,ARM7,又难听又难记, 劳资要取个看起来牛逼的名字! 咱至少也算个能设计摩天大楼的主了, 于是后面的内核都叫cortex 。
改名只是一部分,随着这个架构出来后 ,ARM发现, 以前用咱们图纸盖出的楼也就做个民宅 。民宅图个啥 ?实惠嘛(功耗低)!
现在不一样了, 现在咱的图纸盖得楼不仅可以做民宅, 还可以做军事基地, 还可以做高档写字楼 。以前这些高级功能的楼房可是只有小英(英特尔)才设计得来的啊!
为了满足这些不同的需求, ARM把这个架构设计出来的款式分成3个系列(M系列、R系列、A系列)。
M系列是为民宅设计的 ,因为老百姓图实惠嘛 这种设计就设计个十层左右(功耗低)。
R系列是为军事基地设计的, 这种楼设计的也不高, 十层左右吧, 但是关键是要对特殊情况要有快速反应的能力(中断快) 。
最后A系列是给商业大佬用的, 那当然是要高端大气上档次 ,就是要高(性能高)各种LED灯灯光秀啊都给我上。
IO0SET=(0x01<<j)
说到是给0x16GPIO设置高,就是亮。
IO0CLR=(0x01<<j)
这是把相应到GPIO置低。
其他设置中断到你就记住用法就可以了。应该有操作手册。
1.指令集模拟器部分集成开发环境提供了指令集模拟器,可方便用户在PC机上完成一部分简单的调试工作,但是由于指令集模拟器与真实的硬件环境相差很大,因此即使用户使用指令集模拟器调试通过的程序也有可能无法在真实的硬件环境下运行,用户最终必须在硬件平台上完成整个应用的开发。
2.驻留监控软件驻留监控软件(ResidentMonitors)是一段运行在目标板上的程序,集成开发环境中的调试软件通过以太网口、并行端口、串行端口等通讯端口与驻留监控软件进行交互,由调试软件发布命令通知驻留监控软件控制程序的执行、读写存储器、读写寄存器、设置断点等。
驻留监控软件是一种比较低廉有效的调试方式,不需要任何其他的硬件调试和仿真设备。
arm公司的Angel就是该类软件,大部分嵌入式实时操作系统也是采用该类软件进行调试,不同的是在嵌入式实时操作系统中,驻留监控软件是作为操作系统的一个任务存在的。
驻留监控软件的不便之处在于它对硬件设备的要求比较高,一般在硬件稳定之后才能进行应用软件的开发,同时它占用目标板上的一部分资源,而且不能对程序的全速运行进行完全仿真,所以对一些要求严格的情况不是很适合。
3.JTAG仿真器JTAG仿真器也称为JTAG调试器,是通过ARM芯片的JTAG边界扫描口进行调试的设备。
JTAG仿真器比较便宜,连接比较方便,通过现有的JTAG边界扫描口与armCPU核通信,属于完全非插入式(即不使用片上资源)调试,它无需目标存储器,不占用目标系统的任何端口,而这些是驻留监控软件所必需的。
另外,由于JTAG调试的目标程序是在目标板上执行,仿真更接近于目标硬件,因此,许多接口问题,如高频操作限制、AC和DC参数不匹配,电线长度的限制等被最小化了。
使用集成开发环境配合JTAG仿真器进行开发是目前采用最多的一种调试方式。
4.在线仿真器在线仿真器使用仿真头完全取代目标板上的CPU,可以完全仿真ARM芯片的行为,提供更加深入的调试功能。
但这类仿真器为了能够全速仿真时钟速度高于100MHz的处理器,通常必须采用极其复杂的设计和工艺,因而其价格比较昂贵。
java课程http://www.kmbdqn.cn/认为在线仿真器通常用在arm的硬件开发中,在软件的开发中较少使用,其价格高昂也是在线仿真器难以普及的因素。
ARM9系列处理器是英国ARM公司设计的主流嵌入式处理器,主要包括ARM9TDMI和ARM9E-S等系列。
新一代的ARM9处理器,通过全新的设计,采用了更多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。这种处理能力的提高是通过增加时钟频率和减少指令执行周期实现的。 (一) 时钟频率的提高:
ARM7处理器采用3级流水线,而ARM9采用5级流水线。增加的流水线设计提高了时钟频率和并行处理能力。5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。在同样的加工工艺下,ARM9TDMI处理器的时钟频率是ARM7TDMI的1.8~2.2倍。
(二) 指令周期的改进:
指令周期的改进对于处理器性能的提高有很大的帮助。性能提高的幅度依赖于代码执行时指令的重叠,这实际上是程序本身的问题。对于采用最高级的语言,一般来说,性能的提高在30%左右。
1。loads 指令矛n stores指令
指令周期数的改进最明显的是loads指令和stores指令。从ARM7到ARM9这两条指令的执行时间减少了30%。指令周期的减少是由于ARM7和ARM9两种处理器内的两个基本的微处理结构不同所造成的。
(1)ARM9有独立的指令和数据存储器接口,允许处理器同时进行取指和读写数据。这叫作改进型哈佛结构。而ARM7只有数据存储器接口,它同时用来取指令和数据访问。
(2)5级流水线引入了独立的存储器和写回流水线,分别用来访问存储器和将结果写回寄存器。 以上两点实现了一个周期完成loads指令和stores指令。
2。互锁(interlocks)技术
当指令需要的数据因为以前的指令没有执行完而没有准备好就会产生管道互锁。当管道互锁发生时,硬件会停止这个指令的执行,直到数据准备好为止。虽然这种技术会增加代码执行时间,但是为初期的设计者提供了巨大的方便。编译器以及汇编程序员可以通过重新设计代码的顺序或者其他方法来减少管道互锁的数量。
3。分枝指令
ARM9和ARM7的分枝指令周期是相同的。而且ARM9TDMI和ARM9E-S并没有对分枝指令进行预测处理。
以ARM9E-S为例介绍ARM9处理器的主要结构及其特点。其主要特点如下:
(1)32bit定点RISC处理器,改进型ARM/Thumb代码交织,增强性乘法器设计。支持实时(real-time)调试;
(2)片内指令和数据SRAM,而且指令和数据的存储器容量可调;
(3)片内指令和数据高速缓冲器(cache)容量从4K字节到1M字节;
(4)设置保护单元(protcction unit),非常适合嵌入式应用中对存储器进行分段和保护;
(5)采用AMBA AHB总线接口,为外设提供统一的地址和数据总线;
(6)支持外部协处理器,指令和数据总线有简单的握手信令支持;
(7)支持标准基本逻辑单元扫描测试方法学,而且支持BIST(built-in-self-test);
(8)支持嵌入式跟踪宏单元,支持实时跟踪指令和数据。