浅谈嵌入式ARM开发的前世今生

标签: | 发表时间:2018-11-20 17:05 | 作者:
出处:https://community.arm.com

在这个科技高度发达的今天,相信很多在校学生停留在51单片机上的种种应用开发,做一个小玩意,获得个好名次,这在无形中增加了对单片机的理解和认识,对以后的工作奠定雄厚的基础:汇编语言的使用,可以让你在 ARM Bootloader的开发上如鱼得水;各种外围器件的使用,可以让你在应用开发中如沐春风。但是,如果仅仅停留在这个阶段,或者说停留在低端单片机的开发应用上,拿到手的“金子”也有限,这就需要你踏入更加广阔的电子领域--- 嵌入式开发。现在最流行的是“ ARM+ Linux”构架,如果在这条路上你走的比较远,那么,这对你的生活质量的提高也大有帮助。

  由于“ ARM+ Linux”构架的 嵌入式开发范围很广,如果想全部掌握,需要懂 Linux使用、Linux内核、Linux驱动、汇编语言、C语言、C++、PCB制作、硬件电路设计……,我一直以为贪多未必是好事,所以建议进行 嵌入式ARM的开发 分为两个方向:一、偏向硬件,二、偏向软件。

  首先来说下偏向硬件。在这个方面,要从硬件设计入手。

  第一、设计最小系统板:由于ARM的启动方式和单片机有很大差异,建议搞一个Flash,SRAM或SDRAM、CPU、JTAG、和复位信号的小系统板,留出扩展接口。这时,你可以参考一些成熟的设计,来进行设计,像EEPW论坛中STM32等等都可以。如果使最小系统能够正常运行,你就是很厉害的,毕竟在这方面硬件设计会有一些难点,比如内存等、长线等等。

  第二、 写启动代码,ARM启动会使用Bootloader,这时可以参考一些Bootloader介绍,自己琢磨写出简单的Bootloader,完成一小任务,这会使你的信心大大增强。在设计Bootloader时,你的汇编功底会让你左右逢源。

  第三、仔细研究你所用的芯片的资料,画外接板,进行功能的扩展,将你之前的单片机资源可以搬到这里,通过写相关的裸板程序,可以实现从单片机向嵌入式ARM方向的转变。

  第四、多学习针对该芯片的DEMO板原理图。先将原理图消化,对该芯片的设计做到心中有数,对常用设计达到随手画出。

  第五、学习多层板的绘制和布局、走线等。布线时要先布数据地址线,和需要保证的高速线;当涉及的CPU速度达到很高或者信号的频率很高时, PCB板上的走线都要看成传输线。传输线有其特征阻抗做好阻抗匹配和防干扰处理。在设计四层板时,通常外层走信号线,中间两层分别为电源和地平面,这样一方面隔离了两个信号层,更重要的是外层的走线与它们所靠近的平面形成称为"微带"(Microstrip) 的传输线,它的阻抗比较固定性能得到保障。

  如果板子资源比较多,需要用6-10层板进行绘制,那么相应的层有推荐设计,可以参考 http://forum.eepw.com.cn/thread/233107/1【PCB资料分享】四层六层板设计。

  如果你能完成以上五个基本的步骤,那么你已经踏入了嵌入式开发的硬件世界,以后的发展,就考自己的修养了。

  说完硬件,理所当然的要说说偏向软件方面了。

  据我所知,偏向软件的嵌入式开发可以分为以下三个方面:Bootloader设计,嵌入式驱动开发和嵌入式应用开发。如果嵌入式跑现在流行的安卓系统,也可以把安卓开发分配到嵌入式应用开发吧。

  首先说下Bootloader开发,前面说道,嵌入式的启动和单片机的启动有所不同,需要有个Bootloader引导,在Bootloader中实现一些硬件的初识和引导嵌入式进入Linux系统或者C语言Main函数,总而言之,这个Bootloader是个很重要的内容,如果想在这方面进行发展,需要有雄厚的汇编语言设计功底,需要对ARM内核的工作机制非常了解,相比硬件设计来说这个有点难度,毕竟有些玩意是需要自己慢慢琢磨的。

  现在我们常听说的就是嵌入式驱动开发,工资待遇也是杠杠的!相信很多人也想从事这方面的工作或者正在向这方面前进。那么恭喜你,只要有足够的毅力,月薪几W的工作就在你面前,但是在这之前,需要经历层层的磨练:Linux内核机制,Shell编程、Makefile规则,硬件数据手册和电路连接Linux驱动工作流程,简单应用程序的编写(一次测试驱动)……不过有牛人说过,在嵌入式驱动开发的路上,要么登上山顶,要么滚进深渊。据我所知,在一家公司里,做驱动开发的经常是做应用开发的1/5---1/8,足见其功能。

  对于应用开发,相信大家都很愿意去做,只要活得驱动的接口函数,明白其中道理,有足够的时间编写、调试、完善和优化代码,你就是一名优秀的嵌入式应用开发工程师。不过基于Linux的图形界面开发,现在变得火热:像QT编程了、安卓开发了等待都脱离了Linux的形式,但是,这又给码农们有了新的发展空间,据我所知,工资待遇也是很客观的

  最后用一个图片来总结下嵌入式开发的前世今生吧:

相关 [嵌入式 arm 开发] 推荐:

浅谈嵌入式ARM开发的前世今生

- -
在这个科技高度发达的今天,相信很多在校学生停留在51单片机上的种种应用开发,做一个小玩意,获得个好名次,这在无形中增加了对单片机的理解和认识,对以后的工作奠定雄厚的基础:汇编语言的使用,可以让你在. ARM Bootloader的开发上如鱼得水;各种外围器件的使用,可以让你在应用开发中如沐春风. 但是,如果仅仅停留在这个阶段,或者说停留在低端单片机的开发应用上,拿到手的“金子”也有限,这就需要你踏入更加广阔的电子领域---.

针对 ARM 平台的 JDK 8 开发者预览版发布

- - 开源中国社区最新新闻
甲骨文今天发布了针对ARM平台的JDK 8开发者预览版, 这意味着开发者可以在ARM设备上使用JDK 8了. 该版本除了包含JDK 8的新功能外,还加入了开发者期待的对GPU硬浮点的支持,以及一个优化的JavaFX. JDK 8 ARM版支持如下配置:. ARM v6/7架构(硬浮点). ARM v7架构(浮点体系结构、little endian).

树莓派和其他 arm 开发板的本质区别 - 简书

- -
我第一次听说树莓派时,并没有对它产生任何兴趣,因为对我来说这并不是一款新产品. 在更早之前,我玩过 arm11 的开发板(S3C6410 系列),虽然和树莓派还是有区别的,比如体积更大、没有 HDMI 接口、自带触摸屏、价钱比树莓派稍贵等等,但我当时认为没有本质的不同,甚至性能和性价比上也不相上下.

嵌入式环境搭建之开发板软件环境

- - CSDN博客推荐文章
转载请注明出处:http://blog.csdn.net/ruoyunliufeng/article/details/44995039. 开发板软件环境:uboot(用官方给的,后续我会考虑分析移植).                             内核(本来想用官方的降低难度,但给的不支持nfs,简单更改下吧,后续考虑移植精简新内核).

Linux及Arm-Linux程序开发笔记(零基础入门篇) - 一点一滴的Beer - 博客园

- -
一、Arm-Linux程序开发平台简要介绍. 1.1程序开发所需系统及开发语言. 二、Linux开发平台搭建. 2.2安装Linux虚拟机. 2.3虚拟机的一些基本配置. 三、Fedora-linux系统. 3.1控制终端的基本操作命令. 3.2.2 Qt库及Qt界面设计软件. 四、使用Eclipse CDT开发Linux程序.

ARM芯片介绍(转贴)

- DBLobster - 阮一峰的网络日志
目前,几乎所有的智能手机和MID,使用的都是ARM芯片. 这种芯片相比Intel公司的芯片,指令集较简单,所以功耗低、成本低,特别适用于移动设备. 随着性能不断提高,它已经开始装备上网本和平板电脑. 它的名字ARM,指的是英国芯片设计公司ARM Holdings. 这家公司自己不制造芯片,专门授权其他公司制造.

阮一峰:ARM的历史

- tigerwang - cnBeta.COM
本周,微软公司宣布,下一版Windows将正式支持ARM处理器. 这是计算机工业发展历史上的一件大事,标识着x86处理器的主导地位发生动摇. 目前在移动设备市场,ARM处理器的市场份额超过90%;在服务器市场,今年(2011年)就会有2.5GHz的服务器上市;在桌面电脑市场,现在又有了微软的支持. 难怪有人惊呼,Intel公司将被击败.

Ubuntu下赌ARM服务器

- Tim - Solidot
今日无数手机平板使用的低能耗处理器能否撑起未来的服务器市场. Canonical计划推出支持ARM架构的Ubuntu服务器版本. Ubuntu Linux并不是x86服务器市场的重量级选手,Red Hat才是. 但通过与ARM合作打造ARM服务器,Canonical正努力赢得更多市场份额. 计划于2011年10月发布的Ubuntu Server 11.10,将同步推出支持x86、x86-64和ARM架构的版本.

ARM与x86–ATOM的前生今世

- jin - 弯曲评论
【陈怀临注: 我会在最近的一段时间,with some reasons,比较深入的去学习和了解Cortex-A9. 这也是我在弯曲评论会开始多谈谈ARM的原因. 我个人以前是对IXP或者说ARMV5比较熟悉. Cortex-A9是ARMV7. Sailing(http://blog.sina.com.cn/sailingxr)关于ARM的文章相当不错和专业.

ARM发布Cortex-A7处理器

- tinda - Solidot
手机先生 写道 "ARM公司宣布了新的Cortex A7处理器,声称是迄今最节能的处理器,与Cortex A8处理器相比,性能提升但功耗只有后者的1/5. ARM表示,2013-2014年期间,新款Cortex A7将用于100美元以下的入门级智能手机,其性能表现相当于目前市售500美元级别高端智能手机.