域名备案用的网站建设方案,厦门商务网站建设,精品网站建设费用 要上磐石网络,上海傲石设计网站工作这些年#xff0c;一种从事嵌入式相关的工作#xff0c;大部分接触的是ARM芯片#xff0c;不过也有接触到8位单片机的机会#xff0c;在一些控制领域#xff0c;8位单片机还是有自己的用武之地的#xff0c;大家也来说一说#xff0c;自己还有接触到8位单片机吗一种从事嵌入式相关的工作大部分接触的是ARM芯片不过也有接触到8位单片机的机会在一些控制领域8位单片机还是有自己的用武之地的大家也来说一说自己还有接触到8位单片机吗近年来STM32等32位的MCU风光无两苹果电脑CPU用了ARM核更是添了一把火。现在说嵌入式MCU通常是32位的。那么像51单片机这种8位的MCU的情形又如何本文简单分析下很多嵌入式工程师的一些误解。8位MCU正在被淘汰这是最常见的误解。先说事实根据最新的Gartner的市场报告8位的市场营收额和增长额跟32位的相比都仅仅差几个百分点。考虑到8位的单个芯片比32位芯片要便宜很多的事实8位的出货量其实远高于32位的。打个直观的比方现在我们有了高铁是不是所有传统的普快、特快火车都要立即淘汰呢?显然事实并非如此至于原因就太多了。现实情况就是8位MCU曾经的应用领域并不能立即用32位的MCU直接替代。8位处理器缺乏创新不少人会认为既然现在市场的宠儿是32位的MCU厂商们是不是都没有投入研发资源在8位产品上了。这么想的人可能一想到8位的MCU脑海中会浮现40DIP的“经典8051”的形象。事实上芯片厂商们并没有停止创新。比如CIP-51内核因为采用了一个时钟周期等同于一个指令周期的设计瞬间将同频率的8051性能提高了12倍。国内的一些半导体厂商也有基于8051或其他8位内核的创新。8位处理器难以使用C/C语言编程如果你了解Arduino的设计原理这个误解就不攻自破。当然坦白讲8位的MCU使用高级语言编程确实比32位的MCU要困难些主要障碍就是内存地址的不统一。比如8051内核的内存地址就分为CODE、data、sfr、idata和xdata。如果涉及到banking就更复杂了。8位的PIC还有硬件Stack这样更加“非主流”的设计但是这些障碍都可以通过工具的优化来缓解。8位处理器专为简单应用而生这个观点倒是有几分真实但是嵌入式应用本身就是简单应用居多。嵌入式系统应用的本身特点决定了8位依然有很多用武之地。外设和编译器的进化将慢慢拓展8位处理器的应用范畴。8位处理器不能胜任IoT应用需求IoT应用不是一个单独的应用而是一个复合应用。智能手表、智能音箱、主控制器、网关这种当然需要复杂的处理器来实现。但是IoT应用还包含大量的传感器节点、执行节点和转换节点。这种节点用低功耗的8位处理器来实现更加适合。8位处理器响应慢这个就是完全的误解了。典型的嵌入式应用中响应速度主要跟中断响应和唤醒延迟相关。8位处理器有天然的优势(地址转换工作量小、IP单元实现门数少)至少不输于32位的处理器。8位处理器的能效低于32位处理器曾经看过ARM公司的权威工程师写的一本书书中观点是32位处理器的能效比高于8位的MCU理由是32位处理器能快速处理完任务休眠时间的比例更大但是这个结论包含一个假设就是任务有一定复杂度。如果任务本身非常简单唤醒过程的功耗也很大那么这个假设不成立。针对不同应用场景不能简单说8位、32位哪个能效比更高。至少在非常简单的应用中8位的能效比要高。如果再加上单独响应无需CPU干预的一些任务8位的能效比甚至能高出很多。相同价格的32位处理器功能远强于8位处理器这个也有一定程度的可信度但是不要忘记有相当大的一部分应用使用8位的MCU就已足够。在这种情况下非要购买平均价格高一点的32位 MCU成本就会上升。对于很多基本上标准化了的嵌入式产品来说8位MCU还是具有一定的成本优势的。8位处理器设计的应用不能适应未来变化这是个思维角度问题作为嵌入式程序员更应该考虑当前的任务。不管是什么类型的MCU如果产品形态变化了或者需求本身变化了就要重新设计。未来谁都看不清何必考虑那么多没有实际意义的前瞻。8位处理器开发工作更繁重且没有升级路径32位处理器的处理更加以软件为中心可以做更多的代码复用。而8位处理器更多地利用硬件外设来完成任务。综合而言没有绝对的差别。只要是嵌入式处理器升级路径都不大明确。如果你采用既有8位又有32位的产品的厂家你会发现很多外设都很相似。考虑到现在图形化配置外设的趋势升级路径逐渐变得不那么重要反正都是图形化或者脚本化来生成基础驱动代码。来源公众号STM32嵌入式开发