完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
最近老是有学员问我:涛哥,你的嵌入式教程针对哪款开发板鸭?到底使用哪款开发板学习?我的回答往往是:暂时不用开发板,学习嵌入式,不一定非得用开发板,在qemu仿真平台上学习就可以了。3年前我发布了互联网上第一套《使用QEMU搭建嵌入式U-boot+Linux+NFS学习环境》的视频教程(现已部分免费分享到B站),三年来累积了大量学员,也收到了很多积极反馈和建议,现在也吸引了同行去基于QEMU开发教程,这也从侧面证明了当前的学习思路是不错的。为什么没有着急选一块开发板,基于这块开发板开发教程,而是使用QEMU呢?这还得从我的嵌入式学习经历说起。
我到底玩过多少开发板? 我学习嵌入式是从51单片机入门的,课程学完后自己买了一块51开发板,刚买回来那叫一个新鲜,跑马灯、数码管、LCD屏、蜂鸣器、LED屏、串口、I2C…统统玩了一遍。然后就没有然后了,就扔在一边攒灰了,只是偶尔当当烧写器使用。因为当时有一款学习单片机的仿真软件叫proteus,可以直接在上面设计电路,写程序,仿真效果跟在实际开发板上一样,而且不用在电脑上插各种线,仿真库中各种外围器件、模块应尽应有,使用非常方便。 当时觉得单片机的USB下载和调试接口很玄幻、很有意思,想研究下,于是自己又买了一块51单片机USB学习板,我记得开发板是成都的一个电子工程师自己做的,一个很小的开发板再加上配套的USB教程和源码,学到了很多知识,知道了什么是USB,什么是HID、什么是复合设备,如何模拟鼠标键盘。这是我购买的第二块开发板。 后来自己又用面包板焊了一块,还额外焊了一个多路电源适配器,可能整流电路中的滤波电容型号没选对,电容爆掉了,害得其中一路9V的电源无法使用,但也算是领略了硬件设计的门槛。 那时ARM9刚刚流行,在当时算是高端了,学校实验室里的开发板是基于ARM7的,无法跑Linux,但可以跑uC/OS。第一次接触了OS,多任务例程跑一遍,自己模仿着写了一个demo,感觉很玄幻,觉得找到了自己的兴趣和方向。 读研后,选择了嵌入式方向,实验室里都是使用自己研发的处理器做的开发板,ARM720T内核,虽然是ARM7,但是带MMU,可以跑Linux,是不是很玄幻?自己就是从这块开发板入门Linux的。 后来网上有个STM32开源项目很有趣,自己一咬牙,又入手了一块,在上面移植uC/OS,做个电子书、听听音乐,感觉很有趣 后来又买了一块ARM9开发板,NorFlash坏了,烧写程序一直不成功,折腾了一个多月,拿回厂家换了一块NorFlash芯片就好了,然后开始混迹于各大BBS论坛,别人开发板上的好玩的东西都试着移植到自己开发板上,热心分享和网友交流… 由于项目和科研需要,实验室里自己研发的处理器,各种开发板肯定也是都玩了一遍,基于自主国产内核的开发板… 工作后进入一家芯片公司,做平板、电视盒子SOC芯片,从事Android/Linux下的驱动开发,当然更会接触各种各样的开发板、不同处理器型号、不同版本,Nano板,发现开始对开发板麻木了… 每天的工作就是解决不同开发板、不同处理器上的bug,不停地搭建环境,不停的下代码、编译代码,升级系统。接触的开发板和客户平台不下于20个吧… 期间也接触了很多国外开源的开发板,如熊猫板、beagle等,作为参考之用。 后来换了平台,做手机芯片平台的驱动开发,每天接触不同厂家的手机开发板,不同处理器的开发板,估计也有20多个吧。 带翅膀的手机,是不是很有喜感?不会飞的,是调试接口,调试用的。手机调试相比开发板调试,还是比较麻烦的,编译Android镜像,USB烧写升级,重启,重现,抓log,分析log…,一个流程下来,得20分钟。期间也参与了芯片测试、Android系统移植搭建的工作,在一块环境更加苛刻的FPGA开发板上,要跑CPU软核镜像,然后跑Android,各种时序问题,调试更加费劲、艰难。 期间有了工资收入,囊中不再羞涩,开启了开发板买买买之路,树莓派、cubieboard、智能硬件… 你是否已经掉入了开发板陷阱? 接触了这么多开发板,我成为了嵌入式高手 了吗? NO!也许对某些模块或者业务很精通,相反,我感觉自己得了“开发板厌食综合征”,每天不想再看到开发板。真正的高手早就脱离开发板了,嵌入式产生真正价值的地方也早已不在硬件上,而是在硬件之上。每天接触这么多开发板,来回反复地搭建环境,就感觉同时跟几十个人谈恋爱,没有时间和精力去深入了解每一个人,走马观花般地吃吃饭,交换交换名片,每天干完活,算是完成任务。了解一个人,需要时间,想要深入了解一个人,更需要时间。开发板也是如此,如果你是做项目,无可厚非,你必须去了解某个平台,深谙它的每一个硬件特性,然后使用软件去压榨出它的最后一点性能。但是,如果从学习的角度上讲,不停地换平台,追逐最新最流行的,四核换八核的,你会发现,你的大部分嵌入式学习时间都花在了熟悉硬件平台上,跑跑简单的demo、搭建搭建环境,运气好顺利的话,可以很快完成,运气不好,各种兼容性、硬件问题,如果你手里没有调试工具的话,一个小问题把你卡在那里半个月没脾气都很正常。如果你是一个学生,手头没有专业的硬件调试工具,一味地追逐最新硬件平台,我觉得已经掉入了开发板的学习陷阱。人的时间和精力是有限的,疲于奔命地凿了100口浅井,不如沉下心来,好好地挖一口深井,大道至简,很多道理都是相通的,吃透了一个,其它的也就触类旁通了。否则,你就是买了一个又一个地铁锹,铁锹商带着你随便凿两下,学会怎么用,然后人家又开发出新的铁锹,鼓励你再去买新的铁锹,凿新的井。 未来的课程怎么录? 嵌入式学习个人认为,可以分为三个时代。
随着物联网、AIOT时代的到来,会涌现出越来越多的平台和生态,未来的关注点已经不在开发板本身,而是接口、互联,当越来越多的成熟平台和方案趋于标准化,甚至去构建一个大的生态,以及业务新需求将会对嵌入式工程师的技能产生新的要求。 还有一个趋势就是CPU的开源,CPU的架构越来越多,从ARM、MIPS到RISC,平台差异、架构差异,也导致硬件学习成本越来越高, 未来的嵌入式学习,将会进入后开发板时代,你学习的技能要想不很快被淘汰,就要适应开发板、适应CPU不断升级迭代、细分的现实。沧海桑田,哪些技术转瞬即逝,哪些技术一直在用?哪些是核心技术,哪些是跨平台的技术?我们学习嵌入式也要转换思路:你不是学习某个开发板,不是基于某个开发板填鸭式学习,而是学习某个技术要用到某块开发板做实验、去验证它。 这就是我的视频教程录制思路:教你如何凿井,凿井的方法和技巧,将以前的开发板经验进行提炼,总结成核心技能分享给你,视频教程和技能可以通吃和适配不同的开发板和平台,是跨开发板的,只要你手头有开发板,吃透教程,在你的当前环境下就可以学习了。而不是不停地换平台,一次一次兜售新的铁锹给学员,去凿一口一口的浅井,给学员增加学习负担不说,关键是摊子铺大了,又学不到什么干货,进而陷入不断凿浅井的循环。未来的嵌入式学习肯定是要做减法,学真正有用的,不涉及到具体的项目一般都是可以脱板学习的。 |
|
|
|
只有小组成员才能发言,加入小组>>
692 浏览 0 评论
1106 浏览 1 评论
2473 浏览 5 评论
2808 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2646 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
653浏览 9评论
649浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
781浏览 6评论
628浏览 5评论
668浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 01:56 , Processed in 0.968647 second(s), Total 49, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号