版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40818798/article/details/81945400
一、为什么学习嵌入式?
1.什么是嵌入式?
- 传统定义(狭义嵌入式):以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
- 当前定义(泛嵌入式):除PC之外的一切计算机系统。
2.三次信息化浪潮
- 第一次浪潮 1980年前后 个人计算机 信息处理
- 第二次浪潮 1995年前后 互联网和移动通信网 信息传输
- 第三次浪潮 2010年前后 物联网、云计算和大数据 信息爆炸
二、什么人适合学嵌入式?
1.嵌入式开发用到哪些知识?
-
编程语言
-
第一层次:C语言
-
第二层次:ARM汇编、shell脚本、Python脚本、C++、Java
-
操作系统
-
第一层次:Linux
-
第二层次:Android、RTOS(u-cos、Raw-os)
-
硬件方面
-
会看原理图
-
懂通信原理及编程(串口、IIC、SPI、USB)
-
懂LCD、触摸屏等常见原件工作原理及编程
2.嵌入式开发需要什么技能?
-
以软件为主,需对硬件有一定了解
-
涉及面宽,需持续学习
-
细节较多,需耐心和细致的洞察力
-
重在调试,需调试和修改程序的能力
-
企业花钱买的是你解决问题的能力,而不是你脑袋里装的知识("知识"!="能力")
3.总结
-
软硬结合
-
嵌入式软件开发并不需要会设计硬件电路和画PCB板
-
核心:C语言、Linux
-
面广、周期长、难度大
4.优势
-
后劲足、需求大、持续价值大、创业潜力大
5.适合人群(学生)
-
电子、通信、自动化、计算机等相关专业大二至大四
三、嵌入式完全学习路线
-
嵌入式核心课程
-
Linux基础+C语言
-
Linux应用程序开发(系统编程、网络编程)
-
ARM编程(ARM体系结构、ARM汇编、开发板常见外设裸机编程)
-
Linux系统移植(uboot移植、kernel移植、rootfs制作)
-
Linux驱动开发
-
Android扩展
-
Android HAL驱动(Linux基础)
-
Android 系统定制(Linux基础)
-
Android 应用开发
-
物联网扩展(无限扩展)
-
GPS和地图查询服务
-
WiFi
-
蓝牙
-
ZigBee
-
RFID
-
项目实训
-
网络摄像机
-
开源四轴飞行器
-
网络远程控制照明系统
-
电子书阅读器
-
裸机写图片播放器
-
开源Android平板电脑
四、嵌入式与物联网、云计算、大数据的关系
-
物联网的三层架构
-
嵌入式与物联网
-
嵌入式是技术特征,物联网是技术应用
-
嵌入式催生物联网的成熟
-
嵌入式大发展表明物联网时代的来临
-
云计算与物联网
-
云计算作用于物联网的应用层
-
云计算依赖于设备的联网能力
-
云计算是嵌入式发展的必然产物
-
当前模式是卖产品,云计算是卖服务
-
未来 = 瘦客户端 + 云计算
-
大数据与物联网
-
物联网主要功能:产生数据、传输数据、分析数据
-
大数据来自物联网感知层
-
大数据源于嵌入式,传播于物联网,分析于云计算
-
大数据将改变世界