快速入门嵌入式系统,你需要了解这些平台和资源网站
无疑电类的学生学习嵌入式系统的越来越多,因为不需要折腾那些花了好几年也弄不明白的模拟电路、数字电路,只要一台电脑,弄个MCU开发板就可以学习编程了,貌似入门容易,软件嘛,将来就业的机会也多。
虽然苏老师认为,当前玩MCU编程的、用STM32、NXP MCU等等单片机的,绝大多数根本学的不是“嵌入式系统”的核心,他们只是在这些嵌入式的系统上会编写代码的码农而已,但随着科技的发展节奏越来越快,这个行业需要海量的写应用的码农,他们不需要了解底层的硬件,不需要挤压系统有限的资源,只要会用某些IDE、Call某些库,把灯点亮、把该驱的驱起来就行了。
行业太多的平台 - 8位的8051、AVR、PIC,32位的ARM、MIPS,现在又冒出来一个RISC-V,更有显得更高端的能跑Linux的树莓派等等。经常有想入门的工程师和高校的学生问,苏老师,我该学哪款?
苏老师一向认为,如果你能学到本质的东西,从哪个平台入手其实是没有区别的,即便你使用8051,把这个简单的单片机用好也不容易 - 端口的操作;中断的响应;内、外存储器的访问和管理;一些算法的实现,当然还有代码的规范化等等。认认真真用上一年,完成一个综合性的项目,你再切换到其它的平台上易如反掌,因为所有的处理器本质的内容都是一样的。
如果让我自己选一个平台来学,我会基于以下的几个原则:
-
是不是有很多人学习、在行业里应用非常广泛?学习的人多你会找到很多可以交流的朋友,网上也有很多资料、视频,书店里有很多别人写好的教程,我们称之为生态系统比较完整;行业应用多说明这个平台的性价比、生命力都比较强,对于你将来的长期使用、求职都是有帮助的。
-
是不是容易入门?有的系统貌似强大,但入门的门槛很高,你折腾好久连系统都搭建不起来,编译界面也比较复杂,偶尔平台还有一些Bug正好让你碰上了。因此基于一个成熟、入门非常简单的平台对于你快速领悟到核心的技能点是非常有必要的。
-
是不是很容易做出很多有意思的东西?对于学工科的朋友来讲,“激发兴趣”在学习初期是非常有用的一种鼓励,如果能仿照别人的案例非常快速重现在自己的电脑上,并做一定的调整、升级,会让你学习的兴趣大增、自信心满满,进而全情投入其中。如果你自己能用很低的成本,通过编程DIY一个星球大战电影里的绝地武士的激光剑,会不会觉得很酷?
用Arduino和LED光带、姿态传感器等制作的绝地武士激光剑
虽然很多人觉得风靡全球的Arduino太简单,玩它貌似很低端,我倒觉得这是一个非常完美的入门嵌入式系统的平台。虽然基本版本的只是一个8位的单片机、运行的速度只有不到20MHz,但其非常傻瓜的开发环境、丰富的外设配件模块、超级便宜的硬件投入,你可以从网上下载一些说明资料,轻松上手。
觉得不过瘾?其实Arduino也有功能强大的增强版,并且有增加了FPGA的版本MKR VIDOR 4000系列,让你能软、硬结合,对你综合技能的提升是非常有帮助的。看下面的表格你就可以看到Arduino阵营的强大,根据自己的需要选用合适的平台就可以。
正是基于此,苏老师今天专门整理了一些与Arduino相关的平台资源和项目资源,供想学习嵌入式系统的朋友参考:
Arduino主要平台:
入门级:
-
Uno
-
Leonardo
-
Intel 101
-
Micro
-
Nano
增强型:
-
Mega2560
-
Due
-
Zero
-
M0 Pro
-
MKR Zero
支持物联网:
-
Industrial 101
-
MKR 1000
-
MKR WiFi1010
-
MKR FOX 1200
-
MKR WAN 1300
-
MKR GSM1400
-
MKR NB1500
带FPGA的:
-
MKR VIDOR 4000
-
Alorium的XLR8
另外有很多好的资源网站你一定要知道,这些网站多数都是国外的,它们不仅有Arduino的项目,还与很多基于其它平台的创意项目,经常阅读这些网站对于你开阔视野、提高专业英语的阅读能力非常有用:
在电子森林网站上你打开这个页面,就可以看到有上千个来自这些网站的、用Arduino做的非常有意思的项目(包括昨天我发的一个用8*8 三色LED点阵做的立体雕塑的项目,它是用一个Arduino + 8*8三色LED做成的)
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com