完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
在这个科技高度发达的今天,相信很多在校学生停留在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的形式,但是,这又给码农们有了新的发展空间,据我所知,工资待遇也是很客观的 最后用一个图片来总结下嵌入式开发的前世今生吧: 1.gif |
|
|
|
只有小组成员才能发言,加入小组>>
791 浏览 0 评论
1151 浏览 1 评论
2527 浏览 5 评论
2860 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2710 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1070浏览 3评论
193浏览 2评论
455浏览 2评论
368浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
453浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 10:26 , Processed in 0.921948 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号