前言
学习了韦东山老师的7天物联网智能家居课程,目前学的是基础部分,大部分的内容是按照课程的架构走的,少部分的自己总结。特此申明。
一、学习路线
1.什么是嵌入式?
我们使用的电脑它是不是嵌入式?它不是嵌入式,我们把它叫做通用计算机,这里的通用是指硬件通用,比如我这里用电脑录制课程,张三用电脑打游戏,李四用电脑办公,我们都使用电脑,但用途各不相同,因此叫做通用计算机,就是同一个硬件设备满足不同的应用场景。
我们可以简单的认为,除了电脑以外的所有的智能电子设备都是嵌入式产品,像这里的冰箱、洗衣机、手表、手机,汽车里面的倒车雷达、中控屏幕等都是嵌入式产品,可见嵌入式的范围是很我们能做的东西很多,这个市场非常的庞大。嵌入式相关的企业,智能家电领域,通信领域,新能源汽车领域,还有集成电路领域、信息显示领域等等,
2.怎么学习嵌入式?
在大一和大二学习了模电输电c语言,应该就大致的知道自己的兴趣是偏软件还是硬件,如果是偏硬件,要学会PCB画图的相关课程,自己尝试做个样板。如果是偏软件可以买一个单片机开发板,照着上面的实验学习尝试做一个小项目,如果时间精力都足够,可以软硬件都做出一个完整的电子产品。 然后我们要整理一个方向,是Mcu的开发还是linux的开发? 如果是单片机开发? 单片机裸机开发:不涉及操作系统,一般项目比较简单,直接编程控制难度比较低,但是岗位是最多的,待遇一般也不是很高。 单片机系统级开发:带操作系统,一般这种项目的需求比较多,程序也比较复杂,采用操作系统之后,多个任务并行,能够充分的发挥系统的资源能力,甚至还会引入深度学习神经网络算法等去解决问题。待遇有所提高。 如果从事Linux开发? 首先就是Linux安卓驱动:为运行Linux或者是安卓的设备移植编写驱动,入门的难度高,既要懂单片机的基础知识, Linux的驱动框架,Linux的运行机制(一线城市岗位多,待遇高) 还有Linux应用开发:运行Linux的设备编写应用程序比如不带显示屏的,带显示屏的广告机。 其次还有 dsp FPGA这种用于特定场景,这个就建议大家根据公司的项目需求对应学习,岗位不多,学历要求高,不建议只学这个可以作为项目的补充工具学习。 最后,当你入行一段时间之后,你可以选择资深的工程师或者项目经理两个方向。 因此嵌入式的学习周期还是比较长的,方向有很多,要学的也很多,无论是做什么行业,只有持续的学习,保持对行业的热爱才能做出成绩,嵌入式也是如此,学习才是最大的竞争力。
3.学习的基础内功?
1.c语言、数据结构 2.·数字电路、模拟电路基础(会看原理图和基本电路) 3.·英语,看芯片手册(也可借助翻译软件) 4.·万用表、示波器/逻辑分析仪、电烙铁的使用
二、基本概念
1.什么是arm?
arm中长有两个含义: 1.是一家公司,一家设计处理器架构的公司,设计处理器,并不生产处理器芯片, 2.是一类芯片的统计,arm公司将设计的处理器架构授权卖给其他半导体厂商,比如说生产手机处理器的高通、华为、苹果,由高通、华为、苹果生产出来的处理芯片,我们也习惯地称之为arm芯片。因此arm也是指采用arm公司提供方案设计的处理器芯片的一个统称,是一类芯片的统计,也就是采用arm架构进行设计的芯片.
2.arm架构的分类。
A:也就是应用程序系列,a表示应用程序,该系列拥有内存管理单元,也就是MMU可以实现虚拟内存,让每个用户进程都拥有自己独立的地址空间,这个是现在多用户多进程操作系统所必须的。像运行Linux这些操作系统,就必须要有MAC,也就是这里的com-a系列,这个系列适合以高端的消费电子领域,像智能手机、平板电脑、智能电视路由器的。 R:实时控制系列:表示实时该系列用于高性能高实时的一些场景。 比如说硬盘固态的驱动控制器,消费电子领域的蓝光播放器,汽车领域的安全气囊等,我们一般接触的比较少。 M:然后是cos是m系列,m就是微控制器,该系列用于低功耗对成本比较敏感的产品,像我们的家电物联网产品等等,对不同的应用场景和需求,每个系列还会再做细分,COM-m系列,包含m3,m0,m4等等。 如下图,这个图的横坐标是架构,坐标是芯片的类型,架构有这里m0,m3,m4,还有a7,芯片类型有无线系列、超低功耗系列、主流系列,还有高性能系列以及可以看到我们的stm32f1系列属于一个主流的MCU架构是com-m3. 上图可以得知MCU和MPU,有什么区别? MCU:把CPU还有内存还有flash都集成在一个芯片上,也就是我们俗称的单片机。这个芯片就是一个完整的微型计算机,只需要加上供电以及极少的外围电路就可以工作。 MCU有8051系列的单片机,stm32系列的单片机等。 MPU:它类似于通用计算机的CPU主要负责处理和计算,需要外加内存flash等电路。
三.开发流程
1.交叉开发,
即:首先在电脑上使用集成开发环境IDE完成对代码的编辑、编译、汇编。通过调试\下载器,将电脑和开发板进行链接,将程序烧录进开发板完成对项目的开发。
2.调试下载
调试:就是可以控制芯片一步一步的执行,然后查看各种信息,找出问题。不同的芯片下载方式可能不同,由芯片原厂设计的决定。
最后我们再来总结梳理一下,在开发流程里面, 安装软件:有集成开发环境keil,串口打印显示软件。 配件:调试下载器,USB转串口工具。 驱动:电脑需要安装相应的串口驱动。 以上就是今天要讲的主要的内容,在百问网7天物联网智能家居实战训练营的第一天介绍了嵌入式的学习路线以及一些开发流程希望大家共同成长。
|