问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何选择嵌入式ARM Linux开发的软硬件方向

发布网友 发布时间:2022-04-20 21:20

我来回答

1个回答

热心网友 时间:2023-09-27 01:01

在这个科技高度发达的今天,相信很多在校学生停留在51单片机上的种种应用开发,做一个小玩意,获得个好名次,这在无形中增加了对单片机的理解和认识,对以后的工作奠定雄厚的基础:汇编语言的使用,可以让你在ARM Bootloader的开发上如鱼得水;各种外围器件的使用,可以让你在应用开发中如沐春风。但是,如果仅仅停留在这个阶段,或者说停留在低端单片机的开发应用上,拿到手的“金子”也有限,这就需要你踏入更加广阔的电子领域—嵌入式开发。现在最流行的是“ARM+Linux”构架,如果在这条路上你走的比较远,那么,这对你的生活质量的提高也大有帮助。
由于“ARM Linux”构架的嵌入式开发范围很广,如果想全部掌握,需要懂Linux使用、Linux内核、Linux驱动、汇编语言、C语言、C++、PCB制作、硬件电路设计……,我一直以为贪多未必是好事,所以建议进行嵌入式ARM的开发 分为两个方向:一、偏向硬件,二、偏向软件。
硬件
首先来说下偏向硬件。在这个方面,要从硬件设计入手。
第一、设计最小系统板:由于ARM的启动方式和单片机有很大差异,建议搞一个Flash,SRAM或SDRAM、CPU、JTAG、和复位信号的小系统板,留出扩展接口。这时,你可以参考一些成熟的设计,来进行设计,像论坛中STM32等等都可以。如果使最小系统能够正常运行,你就是很厉害的,毕竟在这方面硬件设计会有一些难点,比如内存等、长线等等。
第二、 写启动代码,ARM启动会使用Bootloader,这时可以参考一些Bootloader介绍,自己琢磨写出简单的Bootloader,完成一小任务,这会使你的信心大大增强。在设计Bootloader时,你的汇编功底会让你左右逢源。
第三、仔细研究你所用的芯片的资料,画外接板,进行功能的扩展,将你之前的单片机资源可以搬到这里,通过写相关的裸板程序,可以实现从单片机向嵌入式ARM方向的转变。
第四、多学习针对该芯片的DEMO板原理图。先将原理图消化,对该芯片的设计做到心中有数,对常用设计达到随手画出。
第五、学习多层板的绘制和布局、走线等。布线时要先布数据地址线,和需要保证的高速线;当涉及的CPU速度达到很高或者信号的频率很高时, PCB板上的走线都要看成传输线。传输线有其特征阻抗做好阻抗匹配和防干扰处理。在设计四层板时,通常外层走信号线,中间两层分别为电源和地平面,这样一方面隔离了两个信号层,更重要的是外层的走线与它们所靠近的平面形成称为”微带”(Microstrip) 的传输线,它的阻抗比较固定性能得到保障。
如果板子资源比较多,需要用6-10层板进行绘制,那么相应的层有推荐设计,可以参考PCB资料四层六层板设计。
如果你能完成以上五个基本的步骤,那么你已经踏入了嵌入式开发的硬件世界,以后的发展,就考自己的修养了。
软件
说完硬件,理所当然的要说说偏向软件方面了。
据我所知,偏向软件的嵌入式开发可以分为以下三个方面:Bootloader设计,嵌入式驱动开发和嵌入式应用开发。如果嵌入式跑现在流行的安卓系统,也可以把安卓开发分配到嵌入式应用开发吧。
首先说下Bootloader开发,前面说道,嵌入式的启动和单片机的启动有所不同,需要有个Bootloader引导,在Bootloader中实现一些硬件的初识和引导嵌入式进入Linux系统或者C语言Main函数,总而言之,这个Bootloader是个很重要的内容,如果想在这方面进行发展,需要有雄厚的汇编语言设计功底,需要对ARM内核的工作机制非常了解,相比硬件设计来说这个有点难度,毕竟有些玩意是需要自己慢慢琢磨的。
现在我们常听说的就是嵌入式驱动开发,工资待遇也是杠杠的!相信很多人也想从事这方面的工作或者正在向这方面前进。那么恭喜你,只要有足够的毅力,月薪几W的工作就在你面前,但是在这之前,需要经历层层的磨练:Linux内核机制,Shell编程、Makefile规则,硬件数据手册和电路连接Linux驱动工作流程,简单应用程序的编写(一次测试驱动)……不过有牛人说过,在嵌入式驱动开发的路上,要么登上山顶,要么滚进深渊。据我所知,在一家公司里,做驱动开发的经常是做应用开发的1/5—1/8,足见其功能。
对于应用开发,相信大家都很愿意去做,只要活得驱动的接口函数,明白其中道理,有足够的时间编写、调试、完善和优化代码,你就是一名优秀的嵌入式应用开发工程师。不过基于Linux的图形界面开发,现在变得火热:像QT编程了、安卓开发了等待都脱离了Linux的形式,但是,这又给码农们有了新的发展空间,据我所知,工资待遇也是很客观的。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
做青红椒炒毛肚有哪些好吃的诀窍? 如何自制好吃的香辣毛肚? 穿越火线警告码SX(2,509,0)如何解决 CF sx警告码(2,770,0)什么原因 ...要求重新启动电脑 警告码是2 xxxx 0 有时重启4 5次才能玩 win7系统... 穿越火线 sx 警告码 2,994,0 怎么解决 CF出现非法模块SX警告码(2,990,0) 我为什么上CF体验服没开G有非法模块???怎么办啊 警告码(2,502,0) 穿越火线进游戏后 2分钟左右 就出来个 SX 警告码2,990,0 看到刘老师那慈祥的面庞,我感慨万分,我想到了这样几个赞美刘老师的成语... 关于arm嵌入式系统 驱动 应用软件 的问题 关于linux和arm嵌入式的关系。 开发ARM嵌入式软件掌握汇编语言的原因是什么? 学习ARM嵌入式一般需要装什么软件,有什么好的教程... ARM和嵌入式的解释 目前常用的ARM平台下的嵌入式开发软件有哪些? 谢... 什么是ARM?什么是嵌入式? arm嵌入式开发环境到底要安装哪些软件? 如何让清蒸鱼鲜嫩不腥 “蒸鱼”时要怎样去腥?大厨们有怎样的绝招? 清蒸鱼怎么去腥 在制作营养的清蒸鱼时,如何做才能有效去除腥气? 如何能让清蒸鱼做出来之后没有腥味? 清蒸鱼没有料酒可以用啤酒吗 做清蒸鱼时可不可以不加料酒? 给地球爷爷的一封信,不少于500字 给地球爷爷的一封信阅最后一句的作用是点名中心吗 给地球爷爷的一封信 你想对地球爷爷说点什么 给地球爷爷写一封信 作文 给地球爷爷的一封信 问:由于无知和目光短浅,人类... 向大神了解一下嵌入式arm,嵌入式系统设计,嵌入式... 什么是ARM?什么是嵌入式系统 ARM嵌入式软件工程师是干什么的 嵌入式,ARM,STM32,区别是什么?我一直以为这些是... ARM是公司还是嵌入软件? 常用的arm嵌入式开发平台是什么? 嵌入式arm 嵌入式arm怎么安装操作系统 什么是ARM嵌入式? ARM嵌入式系统及原理 如何开发嵌入式系统 arm7 at91sam7x lwip 谷歌地图卫星观看收费吗? 优盘怎样在手机上修复? u盘受损怎么在手机上修复 手机上怎样修复U盘,哪位大神帮个忙呗? 手机u口坏了怎么办? 怎样把手机U盘文件夹里内容清除 怎么在手机上修复连接的U盘? 如何在手机上修复sd卡? 上海计算机培训班哪个好