发布时间:2022-03-18 15:26:33来源:转载
嵌入式开发如何入门?嵌入式说白了就是嵌入式系统。从应用对象上加以定义来说,它是一个软件和硬件的综合体,还可以涵盖机械等附属装置。一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,嵌入式计算机系统是整个嵌入式系统的核心。
嵌入式开发如何入门?
嵌入式系统专业是综合了计算机硬件技术,计算机软件技术以及电子电路技术的一门综合学科,所涉及的内涵和知识非常广泛。
1.C语言基础
在开始学习嵌入式之前,首先要打好基础,其中较重要的是C语言基础,要至少达到能单独编写调试一个500行的小项目(大概是一个本地员工管理系统的代码量),能够了解C语言的基本语法规则,基本语句的使用,理解指针概念并能灵活使用各种指针。
在学习C语言的过程中,指针的概念比较难理解,但是如果对计算机组成原理有了解的话,地址和 指针,源码和可执行程序,软件通过寄存器控制硬件这些概念都会变得很清晰。
那学习C语言使用什么环境?
选方案,Windows安装虚拟机,虚拟机运行Linux操作系统,编辑器选择vim,命令行运行gcc编译器编译环境。
为什么要用Linux操作系统呢?
从上文中的各大企业对研发工程师的要求可以看出,Linux操作系统在嵌入式行业中的地位是任何操作系统不可比拟的。许多公司为了保护自己的代码产权,开发用的主机直接运行Linux操作系统,并在命令行终端来控制主机。
大约一周的时间即可熟悉Linux系统,你会体会到Linux和Windows系统的不同,摆脱对图形化界面的依赖。
当学会了C语言编程后,你需要掌握操作系统相关的知识,多线程多进程编程、网络编程。通过实践学习一些接口函数完成一些小项目比如银行家算法、网络聊天室等。对操作系统的知识有一个初步的感性认识。
2.MCU和CPU
难道嵌入式开发就是如此吗,说好的软硬件可裁剪呢?别急,紧接着我们就需要加入MCU和CPU的学习,要学习ARM是什么,不同系列的MCU开发方式不同,ARM Cortex™-A 系列应用型处理器,可向托管丰富OS平台和用户应用程序的设备提供全方位的解决方案,从超低成本手机、智能手机、移动计算平台、数字电视和机顶盒到企业网络、打印机和服务器解决方案,是作为学习嵌入式的合适的素材。
现在嵌入式的学习资源丰富,选择合适的Cortex™-A 系列的开发板后,根据裸板开发、系统移植、驱动开发这样的顺序学习。
3.驱动开发
前面裸板开发和驱动移植的学习目的是面对接下来的驱动大魔头,学习驱动开发我们需要有一个空杯心态,需要有主动理解Linux内核设计理念的意识(但是不要钻牛角尖),时刻把握Linux下一切皆文件的宗旨和分层的思想。
当我们在这一阶段点亮开发板上的一盏明灯,恭喜你,一只脚踏进嵌入式开发的大门了。
4.C++和Qt
体会了较基本的驱动开发后,嵌入式学习还未结束,但是之后的学习我们有了一些选择的主动权,当我们看到一些有意思的嵌入式小项目,我们可以理解它的实现思路。
而较好的学习方法是自己实践完成一些小项目,你也许不满足之前所学,为什么不能把黑乎乎的命令行终端优化成精美的液晶屏显示,C++和Qt的学习就在所难免了。
5.Python人工智能
那么,如果你已经可以实现一个小型的嵌入式项目了,但是如果大火的人工智能技术可以加入到这个小项目中,想必一定非常酷炫,我们可以把呆板的用户界面输入改成图像识别或者人脸识别。
现在编写人工智能代码较广泛的语言是Python3,在github上有许多的开源项目和代码。为了看懂开源代码,暂且不管复杂的数学相关的算法,首先需要学习Python3。
其实,Python3也是一种解释型语言,之前的基础学习中我们学过Shell,两者都是解释型语言,较大区别在于运行的环境和应用的场景不同。
Shell多用于编写Linux系统下的小工具,Makefile的编写是较大的应用场景,Python可以运行在Windows和Linux下,移植了Python的开发板,可以根据各大AI开放平台的支持,将设备接入平台调用云平台提供的API,实现图像识别、人脸识别、文字识别......
6.STM32
一个产品级的项目考虑的不仅仅是功能的实现,还要考虑功耗、成本。
此时你会发现许多低功耗的模块可以取代之前基于ARM Cortex™-A的开发板,STM32映入眼帘,STM32的开发原理无非也是控制寄存器驱动硬件模块,在芯片手册中挣扎一段时间,通过一周的时间熟悉CubeMX和keil的使用,驱动一个温湿度传感器或者其它传感器模块,在这个过程中我们就可以了解STM32开发的基本套路。
南昌嵌入式培训班哪家比较好?
广州达内嵌入式培训班怎么样?
温州学习嵌入式去哪家机构靠谱?
南宁达内嵌入式培训学校排名如何?
厦门哪里可以学习嵌入式开发?
嵌入式开发需要学习哪些内容?
更多培训课程: 浦东新区嵌入式 更多学校信息: 上海浦东达内IT教育培训 咨询电话: