发 帖  
原厂入驻New

[经验] 请问嵌入式与单片机之间的关系是什么?

2020-6-24 14:35:07  1153 嵌入式 单片机
分享
0
时间回到十五年前,大部分人搞嵌入式,其实是做单片机,那时单片机资源少(我曾用过128字节RAM的MCU,要仔细扣每一字节的使用,函数调用不能太深,一不小心栈就爆了),用各种资源都要小心翼翼,不像现在的单片机动辄就几十K上百K的RAM。另外当时单片机的资源和选择面非常少,只有51,AVR,PIC这些,ARM7才刚刚出道。在当时,能用单片机做一个系统,已经算是很风骚的操作了。
但时过境迁,这十几年来,移动计算能力在摩尔定律下取得了跨越式的发展,嵌入式鸟枪换炮了,能做的事情越来越多,同时也迎来了新的更难的挑战:
  • 计算性能永远不够:不得不说,现在最新的计算机视觉/AI算法在嵌入式平台上还跑不起来;所以选择算法时,一般会选当前平台能运行的最好算法,这就导致有多少CPU就用多少CPU,CPU占用率常年维持在90%以上。
  • 内存永远不够:图像既吃空间又吃带宽,经常出现的问题是功能还没做完,内存用完了,oom满天飞。更隐晦的是内存带宽也会悄悄被耗尽,悄悄拖慢运行速度。
  • 实时性要求也不低:虽然不似实时控制一样需要做到抖动在1ms以内,但做到30ms还是要要的,要不就丢帧了。如何在高CPU和内存占用率下保证实时性,是一项前所未有的挑战。
  • 复杂度高:由于功能复杂度提升,引入了很多新的高级总线接口和协议栈,代码的规模也越来越大,要搞清全局,变得越来越困难。
这些新的挑战,映射到技术细节上,又可以归纳为以下方面:
  • 编程技能:随着系统复杂度的提升,需要编程技能的要求也水涨船高。
  • 处理器架构:当遭遇CPU和内存性能问题时,不懂点CPU架构,就像在猜哑迷一样。
  • 操作系统:哇,oom了;哇,丢帧了;哇,写FLASH性能抖动了;只能边哇哇哇地哭边恶补内存管理,进程调度,文件系统知识了。
  • 接口与驱动:接口越来越多,速度越来越快,现在这个年头,不懂十几个接口都听不懂小米的发布会了。
  • Framework(中间件):ROS,Camera Pipeline,各类协议栈,学好任何一个都不容易。
  • 算法优化:处理器性能就像海绵里的水,拧一拧总能优化一点出来。
  • 应用编程与调试:多线程,多进程,多核,线程间通信,进程间通信,多核间通信。对,就是这么纠结。
  • 硬件知识:嵌入式工程师不懂点硬件知识哪能和硬件工程师愉快地玩耍呢?
  • 其他:作为一个承上启下的岗位,对软技能有更高的要求。



相关经验

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发经验
关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表