1. 什么是ARM编程
如果说,“嵌入式”是2001年电子工程师谈论得最多的词之一,2002年谈论得最多的一个词就是“ARM”。究竟什么是ARM呢,他是英国一家电子公司的名字,全名的意思是Advanced RISC Machine。该公司成立于1990年11月,是苹果电脑,Acorn电脑集团和VLSI Technology的合资企业。Acorn曾推出世界上首个商用单芯片RISC处理器,而苹果电脑当时希望将RISC技术应用于自身系统,ARM微处理器新标准因此应运而生。
80年代末90年代初半导体行业产业链刚刚出现分工,台积电,联电等半导体代工厂正悄悄崛起,美国硅谷中的一些fabless公司也如雨后春笋一样涌现出来,所谓的fabless公司自己设计芯片,但是生产过程则包给台积电等代工厂生产。而ARM更是为天下先,12年前首创了chipless的生产模式,即该公司既不生产芯片,也不设计芯片,而是设计出高效的IP内核,授权给半导体公司使用,半导体公司在ARM技术的基础上添加自己的设计并推出芯片产品,最后由OEM客户采用这些芯片来构建基于ARM技术的系统产品。这种方式有点象通信行业的高通和半导体行业的RAMBUS,他们站在了半导体产业链上游的上游。12年前成立的ARM可能面临着很大风险,因为没有人知道这条路能不能行得通,但是现在的事实已经证明,ARM走了一条没人走过,却是正确的道路。,作为附加产品,他还让中国的行业人士从这个窗口认识到了英国的电子公司,ARM的成功带动了英国的chipless公司的发展。
因为ARM的产品是IP Core,没有任何物理意义上的硬件或者软件实体,所以只能在中国注册成为“咨询”公司,尽管咨询只是其业务中很小的一块。ARM的核心业务是销售芯片核心技术IP,目前全球有103家巨型IT公司在采用ARM技术,20家最大的半导体厂商中有19家是ARM的用户,包括德州仪器,意法半导体,Philips, Intel等。20大巨头中唯一没有购买ARM授权的是Intel的老对头AMD,因为Intel便携式处理器采用的是StrongARM,而AMD则收购了Alchemy公司与之抗衡,采用的是MIPS结构。
微处理器核是ARM技术的重中之中,目前面向市场的有ARM7, ARM9, ARM9E-S,StrongARM和ARM10系列。ARM专利技术收入主要来自两个方面,一个是专利授权费用,客户如果采用ARM专利时一次性付给ARM的费用; 另一部分是按照一定比例收取客户产品的专利使用费,即客户每卖出一片芯片,就收取同等比例的费用。这两项收入占公司总收入的70%。目前在中国已经有中兴通讯,中芯国际和上海华虹购买了ARM的内核授权,生产自己的芯片。ARM中国方面的业务的其它重点还在于对芯片设计公司(fables)的支持,开展大学计划等。另外ARM还授权科汇宏盛(Impact)和北京旋极为开发工具的授权分销商2002年的销售额增长在三位数(100%)以上。
一般来说,ARM的合作伙伴分为三种:
1. EDA伙伴计划,融合了ARM在线系统设计、可重复使用IP生成和IP模型等方面的专长与领先EDA工具厂商的专业特长,开发SoC产品。
2. ARM技术共享计划,为ARM与外部设计服务公司合作关系的扩展和规范化结果,现在已经有2900多工程师成员。
3. 制造商计划,使新兴市场的OEM能分享ARM处理器技术,用于设计和制造先进的SoC解决方案。
北航出版社和清华出版蛇出版了几本关于ARM技术方面的书籍,并且还会陆续出版更多,质量更高的书。同时ARM中国还计划授权各合作伙伴,开办ARM技术培训班,并为合作伙伴的老师提供培训,另一方面,也将和国内大学开展大学合作计划,加大ARM技术推广和普及的力度,帮助中国的电子工程师迅速和国际接轨,并掌握最新的电子设计技术。
总之,ARM是英国全球着名的32位嵌入式RISC芯片内核的设计公司,也是ARM的产品商标,其产品ARM嵌入式内核已被全球各大芯片厂商采用,基于ARM的开发技术席卷了全球嵌入式市场,已成为嵌入式系统主流技术之一。旋极公司作为嵌入式业内的皎皎者,锐意创新,致力于ARM技术的、开发应用和推广,再一次走在了同行的前列,率先成立了ARM的研发中心,并在全国开办了基于ARM的嵌入式系统开发应用培训。2001年12月,旋极正式成为ARM授权中国唯一指定培训中心(ATC)和其系列产品代理商。
ARM开发的32位CPU核,全球厂商都可以获得授权生产ARM芯片。而且价格出乎意料得便宜,比如做网络应用的4510只需45元人民币,这样低端产品可以采用8051等8位单片机,而中高端产品采用ARM是非常明智的选择。现在很多人开始学习ARM,开始都是买ARM实验板和JTAG仿真器。
2. ARM linux就是编程吗
其实兴趣是很关键的,对于一般人来说,要干一行爱一行。
要想做到这一点,你必须喜欢自己的职业,把写程序当成爱好,好的程序也是一种艺术。
ARM linux是编程序的非充分非必要条件。也可以说没有太大关系。
ARM是体系结构,同类词有x86,x86-64,SPARC,SHARC,MIPS,PowerPC
linux是操作系统类型,同类词有Windows,DOS,UNIX……
编程,是计算机程序设计的通俗名称,任何体系结构下都需要编程。
有些程序不需要操作系统。其他的给你说太多了你也不懂,免了。
对于强人来说祖国需要什么就喜欢什么……
3. ARM程序设计
你的问题让人无法回答 ,给出的条件不够,至少说你用的ARM是什么型号呀
硬件描述的不完整,键盘是怎么连接的矩阵还是直连的,地址是什么
数码管是怎么连接的,共阳还是共阴的 ,是直接连在地址上还是用其他数字电路驱动的,秒表是软件实现还是硬件实现
4. arm编程与C语言的编程区别和方法
汇编主要是要了解CPU指令及用法,常说的是PC机的x86汇编,指令是x86的复杂指令集。
arm汇编是arm的精简指令集,比x86容易学,程序格式倒是和x86汇编差不多。
C语言ARM的和x86的差不多,除了对硬件寄存器操作不同,其它语法和流程都一样。
arm汇编程序每一行是指定arm core执行一条指令,每条指令都是硬件相关。
如:LDR R3, #1 ;用LDR指令将数值1放入R3寄存器准备参与运算
C语言与arm指令无关,只与逻辑运算有关,指定硬件地址的操作才与硬件相关;
如果用arm编译器来编译,每行可能编译出1到多条arm指令。
如:i++; //变量 i 递增1等效于LDR R3,#1 ;
用LDR指令将数值1放入R3寄存器准备参与运算ADD R2, R2, R3 ;
用ADD指令将R2、R3寄存器里的数值相加后放回R2寄存器以上等效汇编的R2、R3寄存器只是为了举例,C语言不像汇编,不需要由程序员指定用哪个寄存器参与运算,编译器编译时会根据程序结构自动判断选择。
无论是c语言还是汇编语言,编译器编译后的结果是机器执行码,很多人因为汇编语言比较难懂及指令相关,所以以为它就是机器语言,其实它仍是人类设计的编写程序的语言,仍需要编译器编译成机器码才能执行,它只是比C语言更接近硬件而已。
5. 怎样快速学习ARM编程
如果有条件的话,第一步就是弄到一块开发板。
你有C51的基础,学习应该很快,你找到相应的datasheet,先熟悉GPIO、AD转换、PWM、SPI、串行通信等功能,然后写一些小例程,实现一些综合功能,最后学习一些操作系统论,移植操作系统,这才是ARM的精髓。
6. 51单片机编程和arm裸机编程有什么差别
arm也可以直接祼跑,这是没问题的,比如写一段代码实现一个端口上的led闪烁,但要注意这样几件事情,
启动代码的映射
堆栈初始化
时钟初始化
这几件事,有的芯片需要做,有的不需要,但你应该保证这些事情都是确定的,如果写C代码,一般在启动代码中都做好了,所以你不需要管,要用汇编,那就要你管了。
另外,端口输出也不像51,简单的写0就完了,可能要配置端口方向,打开端口的工作时钟。。。
结论,ARM本质上也是一块芯片,直接用汇编当然可以用,但它比51的功能多太多了,或者说相对于51,它太复杂了,用汇编太容易出错,还是用C的好些。
7. ARM用什么写程序,是C++吗,还是C
一般ARM的底层开发还是用C语言和汇编语言多一些;如果有操作系统如Linux和WinCE等,那么底层还是用C和汇编,上层应用软件一般使用C++或Java
8. arm架构下有没有什么编程语言
linux -- gcc (android就是这个开发的)
IOS -- object C
Windows -- VC
9. PLC和ARM 单片机哪个好啊 哪个好学哪个对编程要求高ARM主要就是编程吗
这两个东西一般用于不同的领域或者层次,PLC主要对强电进行控制,工业用的多,民用几乎没有,PLC是控制器;ARM是处理器,主要用于算法,操作系统,应用程序。
比如说全部在工业控制中,PLC则充当脊髓等低级神经中枢,而ARM处理器则对应是大脑。ARM可以控制PLC的运转,通过传感器收回的数据,计算后对PLC控制对象的临界值进行调整,而PLC则通过ARM约束的临界值对电机汽缸等进行操作。
就这两者的学习而言,PLC采用梯形图,相对结构比较简单,较容易上手,而ARM则集合了软硬件的工作,最初的硬件设计需要考虑电源,包括外围电源,核心电源,时钟,复位等,还要根据使用目的设计外围电路;之后还要进行基础驱动的设计,如果过于复杂的应用考虑是否挂操作系统,如果挂系统还要考虑系统裁剪移植等,后续考虑是否使用应用程序。因此ARM的工作不是一个人的事。
当然如果你想学建议先学ARM在转头看看PLC,会发现有会当凌绝顶一览众山小的感觉。
如果选择学ARM要考虑好你的方向,硬件及驱动,系统,应用程序等,切不可一起开进全部进行,否则只会最后全都不行。一样一样来。需要时间需要多练!
最后不论你走在哪方面,都祝你学有所成!
10. ARM开发编程题目
OK ,帮你搞定。