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

文章图片

文章图片

文章图片
作为除PC端外的另一种系统 , 嵌入式系统应用领域极其广泛 , 广泛到单片机、PLC、FPGA+CPLD、ARM+Linux实际上都属于嵌入式范畴 , 嵌入式主要内容包括linux系统 , C语言开发 , 数据库等 。
什么是嵌入式技术嵌入式技术是以应用为中心 , 以计算机技术为基础的系统技术 , 把软件直接烧录在硬件里 , 而不是安装在外部储存介质上 。 即在已有的硬件上移植操作系统 , 让操作系统去管理软硬件资源 , 使软硬件耦合度降低 , 在操作系统之上做上层应用开发 , 在操作系统之下做底层开发 。
嵌入式软件嵌入式使产品更加智能 , 跑更多的软件 。 嵌入式软件是结合操作系统做的开发 , 而非嵌入式软件是裸机开发(没有跑操作系统) 。 判断是不是嵌入式产品 , 看产品中有没有跑操作系统 , 在各行各业都有不同类型的操作系统 , 应用非常广泛 , 但是其作用都为隔离软硬件 。
单片机开发单片机开发是传统开发 , 开发流程为先看原理图 , 然后写代码 , 最后将代码下载到开发板中 , 即由软件和硬件两大元素组成 , 熟悉硬件的工作原理再去写软件 , 将写好的软件烧录到硬件中 , 由软件去控制硬件工作(软件即代码 , 底层的开发板即硬件) 。
缺点:
1. 首先软件和硬件的耦合度高 , 软件移植性差(适配平台能力差) , 运行效率低 , 功耗高;
2. 在开发人员能力要求方面传统开发工程师要软硬兼顾 , 相对于团队合作 , 其开发效率低 , 工程师精力有限 , 很难顾全局 , 用户体验感降低 。
嵌入式开发嵌入式开发是在软件和硬件中间移植入操作系统 。 操作系统可以管理软件资源和硬件资源 , 实现软件和硬件之间的隔离 , 例如想要运行硬件中的摄像头 , 先让软件向操作系统发出相应的指令 , 由操作系统去控制硬件 , 硬件将数据返回给操作系统 , 操作系统再将数据返回给软件 , 这样我们在开发软件时就不需要去了解硬件的工作原理和构造 , 只要操作系统不发生变化 , 硬件的改变就不会影响到软件 。
优点:软件移植性好(适配平台能力强) , 开发人员能力划分更清晰 , 操作系统实现了多任务机制、提供了丰富的网络协议、提供了开源软件和库 。
缺点:操作系统升级硬件成本会提高 。
嵌入式开发技能要求
1. 嵌入式上层应用软件开发:
- 精通一门语言;
- 熟悉一款操作系统(会看说明书);
- 数据结构/算法;
- 精通C语言(所有的操作系统内核都是有C+汇编开发的);
- 理解操作系统的实现(会使用 , 会添加/修改功能);
- 熟悉硬件的工作原理(CPU:stm32+64位 , SPI , IIC蓝牙 , wifi物联网 , 摄像头);
- 熟悉汇编;
方向:
★ 高端智能硬件(平板、手机、机顶盒)
★工业机器人
★物联网(网关)
技能:
? C语言、数据结构
? 嵌入式Linux下文件I/O、Linux并发程序设计你该这么学、Linux网络编程
? ARM体系结构及接口技术、嵌入式系统移植、嵌入式内核及驱动开发高级
推荐阅读
- 互联网乱侃秀|国产128L产品将推出,打破美、韩垄断局面,内存市场迎变局
- 放荡的人生|不上架防骚扰软件就禁售,苹果终妥协,印度向苹果公司下最后通牒
- 「小米科技」小米11Pro宣布新技术!首发骁龙875+屏下镜头,米粉:价格有点小贵
- 互联网乱侃秀|一味模仿或是主因,为何中国自主操作系统都不成功?没有原创
- 博科园|再连接光量子通信网络,就能实现量子互联网啦!,量子计算机诞生
- 万国通|印度网民开始“抓狂”,山寨软件互相鱼肉,没了中国的社交APP
- 燃财经|我为什么不想奋斗了,8位互联网人讲述:2020年
- 潮黑社|屏下指纹技术虽不再是难题,但市场却已无法挽回,LCD再获突破
- 「5G」5G标准R16版本官宣冻结!一个物联网时代开启,美国被甩在身后
- 互联网乱侃秀|不想当首富,想要低调,马云躺赢?,黄峥主动散财700亿
