导航:首页 > 编程知识 > arm下位机编程包括哪些

arm下位机编程包括哪些

发布时间:2023-04-01 00:26:29

1. 什么是ARM编程

ARM编程就是针对ARM处理器指令的编程,
也就是嵌入式开发,现在ARM支持汇编、c、
c++等语言。

2. 现在学ARM机编程学哪种好

1,基于ARM芯片的linux操作系统的开发,这是所有ARM开发中最简单的。由于参考资料齐全,因此新手一般从这里入手。在Linux环境下开发,其实不需要特别懂得ARM,只要精通C语言,了解Linux的系统编程接口就可以了。一般大学生只要有1年的实习机会,都可以学会。
2,真正学习ARM芯片的软件编程,主要是指学会ARM处理器指令集。目前,ARM处理器已经有多个系列,比如ARM7,ARM9,ARM11,Cortax-A8等等。更高级的ARM处理器其指令系统也都有所扩展。如果抛掉ARM汇编语言,只是使用C语言编程,那么就不算是精通ARM软件编程了,顶多算是精通C语言编程。如果要精通ARM汇编编程,就不是一件容易的事情了。首先你至少要明白每种不同的ARM芯片其汇编指令到底有哪些不同。在不同的软件功能要求下,如果使用特定的汇编语言来优化软件速度。比如,一个解码JPEG图片的软件,如何针对ARM9E芯片和ARM11芯片优化其解码算法?你要解决这个问题,至少你得知道JPEG图片如何解码。此外,如果一个软件要解码MP3音频,那么又该如何优化呢?你至少得懂得MP3的解码算法吧?学习ARM软件编程的主要任务就是把现有的算法用ARM芯片来实现最优化。否则没必要专门学习ARM编程。

3. arm嵌入式学习基础

嵌入式学习应该怎么学,是否应该上培训,如何权衡?(转自csdn)
嵌入式应该怎么学?
嵌入式的基础大概可以分三块:操作系统及语言、应用处理器(arm等)、外围电子设备。常用的语言是c

、c++功能的编程是c,界面编程用c++。为什么操作系统和语言放在一起呢?语言是一系列的命令,而这

些是建立在操作系统基础上的,对操作系统越了解,代码就更加的高效简捷,语言就是对操作系统的命令

的重新组织。处理器,即单片机的51或凌阳系列或者现在流行的arm系列,单片机系列与arm系列分别在低

端和高端市场占有较大的份额,学习入手时只需研究一种就可以。外围电子设备,即是控制的目的设备,

通过编程告诉处理器怎样给他们信号,不同的公司由于性质不同,控制的目的设备也不同,在这方面要有

一定的电路基础,不过不是重点,到了公司硬件工程师会给你图纸的,能看懂图纸就可以。

学习方法如下:
基础的不应该涉及太多,要学会化繁为简、步步为赢,从能够接受的入手学习有兴趣也有动力。

计算机学科最好是实践为主导的进行学习,当然,前提是你应该这以前接触过计算机,最起码会一种语言

或学过计算机原理。现在很多高校毕业的大学生的基础其实不错,该了解的都了解了,就是没有深入的。

如果是这样,基础不是问题。你学骑自行车有所谓的基础吗?其实就是骑着骑着就会了。
1 如果想入行开始进行学习,那么先不要考虑培训,从书店找一本类似从零开始学习的书籍(别一下买一

大堆,会后悔的),先读一下,体会一下这一行究竟是做什么的,什么样的流程,用什么样的方法做产品

。人员组织如何,自己适合做哪项(如硬件(fpga)、信号算法(dsp)、软件(linux底层开发)),推

荐linux操作系统底层或应用开发,这方面比较适合一般的软件和电子专业大学生。看不懂也没有关系,

大概了解就可以了。

如果看的有感觉,认为自己可以做,那么还等什么?入手吧,不要强调基础或者理论,大家都是干出来的

,不是学出来的。
2 找个便宜的开发板,现在的开发板掉了很多价,学习成本也降低了许多。找那种书店和网上成熟资料最

多的,从440bx到现在2410、2440,总之哪种资料多就买哪种,不要去追流行,老板子只要资料充足也可

以的。别迷信什么地方能够教你做板子,让你做也只是当个焊接工,不知其所以然的。别想一口吃个胖子

,找准入手点,坚定的去行动,不断的去尝试。这个阶段很重要,自己搭建实验环境,一个个的做实验,

对许多的东西不了解,困难是很多的,但不是不能解决,网上该板的论坛和群很多的,许多人在自学。有

问题可以在那里发问。但更重要的是,要学会如何利用搜索引擎,利用书店、图书馆的资料来解决问题,

学会自己解决问题,这是生存的一项重要技能,没有什么问题是解决不了的。
在这个过程中不断的尝试,照着板子的资料,利用bsp(板级开发包)和芯片资料,把手头的实验一个个

的做完,可能第一个实验要做一个月或更长,但是在此期间学到的东西却是价值非凡,因为你将学会了如

何利用各种渠道独立解决问题。
在此期间要注意几点,一是不要随便的买太深入的书籍,去钻研高深的东西而忘记了眼前该做的事情,二

要提高e文的阅读能力,芯片资料多是e文的,周立功公司翻译过一些,利用电脑通过中英文对照进行学习

,每天坚持看几页,时间长了就可以直接看e文资料了。三是不要心浮气躁,遇到困难就停下什么都不做

,遇到困难就绕开,再往前走那时的问题就不是什么问题了。

学习就是这样,不断的行动,不断的尝试,渐渐的学会了自己解决问题,就学会了如何自学。有了这样的

态度,没有基础,理论差都不是什么问题了。把开发板的实验做一遍,再去书店看看,很多的书就像白开

水一样,翻翻而已。国内的嵌入式培训也就到此为止了,所谓的项目,并不比你在开发板上做的难多少。

这个时候,你已经有了一定的基础了,可以找工作了,工作中学习更加有目的性,是个很好的选择。如果

还想往深研究,可以选择一项自己感兴趣且能够找工作的方向,如操作系统、网络电话、路由、防火、智

能建筑、消费电子等等,根据自己的情况进行选择,不可能都学的。

3 选择好一项,进行深入的研究,自己去找相应的外围设备,利用自己的开发板去做产品吧。永远都是实

践第一。
上面没有提到linux内核或者网络知识,也几乎没有提到编程的重要性,他们当然很重要,但是在基础的

学习中,不建议从它们开始入手,否则造成的局面不是陷入泥潭,就是学了半天不知道在学什么,使学习

的积极性受挫。编程是随着对编程的环境和目的了解而提高的,任何语言都是工具,因此有了一点基础后

不必专门学它,随着实践会不断提高语言的应用能力。linux内核的掌握更不应该是初学者该做的,开始

学习就是要利用它,涉及一些初步的就可以,随着编程遇到的问题以及解决的过程,会不断的深入认识操

作系统,也有人专门研究,意图更加贴近产品的应用,那至少应该是有目的的研究。网络、协议、音频、

视频、usb以及其他的应该在有了一定的基础之后,有目的的进行研究,也非初学者直接涉及的。还有就

是人们常说的数据结构,专门学他你会成为教授的,串、链表、堆、栈、树等什么时候看到了不懂拿来参

考书看看就行,找到你用到的知识,而非专门研究。做什么事一定要知道你眼前的目的是什么,别掉进研

究的苦海中。

综上所述,大概学习分三步,几乎所有的嵌入式培训都只能带你道第二步,就是大部分时间重申基础,最

后在教你在板子上做几个实验,和你自己买的板子和做实验是一模一样的,就业也只是推荐就业,和自己

找差不多。高级专业应用的课程都放在了短期培训,时间大概三天或半个月。费用从几千到一万多,培训

的状况就是这样。如果自己买板子及外围的话,加上书籍和上网,费用大概是1000-2000左右,自学到有

工作能力的周期大概是3个月到半年左右。如果有基础的话,一两个月就可以。就业尽两年还可以,以后

就要看水平了,能够适应环境独并且能够立解决问题的人,就是人才,如果你是人才,那就没什么可怕的

了。

如果你一定要培训的话,就应该知道所有的培训都只能带你入门,就业什么的要是能够签订就业协议的话

,也可以考虑。因为任何培训机构出来,除非你的自学能力十分的强,否则找工作仍然是个很大的问题。

去培训机构之前要用一两个月的时间自己学习些初步的知识,好让自己有鉴别能力。与培训机构的咨询师

面谈的时候,他们说的话基本不要相信,一定要去找找过去学完的学生问问,他们能教道什么程度,就业

如何解决的。他们才说实话(但别找到他们的托,嘿嘿)。当然,也不一定那么可怕了,只是有些问题要

注意一下,不可没有防人之心。

写了不少,其中许多废话,文笔也差,望大家见谅。上面写的就是我大四之后自学嵌入式的一些感触,走

了许多弯路,在网上看到很多的朋友想入行,现在的就业压力都很大,大家都挺不容易的,把我的建议写

出来,希望大家能够走好自己的职业之路

4. ARM汇编语言由哪些指令组成它们之间的区别是什么

机器指令能被处理器直接执行,而汇编指令、伪指令和宏指令不能。机器指令包括ARM指令集和Thumb指令集 。

伪指令是在源程序汇编期间,由汇编编译器处理。其作用是为汇编程序完成准备工作。

宏指令在程序中用于调用宏,宏是一段独立的程序代码;在程序汇编时,对宏调用进行展开,用宏体代替宏指令。

5. 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语言更接近硬件而已。

阅读全文

与arm下位机编程包括哪些相关的资料

热点内容
露三点的欧美电影 浏览:461
问卷网数据库设计 浏览:879
儿子与后妈的韩国电影 浏览:741
保证java语言可移植性的特征 浏览:481
还有哪些能玩的网络游戏 浏览:520
pe可以导入哪些类型的媒体文件 浏览:550
stm32如何烧录程序 浏览:722
in旧版本 浏览:349
粤政易手机版接收的文件在哪里 浏览:209
三及港片电影 浏览:561
国外同性大尺度电影 浏览:166
90版本巨龙卡片 浏览:708
不需要付费就能看的免费在线观看视频网站网页 浏览:92
猛鬼街一共有多少部 浏览:924
重生推母 浏览:36
现代与民国来回穿梭 浏览:199
女主是娼妓的po 浏览:830
法国啄木鸟电影有多少 浏览:832
坐在肩膀上的鬼片 浏览:694
pftrack保存的文件在哪里 浏览:371

友情链接