常见的嵌入式linux学习和如何选择ARM芯片 问答
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
常见的ARM嵌入式学习问答
—合嵌电子科技有限公司
1. ARM嵌入式是学习硬件好还是学习软件好?
答:
学习硬件好还是软件好,如果你能精通其中的任何一个,都好!
学硬件,绝大多数人大学毕业后都可以做硬件设计,这时候大家是一个差不多的水平线上,所以感觉上好像没有门槛!但是电子产品设计的难点是稳定性,尤其是电磁兼容性的设计。N年之后,也许三年,也许五年,也许八年,总之年数不等,这时候水平上就有了高低之分:有些人设计出来的电子产品就是不怎么出问题,有些人设计出来的电子产品就是一直有问题。硬件的设计,是设计经验和理论再学习的结合:电磁场与电磁波、微波与天线、高速信号处理、信号完整性、PCB布线的实际措施、系统电磁兼容的处理措施、电路调试的能力与解决电路故障的能力,等等,
学软件,很多人大学毕业后都无法从事这个设计工作,因为大家在学校的努力程度不同,很多人实际上还没有进入编程的门槛内。但是进入门槛后,绝大多数人的水平会处于差不多相同的水平线上,极个别的水平高一些,体现在程序的稳定性和程序运行效率上。软件的设计,主要体现在这两点
单片机的硬件和软件,因为主频太低,很少出现稳定性的问题,软件的工作量也小,很多单位的软硬件都是一个人做。但是到了主频很高的32位微处理器后,硬件的稳定性特别容易出问题,功能复杂度增大,硬件设计的难度增加了,软件编程的工作量加大了,所以多数公司的软件和硬件开始有多人分开设计。树叶有专攻!大树叶负责系统设计,各种小树叶有的做硬件设计,有的做软件编程。宗旨就是发挥各自的强项!完成最后的系统功能设计
另外一个需要强调的是,学习硬件还是软件,还要看个人对硬件感兴趣,还是对软件感兴趣?
2.嵌入式软件和硬件,哪一种职位待遇更高?或者说,在设计中哪一个更重要?
答:
刚进入职场时,一般来说嵌入式软件的待遇会稍高一些。因为之前说了,很多人没有进入软件设计的门槛内。但是软件毕竟是青春性的职业,随着年龄的增加和设计经验、设计能力的增加,硬件设计的待遇水涨船高,慢慢会与软件职位的待遇相同甚至高于软件的职位。
至于谁更重要,硬件相当于躯体,软件相当于血液,缺一不可,没有谁更重要的说法。如果从产品的角度看,硬件更重要一些。因为在产品中出了问题,硬件的稳定性问题基本上只有找高手重新设计,如果是电路原理上的问题还可以直接增加或者减少元件来解决。软件上不稳定问题基本上可以通过修改程序设计并重新下载程序到芯片中来解决。如果从设计的角度看,系统设计更重要,因为系统设计要求懂一些软件的基本设计,更要对硬件设计有相当的造诣,这样他才能把握住系统设计的要求,正确提出设计方案。
3.学完51单片机后,想买ARM开发板继续学习,是买ARM7还是ARM9?
答:
如果你的单片机编程能力比较强,建议直接买ARM9的板子,跑linux系统的,学
习嵌入式软件编程。
如果你的单片机编程能力比较一般,建议先购买CORTEX-M3的开发板,比如盘古STM32开发板和盘古LPC1768开发板,先学习32位ARM的编程(支持轻量级的操作系统,比如UCOS),锻炼实际的编程能力。有了一定的编程能力后,再买ARM9的板子,跑linux 系统的,学习嵌入式软件编程。
总之就是多动手,遇到问题多了慢慢积累起来,就能够融会贯通了!
4.到底是学习哪种内核:ARM7、CORTEX-M3、CORTEX-M4、ARM9、CORTEX-A8
还是CORTEX-A9?
答:
首先说明基于ARM7内核的芯片现在已经很少了,大部分公司都陆续停产了。而且价格没有优势,主频也不高,只能跑UCOS或者Uclinux系统。
CORTEX-M3内核的芯片是目前用量比较大的32位ARM芯片,主频约70MHz到120MHz之间,比如STM32F103、LPC1768等型号。CORTEX-M4内核的芯片支持DSP指令功能,主频100MHz到200MHz之间,比如STM32F4等型号。这两种内核的芯片可以基于库函数进行编写程序,或者基于寄存器直接编写程序,可以跑轻量级的操作系统,比如UCOS等。
ARM9内核的芯片,是目前市场上运行嵌入式操作系统(linux、wince)主流的32位ARM芯片,主频约180MHz到500MHz之间。
CORTEX-A8和CORTEX-A9内核的芯片,可以运行多种嵌入式操作系统(linux、wince、android)。Cortex-A8处理器的速率可以在600MHz到超过1GHz的范围内调节,能够满足那些需要工作在300mW以下的功耗优化的移动设备的要求。Cortex-A9处理器的速率可以到1GHz以上,支持多核。
如果是初学者,学习库函数编程的或者寄存器编程的,建议学习CORTEX-M3内核的芯片;如果是学习linux的嵌入式软件编程,建议学习ARM9内核的芯片;如果是学习Android 的嵌入式软件编程,建议学习CORTEX-A8和CORTEX-A9内核的芯片;
5.ARM芯片如何选择型号?
答:
ST公司:基于CORTEX-M3内核的芯片STM32F103、基于CORTEX-M4内核的芯片STM32F4,是目前最流行的CORTEX-M3内核的芯片。
N XP公司:基于CORTEX-M3内核的芯片LPC1768、LPC1788、基于CORTEX-M0+内核的芯片LPC800系列,ARM9内核的芯片LPC3250,在设计中的认可率都比较高。
ATMEL公司:一直采用ARM核心技术,最高也只采用到ARM9技术,旨在打造稳定的工业级芯片,不追求性能上的卓越,但求性能更加的可靠的工业级芯片。能克服各种恶劣的环境,及各种干扰,功耗低,让工业控制能更加稳定有条不紊的进行。现在的ARM9内核芯片有AT91SAM9260、AT91SAM9263、AT91SAM9G45等
德州仪器TI:一直致力于研究处理速度更快,功能更加强大的芯片。更是采用ARM 最新技术Cortex A8来提升芯片的性能。使得一些芯片的处理速度与X86架构的MCU不分伯仲。但是最近OMAP系列芯片据说被裁了,可能会退出市场。这让选择TI芯片的人心里有点害怕!而且,TI的芯片更新速度太快,让选择他们芯片的厂家也无所适从。现在的