1986年,年轻的莱因哈德·凯尔(Reinhard Keil)在德国的一次贸易展上遇到了一位来自美国的英特尔应用工程师。他们交谈了,莱因哈德提出他正在为8051开发C编译器。事实上,这将成为世界上第一个用于 8051 的 C 编译器。英特尔人问他:“你为什么要浪费时间?8051很快就会死...我们即将推出更好的产品。把你的时间花在有价值的事情上”。当时,英特尔计划用新的8051位16取代8096。您可能将 8096 称为“80C196”或简称为“196”。
这个家伙错得多么不可思议。196 是一个相当成功的家族 - 但现在已经消失了,当然从未设法取代 8051。幸运的是,Reinhard忽略了他的建议,继续他的工作,最终以著名的Keil C51™编译器达到高潮。
许多其他人已经预测甚至宣布了8051的消亡,但这个传奇的产品线仍在继续,即使它已经有30年的历史了。今天,市场上仍在添加新设备,Reinhard继续他在C51和他的IDE,μVision上的工作。
8051行业反应:
取决于你和谁交谈 - 8051要么消失,要么向下漂移,要么稳定或轻度增加。这是一个多面硬币的经典案例,所有8051玩家对事件都有自己的看法。有一个问题 什么正在增长 ?售出的筹码数量 ?引入的新芯片数量?有多少新设计获胜,在哪里?美国、亚洲、欧洲?目前有多少开发人员使用 8051?
这些许多不同的观点可以解释为8051市场的转变创造了新的参与者,并将一些老玩家边缘化到场边。较新的8051芯片是从不同的角度设计的。这种观点往往更多地关注外围设备,而8051用于“驱动”或“控制”这些外围设备。稍后从哈尔·巴伯(Hal Barbour)那里得到更多关于这一点的信息。
现实情况是,8051 在许多应用中都表现出色和经济性。这是近乎完美的部分 - 再加上大量的工具,经验丰富的开发人员和大量的现有代码来执行最令人惊讶的数字壮举......所有这些都来自仅 8 位架构。
为什么 8051 持续了这么多年,尤其是现在新的强大的 32 位 ARM Cortex-M3™ 设备只需 1 美元即可购买?8051将被这些类型的设备取代是有道理的。然后,8051设备将仅在少数传统产品中找到。但是,8051无处不在!
今天的8051与过去的8不同。它更快,更小,具有更多的ROM和RAM(带银行),更多的数据指针(最多12个),每条指令的周期要少得多(从1到2或8051),以及许多新的外围设备。它可以是编程到FPGA中的芯片或门。<> 不断发展。
8051 是当今生产的许多现代产品的组成部分。真空吸尘器上的开关按钮可能只是为8051提供输入,而8051又打开了三端双向可控硅。这允许便宜的开关和电机控制。或者,新 Cisco 路由器上的显示指示灯可能由 8051 控制。这种类型的列表很长。您的 PC 键盘可能由 <> 供电。
开发工具:
对给定体系结构的长期支持通常发生在开发工具过时或完全丢失时。当对设备的活动支持消失并且不再保持最新时,就会发生这种情况。由于许多参与者已经开始从事更新,更有利可图和更令人兴奋的企业,因此缺乏兴趣。工程师和技术支持人员经常转向新的工作,他们的技能和知识也随之发展。一些公司依靠剩余销售,除了维护网站和一系列销售其他补充产品的代表外,很少或根本没有新的开发,也很少有活动。
但8051市场对许多玩家来说仍然很有趣并且有利可图。首先,Keil继续提供持续的支持和产品开发。这不太可能很快结束。还有其他公司以同样的方式运作。当然,它们足以维持 8051 工具行业。
也可以说,与8051诞生后的头几年相比,今天可以使用更多,更好,更便宜的开发工具。
编译 器:
编译器是任何微控制器工具链的关键焦点。一旦选择了芯片,编译器就会首先出现在购买清单上,其他一切都随之而来。几乎每个人都必须购买编译器。少数人可能只购买汇编程序,并且有人再手动编码组装是值得怀疑的。其他组件(如在线仿真器和RTOS)是不错的选择,但并非绝对必要。
由于 8051 的资源有限,高级编译器很重要。代码大小尤其重要,因为可用的ROM量很少。Atmel 有几个只有 2KB 的部件,这对于任何项目来说都是一个紧密的契合点。增加内存大小的银行方案需要快速、易于实施且健壮。一个好的编译器可以帮助您在项目中获得适当的代码大小和速度平衡。由于堆栈有限,RTOS支持很棘手。Keil C51 在这些方面表现出色,这就是为什么它已成为全球事实上的标准。
许多编译器公司认为 8051 是稳定的或非常缓慢的增长。Keil的8051业务规模庞大,积极的开发工作仍在进行中。编译器中几乎没有(也许没有)错误,但Keil工程师一直忙于在他们的设备数据库中®安装新设备。在撰写本文时,Keil 工程师估计需要 3 到 4 天才能将过去几个月的所有新 8051 设备和公司输入数据库!
此外,总有一些公司更改8051组件,例如中断,数据指针和堆栈的实现方式。编译器必须适应这些更改。
其他编译器公司声称拥有大量且不断增长的8051业务,但由于竞争保密,这很难准确确认。做出虚假的营销和销售声明相当容易。
Temic 251。带有窗口的特殊开发芯片,允许擦除OTP(一次性可编程)EPROM存储器。这种芯片非常罕见,在最好的时候很难获得。
大约 10 年前,模拟器和编译器一样是必要的购置。从那以后,在线仿真器(ICE)公司的销售额急剧下降。8051的ICE已经变得非常复杂,并提供了先进的功能。当今基于JTAG的调试器通常无法匹配其功率。内燃机受到芯片技术变化的影响很大。主要是因为每条指令的周期更少,核心速度提高,以及8051公司不愿意提供昂贵的键合芯片。
JTAG到USB适配器,如Keil ULINK®2,严格来说不是模拟器。它们提供生产芯片内的调试模块与PC上运行的调试器软件之间的连接。您可以认为调试技术从外部 ICE 转移到 8051 芯片内部。当然,不可能将所有ICE功能都移到芯片上 - 这将占用太多空间。
仿真器分为两大阵营:1)外部地址/数据总线和2)单芯片应用。
对于仿真器来说,外部总线设计要简单得多。仿真器可以访问并可以使用秘密技巧来操作地址、数据和控制总线,以启动、停止和查询处理器。硬件断点易于实现,并且可以是无限数量的,因为模拟器使用 RAM 比较器。软件断点很难添加到只读存储器(如闪存或 EPROM)中。
带有 OKI 探头的 Signum Systems 在线仿真器调试 Keil 8051 板。
在不打滑的情况下停止处理器并重建某些端口和控制线特别具有挑战性,需要几年时间才能充分解决。打滑是指无法停止执行放置硬件断点的指令。
单芯片应用对Ice来说更难支持。地址和数据总线对模拟器不可见。芯片上没有特殊功能的硬件断点是不可能的。软件断点很难添加到闪存等只读内存中。进入芯片内部的通道必须由称为键合的特殊芯片提供,或者将特殊的调试模块集成到每个生产芯片中,例如FS2和Signum Systems的“钩子”,OCDS或IP产品。
仿真器将目标板上的 MCU 替换为安装在 Pod 上的绑定芯片或常规生产芯片。键合是众所周知的昂贵专门设计的芯片,其额外的引脚连接到内部节点以提供调试访问。使用最新的芯片版本保持绑定是相当具有挑战性的。为模拟器更换绑定正成为一个严重的问题。
8051 中最常用的调试模块是 Hooks 和 Enhanced Hooks。他们的集成模块占用了生产芯片上宝贵的芯片空间。这些模块不用于常规操作:仅在调试会话期间使用。
高级 8051 仿真器制造商包括 Signum Systems 和 Hitex。Nohau是较畅销的产品之一,但技术并不先进。好的 8051 ICE 在十年前的流行高峰期的价格在 3,500 美元到 5,500 美元之间......并且今天仍然在这个价格范围内!还有一些更便宜和功能较差的模型,有些人发现适合他们的需求。
对于内燃机来说,最大的问题可能是引入单时钟或双时钟8051。最初的调试技术,如钩子和增强钩子(由MetaLink许可)在MCU中使用了一个调试模块,该模块依赖于地址/数据总线上的空周期将命令和数据传入和传出外界。那时 8051 每条指令使用 12 个周期。现代 8051 设计现在每条指令需要 1 或 2 个周期,结果没有空间了!
另一个严重的问题是8051内核的速度越来越快。模拟器开始很难跟上。此问题也发生在其他体系结构中。
内容太多,请查看附件
8051_market_in_2008_cn.pdf
(2 MB)
|