常见的嵌入式linux学习和如何选择ARM芯片问答

常见的ARM嵌入式学习问答,设计者和学习者最关心的11个问题:
1.          ARM嵌入式是学习硬件好仍是学习软件好?
2.          嵌入式软件和硬件,哪种职位待遇更高?或者说,在设计中哪个更重要?
3.        学完51单片机后,想买ARM开发板继续学习,是买ARM7仍是ARM9?
4.        究竟是学习哪一种内核:ARM七、CORTEX-M三、CORTEX-M四、ARM九、CORTEX-A8仍是CORTEX-A9?
5.        ARM芯片如何选择型号?
6.        学习ARM主要学习啥?
7.        是先学习基于操做系统的应用层程序的编程,仍是先学习基于操做系统的驱动程序的编程?
8.       为什么要学习linux,而不是其余的嵌入式操做系统?
9.        必定要学习GUI界面设计吗?
10.        买哪一种ARM开发板?
11.        电磁兼容号称黑色艺术,请问如何学习硬件设计中的电磁兼容设计?

1.        ARM嵌入式是学习硬件好仍是学习软件好?

     答:

         学习硬件好仍是软件好,若是你能精通其中的任何一个,都好!
       学硬件,绝大多数人大学毕业后均可以作硬件设计,这时候你们是一个差很少的水平线上,因此感受上好像没有门槛!可是电子产品设计的难点是稳定性,尤为是电磁兼容性的设计。N年以后,也许三年,也许五年,也许八年,总之年数不等,这时候水平上就有了高低之分:有些人设计出来的电子产品就是不怎么出问题,有些人设计出来的电子产品就是一直有问题。硬件的设计,是设计经验和理论再学习的结合:电磁场与电磁波、微波与天线、高速信号处理、信号完整性、PCB布线的 实际措施、系统电磁兼容的处理措施、电路调试的能力与解决电路故障的能力,等等,
    学软件,不少人大学毕业后都没法从事这个设计工做,由于你们在学校的努力程度不一样,不少人实际上尚未进入编程的门槛内。可是进入门槛后,绝大多数人的水平会处于差很少相同的水平线上,极个别的水平高一些,体如今程序的稳定性和程序运行效率上。软件的设计,主要体如今这两点
    单片机的硬件和软件,由于主频过低,不多出现稳定性的问题,软件的工做量也小,不少单位的软硬件都是一我的作。可是到了主频很高的32位微处理器后,硬件的稳定性特别容易出问题,功能复杂度增大,硬件设计的难度增长了,软件编程的工做量加大了,因此多数公司的软件和硬件开始有多人分开设计。树叶有专攻!大树叶负责系统设计,各类小树叶有的作硬件设计,有的作软件编程。宗旨就是发挥各自的强项!完成最后的系统功能设计

   另一个须要强调的是,学习硬件仍是软件,还要看我的对硬件感兴趣,仍是对软件感兴趣?

2.        嵌入式软件和硬件,哪种职位待遇更高?或者说,在设计中哪个更重要?

      答:

     刚进入职场时,通常来讲嵌入式软件的待遇会稍高一些。由于以前说了,不少人没有进入软件设计的门槛内。可是软件毕竟是青春性的职业,随着年龄的增长和设计经验、设计能力的增长,硬件设计的待遇水涨船高,慢慢会与软件职位的待遇相同甚至高于软件的职位。

     至于谁更重要,硬件至关于躯体,软件至关于血液,缺一不可,没有谁更重要的说法。若是从产品的角度看,硬件更重要一些。由于在产品中出了问题,硬件的稳定性问题基本上只有找高手从新设计,若是是电路原理上的问题还能够直接增长或者减小元件来解决。软件上不稳定问题基本上能够经过修改程序设计并从新下载程序到芯片中来解决。若是从设计的角度看,系统设计更重要,由于系统设计要求懂一些软件的基本设计,更要对硬件设计有至关的造诣,这样他才能把握住系统设计的要求,正确提出设计方案。

3.      学完51单片机后,想买ARM开发板继续学习,是买ARM7仍是ARM9?

     答:

       若是你的单片机编程能力比较强,建议直接买ARM9的板子,跑linux系统的,学习嵌入式软件编程。
       若是你的单片机编程能力比较通常,建议先购买CORTEX-M3的开发板,好比盘古STM32F103VET6开发板(软硬件所有开源:提供软件源代码,提供原理图和PCB图),先学习32位ARM的编程(支持轻量级的操做系统,好比UCOS),锻炼实际的编程能力。有了必定的编程能力后,再买ARM9的板子,跑linux系统的,学习嵌入式软件编程。
       总之就是多动手,遇到问题多了慢慢积累起来解决问题的方法,就可以融会贯通了!

5.      ARM芯片如何选择型号?

答:

  ST公司:基于CORTEX-M3内核的芯片STM32F10三、基于CORTEX-M4内核的芯片STM32F4,是目前最流行的CORTEX-M3内核的芯片。

  N XP公司:基于CORTEX-M3内核的芯片LPC176八、LPC178八、基于CORTEX-M0+内核的芯片LPC800系列,ARM9内核的芯片LPC3250,在设计中的承认率都比较高。

    ATMEL公司:一直采用ARM核心技术,最高也只采用到ARM9技术,旨在打造稳定的工业级芯片,不追求性能上的卓越,但求性能更加的可靠的工业级芯片。能克服各类恶劣的环境,及各类干扰,功耗低,让工业控制能更加稳定有条不紊的进行。如今的ARM9内核芯片有AT91SAM9260、AT91SAM926三、AT91SAM9G45等


       德州仪器TI: 一直致力于研究处理速度更快,功能更增强大的芯片。更是采用ARM最新技术Cortex A8来提高芯片的性能。使得一些芯片的处理速度与X86架构的MCU不分伯仲。可是最近OMAP系列芯片听说被裁了,可能会退出市场。这让选择TI芯片的人内心有点惧怕!并且,TI的芯片更新速度太快,让选择他们芯片的厂家也无所适从。如今的CORTEX-A8内核芯片有AM335八、AM3359等。

SAMSUNG半导体: SAMSUNG生产ARM内核芯片的超高性价比是无人能敌的。正由于这点,其芯片也获得不少厂家的亲睐。例如S3C2440性价比极高,通常消费电子产品中应用较多,不适于在严苛的工控环境中使用。如今的ARM9内核芯片有S3C2440、CORTEX-A8内核芯片S5PV210等。

     最近总是看到很多我的和厂家宣传:使用三星的2440或者三星公司的其余型号设计为工控产品,并且我听到很多厂家说芯片的工做温度都作过老化试验,低温能够到零下40度。这个低温的实验条件只是工业级的一个强制性温度试验条件,并非在这个低温下正常工做就是工控级芯片。工控级的应用真正难以实现的是在各类恶劣电磁环境下的稳定工做,惋惜大部分芯片都不能实现这种要求。稳定性是工控级应用的第一要素,这也就是为什么ATMEL的芯片不少型号一卖就是十几年,他们的芯片作的就是稳定。好比AT91RM9200.

6.      学习ARM主要学习啥?

答:

   在硬件上主要学习ARM内核芯片的电路设计及其附加外围电路(USB、SDIO、CAN、48五、SPI、PCI等)设计以及高速数字信号处理、信号完整性设计、电磁兼容设计,说白了就是学习如何设计出高稳定的ARM系统电路。ARM内核(CORTEX-M三、CORTEX-M四、ARM九、CORTEX-A八、CORTEX-A9等)的芯片,主频愈来愈高,实现稳定性的设计难度愈来愈大。
     软件上主要学学习基于操做系统的应用层程序的编程和基于操做系统的驱动程序编程或者基于库函数的裸机程序编程等等。CORTEX-M三、CORTEX-M4内核的芯片,能够运行裸机程序或者轻量级的UCOS系统,软件上主要学习裸机程序的编程; ARM九、CORTEX-A八、CORTEX-A9内核的芯片,能够运行linux操做系统、android操做系统、wince操做系统等,学习基于操做系统的应用程序编程

7.      是先学习基于操做系统的应用层程序的编程,仍是先学习基于操做系统的驱动程序的编程?

    答:

          基于操做系统的应用层程序的编程是嵌入式软件设计的基础,它基本上能够不须要熟悉底层硬件就能够完成程序设计,因此学习嵌入式linux应用程序编程买开发板时,只要能够运行linux系统的开发板均可以。。基于操做系统的驱动程序的编程设计,要求设计人员不只要熟悉操做系统,还要熟悉底层硬件,最好有过基于寄存器的程序编写经历,对设计人员的要求比较高。

      .。。。。。。。。。。。。。。。。。。。。。。。。。。

        因此建议:先学习基于操做系统的应用层程序的编程,有了必定的编程经验后再去学习基于操做系统的驱动程序的编程设计。
相关文章
相关标签/搜索