软件▲物联网技术讲解:嵌入式开发


软件▲物联网技术讲解:嵌入式开发
文章图片
软件▲物联网技术讲解:嵌入式开发
文章图片
软件▲物联网技术讲解:嵌入式开发
文章图片
作为除PC端外的另一种系统 , 嵌入式系统应用领域极其广泛 , 广泛到单片机、PLC、FPGA+CPLD、ARM+Linux实际上都属于嵌入式范畴 , 嵌入式主要内容包括linux系统 , C语言开发 , 数据库等 。
什么是嵌入式技术嵌入式技术是以应用为中心 , 以计算机技术为基础的系统技术 , 把软件直接烧录在硬件里 , 而不是安装在外部储存介质上 。 即在已有的硬件上移植操作系统 , 让操作系统去管理软硬件资源 , 使软硬件耦合度降低 , 在操作系统之上做上层应用开发 , 在操作系统之下做底层开发 。
嵌入式软件嵌入式使产品更加智能 , 跑更多的软件 。 嵌入式软件是结合操作系统做的开发 , 而非嵌入式软件是裸机开发(没有跑操作系统) 。 判断是不是嵌入式产品 , 看产品中有没有跑操作系统 , 在各行各业都有不同类型的操作系统 , 应用非常广泛 , 但是其作用都为隔离软硬件 。
单片机开发单片机开发是传统开发 , 开发流程为先看原理图 , 然后写代码 , 最后将代码下载到开发板中 , 即由软件和硬件两大元素组成 , 熟悉硬件的工作原理再去写软件 , 将写好的软件烧录到硬件中 , 由软件去控制硬件工作(软件即代码 , 底层的开发板即硬件) 。
缺点:
1. 首先软件和硬件的耦合度高 , 软件移植性差(适配平台能力差) , 运行效率低 , 功耗高;
2. 在开发人员能力要求方面传统开发工程师要软硬兼顾 , 相对于团队合作 , 其开发效率低 , 工程师精力有限 , 很难顾全局 , 用户体验感降低 。
嵌入式开发嵌入式开发是在软件和硬件中间移植入操作系统 。 操作系统可以管理软件资源和硬件资源 , 实现软件和硬件之间的隔离 , 例如想要运行硬件中的摄像头 , 先让软件向操作系统发出相应的指令 , 由操作系统去控制硬件 , 硬件将数据返回给操作系统 , 操作系统再将数据返回给软件 , 这样我们在开发软件时就不需要去了解硬件的工作原理和构造 , 只要操作系统不发生变化 , 硬件的改变就不会影响到软件 。
优点:软件移植性好(适配平台能力强) , 开发人员能力划分更清晰 , 操作系统实现了多任务机制、提供了丰富的网络协议、提供了开源软件和库 。
缺点:操作系统升级硬件成本会提高 。
嵌入式开发技能要求
1. 嵌入式上层应用软件开发:

  • 精通一门语言;
  • 熟悉一款操作系统(会看说明书);
  • 数据结构/算法;
2. 嵌入式底层系统软件开发:
  • 精通C语言(所有的操作系统内核都是有C+汇编开发的);
  • 理解操作系统的实现(会使用 , 会添加/修改功能);
  • 熟悉硬件的工作原理(CPU:stm32+64位 , SPI , IIC蓝牙 , wifi物联网 , 摄像头);
  • 熟悉汇编;
嵌入式各个方向嵌入式(ARM+Linux)
方向:
★ 高端智能硬件(平板、手机、机顶盒)
★工业机器人
★物联网(网关)
技能:
? C语言、数据结构
? 嵌入式Linux下文件I/O、Linux并发程序设计你该这么学、Linux网络编程
? ARM体系结构及接口技术、嵌入式系统移植、嵌入式内核及驱动开发高级


推荐阅读