嵌入式软件工程师完全学习指南
核心:
- linux基础+C语言
- linux应用程序开发(系统编程,网络编程)
- ARM编程(体系结构,汇编,开发板及外设逻辑编程)
- Linux系统移植(uboot移植,kernel移植,rootfs移植)
- linux驱动开发
嵌入式开发用到哪些知识?
- 编程语言:第一层次(C语言) 第二层次(ARM汇编、shell脚本、C++、Java)
- 操作系统:第一层次(linux) 第二层次(RTOS、Android)
- 硬件方面:会看原理图、懂得串口、I2C、USB等常见通信原理及编程、懂得LCD、触摸屏等常见元件的工作原理及编程
嵌入式开发需要什么技能?
- 以软件为主,但是需要对硬件有一定了解
- 涉及面宽广,需要能够持续学习
- 细节较多,需要耐心和细致的洞察力
- 重在调试,需要有修改和调试程序的能力
- 企业花钱买的是你解决问题的能力,而不是你脑袋中装的知识
总结:
- 嵌入式是处理“软硬结合”部分的。
- 嵌入式软件开发并不需要会设计硬件电路和自己画PCB。
- 嵌入式软件开发以C语言和linux系统为核心,学习的关键和入口点就在这里。
- 嵌入式开发涉及面极广,学习周期长、学习难度大(相比Android应用、微信营销等)
学习扩展方向:
- Android扩展
- 物联网扩展
Android扩展(3大模块)
- Android HAL驱动
- Android 系统定制
- Android 应用开发
物联网扩展(无限扩展)
- GPS和地图查询服务
- Wifi
- 蓝牙4.0
- Zigbee(低功耗 可组网 可中继)
- RFID
物联网的三层架构
- 应用层: 如 环境监测 智能家居 智能物流 智能医疗 公共安全 智能工业 智慧城市 智慧农业
- 网络层: 有线网络 互联网 无线网络 用于传输信息
- 感知层: 综合识别与感知 相当于物联网的输入 如 摄像头 红外感应器 人体感应器
嵌入式与物联网
- 嵌入式是技术特征,物联网是技术应用
- 嵌入式技术催生了物联网的成熟
- 嵌入式大发展表明物联网时代即将来临
云计算与物联网
- 云计算作用于物联网的应用层
- 云计算依赖于设备的联网能力
- 云计算是嵌入式发展的必然产物
- 当前的模式是卖产品,云计算是卖服务
- 未来 = 瘦客户端 + 云计算
大数据与物联网
- 物联网的主要功能就是产生数据、传播数据、分析数据
- 大数据来自于物联网感知层,其实就是来自于各种嵌入式设备
- 大数据源于嵌入式、传播于物联网、分析于云计算
- 大数据将改变整个世界
结论
- 嵌入式、云计算、大数据等都是物联网的组成部分,互相依赖互相作用、不可分割
- 嵌入式是物联网的基石,将会茁壮发展
学习心得及笔记记录源于:朱有鹏老师《嵌入式工程师养成计划系列》之嵌入式软件工程师完全学习指南