0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MakerLisp 为创客和嵌入式设计师提供 Lisp 和 CP/M

那年我十七_ 来源:听风说梦 作者:听风说梦 2022-08-01 11:48 次阅读

MakerLisp Embedded Lisp Machine 面向用于物联网边缘的嵌入式系统的制造商和开发人员。

目前,复古计算和复古显示技术似乎正在大规模复苏。例如,仅考虑我最近的一些专栏:“适合 Altoids 糖果罐的微型计算机复古套件”、“超级酷复古 IBM 克隆计算机 DIY 套件”和“拆分翻盖显示器引发怀旧浪潮”。

因此,您可以想象我被介绍给路德·约翰逊(Luther Johnson)这个超越复古的人的惊喜和喜悦。作为Lisp 编程语言和CP/M 操作系统的忠实拥护者,Luther 怀念 1970 年代末和 1980 年代初个人微型计算机的简单性和即时性,因此他设计并构建了自己想要的系统,之后他决定把它提供给其他人玩。

让我们从 Lisp 开始,它最初于 1958 年被指定,使其成为第二古老的高级编程语言(只有 Fortran 更老,一年)。作为最早的编程语言之一,Lisp 开创了计算机科学的许多思想。此外,它很快成为人工智能 (AI) 早期研究最喜欢的语言。令人惊奇的是,List 至今仍在广泛使用。Lisp 的追随者倾向于将其描述为“一种多范式语言,对命令式、函数式和面向对象的编程具有出色的支持”,而其批评者则声称 Lisp 是“Lots of Insipid Stupid Parentheses”的缩写。

当然,Luther 是一个狂热的爱好者,他对 Lisp 的描述如下:

一般来说,解释性环境(如 Forth、BasicPython 和许多其他语言)非常适合快速原型设计和迭代开发,您可以从开发和测试小块拼图开始,然后从可信组件构建解决方案。在嵌入式系统开发中,这可能是一种特别高效的工作方式,在这种方式中,我们需要在开发软件时观察和了解与硬件的交互。

Lisp 语言家族[以其]简洁的表达能力和[其]高“语义能量密度”而著称。同时,Lisp 是最简单的语言之一,因为它本身并没有太多的语言需要学习。相反,您将大部分时间都花在思考自己的代码上。由于 Lisp 的工作方式,以及从编写 Lisp 程序的过程中演变而来的风格,您的代码可以更好地组合和组合在一起,并且您编写的东西每次都可以工作,无处不在。Lisp 程序似乎用更少的代码完成了更多工作。

Lisp 的 MakerLisp 方言是一种 Lisp,它具有表达式评估的 Scheme 模型、低级宏和具有通用 Lisp 拼写和语义的语言函数、C 语言算术和标准 C 库函数。MakerLisp 系统是用可移植的 C 语言编写的,它即时 (JIT) 解释了一种微小的核心语言。所有其他形式和功能都通过 Lisp 函数和宏提供。

具有 JIT 增量编译的 Lisp 解释器,如 MakerLisp,可以交付性能非常好的程序。Lisp 环境有利于快速完成工作,由此产生的“原型代码”具有生产价值。嵌入式系统开发已经够难了。我们可以使用我们可以获得的所有开发工具,并且我们可以在 Lisp 中利用的计算模型在嵌入式系统上与在其他问题领域中一样高效。

尽管 MakerLisp 的 JIT 增量编译比完全编译的 Lisp 程序运行得更慢,但它的运行速度仍然比等效的 Python 代码快三倍。不过这里的重点是,除了 Luther 之外,Lisp 还有很多粉丝。不幸的是,在面向物联网 (IoT) 边缘的嵌入式系统制造商和开发人员的微控制器开发板中,您往往不会发现 Lisp。所有这些都将我们带到 Luther 的MakerLisp Embedded Lisp Machine:

MakerLisp Machine 的主处理器是信用卡大小的单板计算机 (SBC),具有 50-MHz Zilog eZ80 和 1 MB 的 SRAM(可扩展至 16 MB)。还有一个用于运行实时时钟 (RTC) 的 CR1632 电池支架,而板上的 FAT32 微型 SD 卡插槽为您的程序和数据提供存储(请注意,电池和微型 SD 卡都不是包括在电路板上,但两者都在商店中广泛使用)。

存储在板载闪存中的默认系统软件是 MakerLisp,它是 Scheme、Common Lisp 和 C 的混合体。不需要操作系统 (OS),这个“裸机上的 Lisp”提供从 Lisp 的直接访问程序到 eZ80 寄存器和外围设备。因此,您可以在更强大的处理器上执行 Arduino 类型的事情,同时在自托管的 Lisp 环境中进行编程。

现在,售价 129 美元的主处理器卡本身就很有趣,但 Luther 还创建了一些额外的板卡,它们一起构成了一个完整的计算机系统,如下所示:

首先,我们有一个 I/O 扩展板,它横跨图片的顶部(主处理器卡插入扩展板的左侧)。扩展板为额外的外部电源提供桶形插孔和插头引脚,以及调节的 5-V 和 3.3-V 电源。它还通过接头引脚提供对 eZ80 的所有 32 个通用输入和输出 (GPIO) 的访问,供可选板和面包板电路使用。

接下来,我们有一个 USB HID 键盘控制器主板(在图像的中间右侧),它可以管理来自大多数常见 USB 键盘的输入。此外,我们还有一个 VGA 显示控制器板(在图像的中间左侧),它几乎可以驱动任何 VGA 监视器,以提供 30 行 × 80 列的 9 × 16 显示,代码页 437扩展的 ASCII 文本和图形人物。

此外,Luther 还创建了一个定制的激光切割木外壳来容纳所有 MakerLisp 板、USB 键盘和用于原型设计的面包板(请注意,该套件不提供面包板、USB 键盘、VGA 显示器和任何相关的电缆)。

整个系统包括主处理器卡、I/O 扩展板、USB 和 VGA 控制器板以及定制外壳,Tindie 的MakerLisp eZ80 Lisp 和 CP/M 机器售价 296 美元(加上运费)。

再次强调,该套件不提供 USB 键盘和 VGA 显示器,但可以从多个来源轻松获得。例如,Vortexgear Core 键盘和Elecrow 10.1 英寸 HDMI VGA 显示器。

只是为了让您体验一下可能性,Luther 的一位客户将一款名为 Black Box 的复古 BASIC 游戏移植到 MakerLisp 并参加了竞赛。他因对 Lisp 语言的专业使用而排名第五,第二名,这表明 Lisp 爱好者可以真正利用 MakerLisp 机器展示他们的技能并展示他们的东西。

最后但并非最不重要的一点是,关于 CP/M,Luther 告诉我这个端口目前正在进行中;事实上,它已成功启动并运行程序。CP/M BIOS 将与 Lisp 系统一起存在于 MakerLisp 处理器板的闪存中。“实时更新”闪存工具已经可用于安装 Lisp 系统的更新,当 CP/M 端口可用时,它将成为 MakerLisp 系统闪存更新的一部分。

那么,你说什么?你过去使用过 Lisp 还是现在有兴趣学习它?你是否和我一样,“咬牙切齿”地玩 MakerLisp 机器?

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式系统
    +关注

    关注

    41

    文章

    3551

    浏览量

    129094
  • 制造商
    +关注

    关注

    0

    文章

    144

    浏览量

    13094
  • LISP
    +关注

    关注

    0

    文章

    12

    浏览量

    7709
收藏 人收藏

    评论

    相关推荐

    AMD 面向嵌入式系统推出高能效 EPYC 嵌入式 8004 系列

    AMD 凭借其 EPYC™ 嵌入式处理器不断树立行业标准,网络、存储和工业应用提供卓越的性能、效率、连接与创新。今天,我们正以第四代 AMD EPYC 嵌入式 8004 系列处理器扩
    发表于 10-11 13:58 661次阅读

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被称为嵌入式系统的核心组件,是一种用于控制和数据处理的计算机硬件,其设计旨在嵌入特定设备中执行专门任务。嵌入式主板如同是设备的“大脑”,主要功能是根据需要管理和控制设备
    的头像 发表于 09-30 10:05 313次阅读

    飞凌嵌入式技术创新日(深圳站)精彩回顾

    最新研发的嵌入式产品,与会者带来了前沿的嵌入式产品体验;选型推荐展区提供了实用的选型工具,帮助嵌入式工程
    发表于 08-28 09:06

    嵌入式热门领域有哪些?

    通过物联网连接各种物理设备和传感器,促使它们之间实现信息的交换和数据的共享。从智能家居到智能城市,物联网的应用不断扩展,嵌入式系统工程带来了广泛的就业机会和发展前景。 自动驾驶 自动驾驶技术作为
    发表于 07-16 09:23

    嵌入式软件工程如何提升自己?

    的基础 嵌入式软件工程需要具备扎实的计算机科学和工程知识。因此,在职业生涯的起步阶段,建议将重点放在学习基础知识上,包括数据结构、算法、操作系统、编程语言等。通过深入学习这些基础知识,打下坚实的理论基础,将来
    发表于 06-12 11:20

    嵌入式软件工程和硬件工程的区别?

    部分,如微处理器、传感器、执行器等。他们的任务是创建硬件平台,以满足软件工程的需求,提供必要的硬件功能和性能。 定义和工作职责 嵌入式硬件工程的主要职责是设计、制造、测试和部署
    发表于 05-16 11:00

    Apple II首席设计师中国家庭设计,鹿指脉锁S6 Max引领科技美学

    传达这种转变。鹿近日发布的最新产品——“精准识别更安全”的鹿指脉锁S6Max,是鹿联合全球工业设计教父、AppleII首席设计师HartmutEsslinge
    的头像 发表于 04-23 19:00 313次阅读
    Apple II首席<b class='flag-5'>设计师</b><b class='flag-5'>为</b>中国家庭设计,鹿<b class='flag-5'>客</b>指脉锁S6 Max引领科技美学

    嵌入式fpga是什么意思

    嵌入式FPGA是指将FPGA技术集成到嵌入式系统中的一种解决方案。嵌入式系统是一种特定应用而设计的计算机系统,它通常包括处理器、内存、外设接口等组件,并且被
    的头像 发表于 03-15 14:29 1165次阅读

    罗彻斯特电子携手瑞萨支持嵌入式系统及其设计师

    瑞萨电子是全球领先的微控制器和微处理器供应商之一。瑞萨电子提供8位、16位和32位CPU内核系列,嵌入式系统提供丰富的产品组合。瑞萨电子
    的头像 发表于 03-12 09:28 393次阅读

    嵌入式人工智能的就业方向有哪些?

    的发展方向有很多,门槛高低不一样。下面给大家列举一些相应岗位所需具备的技能: 一:嵌入式Linux,C语言开发工程,Linux软件开发工程 LinuxC语言开发 LinuxC语言开发进阶 Linux
    发表于 02-26 10:17

    什么是嵌入式系统?嵌入式系统的具体应用

    嵌入式,一般是指嵌入式系统。用于控制、监视或者辅助操作机器和设备的装置。
    的头像 发表于 12-20 13:33 2335次阅读

    嵌入式硬件和软件哪个好?

    嵌入式硬件和软件哪个好? 嵌入式软硬件工程哪个更有前途呢?一起来看看。 嵌入式是分为软硬件工程的,首先我们先来看看
    发表于 12-05 15:17

    菁蓉联获得首个openEuler嵌入式操作系统技术测评证书

    近日,成都菁蓉联科技有限公司(简称:菁蓉联)携手四川鲲鹏&欧拉生态创新中心完成首个openEuler嵌入式操作系统技术测评证书。
    的头像 发表于 11-28 10:18 977次阅读
    菁蓉联<b class='flag-5'>创</b>获得首个openEuler<b class='flag-5'>嵌入式</b>操作系统技术测评证书

    嵌入式系统原理与设计

    电子发烧友网站提供嵌入式系统原理与设计.zip》资料免费下载
    发表于 11-17 14:10 0次下载
    <b class='flag-5'>嵌入式</b>系统原理与设计

    为什么嵌入式没有35岁危机?

    岁危机呢? 首先,嵌入式技术的应用领域非常广泛。它不仅仅局限于软件开发,还需要与硬件密切结合。相比之下,其他IT岗位如软件工程、系统管理员等更容易受到年龄因素的限制。嵌入式技术的工作内容常常需要
    发表于 11-17 10:33