嵌入式开发和软件开发的一些区别

JellyShy / 2024-08-28 / 原文

 

  嵌入式开发 软件开发
传感器 使用模块或自行焊接 手机自带
操作系统 FreeRTOS/usos Android
开发硬件 开发板

手机

可视化选择 显示模块 手机
工作侧重 底层-驱动 应用-逻辑
开发芯片 MCU/MPU/CPU CPU
硬件架构 可剪裁 偏向计算机组成
开发架构 通常不侧重数据库 前后端

 

 

对于硬件开发,开发板是不固定的,各种各样的芯片平台和不同的模块需要大量的适配,更多的工作偏向于驱动,比如驱动TFT-LCD屏幕,让其可以显示字符、图片和符号。

对于软件开发,手机就好像一个开发板,虽然芯片平台不同,但底层驱动已经写好(各种组件),编写程序时并不需要知道屏幕显示的原理等等,侧重过程和事件处理的逻辑。

 

主要是由于两者的应用场景不同,嵌入式一般作为工业控制端,不需要特别强的处理性能,更在乎控制;软件开发的产品体现在人们的日常生活中,游戏需要强的处理性能、日常程序需要UI,不再考虑底层如何实现能更好的开发出应用级产品。

但是目前随着AI嵌入式、边缘计算的热门,和勘智K230、全志H618、RK3588更强处理性能的MPU类芯片的出现(这类“卡片电脑”上可以移植安卓和Linux等操作系统),未来人工智能的应用场景等等,两者的编程思维会有越来越多的交叉。