开发者生态
evening
我构建的软件:25MHz 486-SX 上的 GPS
2026-09-16
1 阅读
约3分钟阅读
JPLeRouzic
字号:
我不知道是否有人关心这样的事情,但我想我应该分享一个关于我在 90 年代作为嵌入式系统软件开发人员受雇构建的项目的简短故事。这是一个我希望我仍然可以访问的项目。这是我从事的工作,我被要求构建一个“实时 GPS 驱动的移动地图显示”——我们今天简称为“GPS”。直到今天,它才被内置到世界上几乎每部手机和平板电脑中。我被要求编写这个软件,以便它在具有 25MHz 486-SX CPU、32MB RAM 的硬件平台上运行,并且软件将位于 ROM 中。 IIRC,屏幕显示为1024x768。他们给了我一台配置类似的笔记本电脑进行测试。 486-SX 是一款没有数学协处理器的处理器。当时,我能找到的所有 GIS 应用程序的数学资料都是围绕大量使用浮点数和大量三角公式构建的。 (我的学士学位是数学/计算机科学。)碰巧的是,几个月前,Dobb 博士的期刊上发表了一篇文章,介绍了一个采用截然不同方法的图书馆。它被称为喜帕恰斯 (Hipparchus),来自一家名为 Geodesy 的公司。它使用 Voronoi Cells,将大部分数学运算简化为 8 位和 16 位整数计算,并使用一到两个单精度浮点计算。它实际上比扩展精度浮点数学具有更高的分辨率!我使用那篇文章中的代码构建了一个原型,并对它的运行效果感到惊讶。我让客户购买了喜帕恰斯库的副本并构建了一个完整的工作模型。客户遇到了一些财务问题,我不得不将所有的东西交给他们。我不知道之后发生了什么。他们本来可以成为价值十亿美元的企业。奇怪的是,有人听说了我所做的事情并直接联系我,看看我是否可以为他们做这件事。不幸的是,我只是一个承包商,并不拥有知识产权。值得一提的是,Phoenix Technologies 采用“无尘室”方法构建自己的 BIOS 供 IBM PC 克隆供应商使用,而且他们从未因此受到起诉。但直到 1989 年,苹果公司和富兰克林计算机公司之间的诉讼才以有利于“洁净室”方法的方式解决了问题。不幸的是,我在 1993 年并不知道这些东西,否则我就会知道只需从规格开始。不管怎样,五年前人们才看到 Garmin 或 Magellan 的消费级 GPS 设备。他们遇到的大问题是……需要很长时间才能获得具有足够浮点速度的廉价 CPU 来运行传统的三角算法。而且,我构建的速度是第一代设备的两倍!确实是在 10 年前,人们才拥有了消费级 GPS,其性能与我在 1993 年制造的 GPS 类似,不需要数学协处理器,并且每 2 秒更新一次 1024x768 彩色显示屏。最初的小型消费类 GPS 设备配备了 360x240 的微型单色屏幕。
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱