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

    文章

    3716

    浏览量

    133107
  • 制造商
    +关注

    关注

    0

    文章

    148

    浏览量

    13632
  • LISP
    +关注

    关注

    0

    文章

    12

    浏览量

    7975
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ARM嵌入式这样学

    的内核就是ARM内核,它的主频高很多,普通的都有几百M。CPU缓存大,分有很多级的流水处理线,这样大大提高了CPU利用率。这种IC的资源足以让一个嵌入式操作系统正常跑起来,WINCE, LINUX
    发表于 12-04 07:48

    嵌入式就业形势好不好?

    投身该领域的工程提供参考。 一、行业热闹背后的就业现实 近年来,随着物联网、人工智能等技术的兴起,嵌入式行业迎来了前所未有的发展机遇。岗位需求看似繁多,但企业对于人才的要求却日益严苛。 过去,掌握
    发表于 11-10 11:48

    嵌入式工程为什么要学QT?

    、Clang、MSVC等,并提供了跨平台的编译和发布流程。 强大的集成开发环境(IDE) Qt Creator提供了代码编辑、调试、构建和发布功能,极大地提升了开发效率。 因此,Qt是嵌入式工程
    发表于 08-14 15:15

    盘点嵌入式就业所需要的技能有哪些?

    来说,嵌入式就业方向无疑提供了广阔的职业发展空间和无限的创新可能。接下来,我们将深入探讨嵌入式就业的方向,分析不同领域的就业机会,并指出每个方向所需的关键技能,以帮助求职者更好地规划自己的职业路径
    发表于 08-11 15:43

    嵌入式开发入门指南:从零开始学习嵌入式

    随着物联网、智能硬件的发展,嵌入式开发成为热门技能之一。以下将为初学者提供一份详细的嵌入式开发入门指南,涵盖学习路径、必备工具、推荐资源等内容。 1. 嵌入式系统的定义与应用
    发表于 05-15 09:29

    飞凌嵌入式2025嵌入式及边缘AI技术论坛圆满结束

    飞凌嵌入式「2025嵌入式及边缘AI技术论坛」在深圳深铁皇冠假日酒店盛大举行,此次活动邀请到了200余位嵌入式技术领域的技术专家、企业代表和工程用户,共享
    的头像 发表于 04-28 13:57 3839次阅读
    飞凌<b class='flag-5'>嵌入式</b>2025<b class='flag-5'>嵌入式</b>及边缘AI技术论坛圆满结束

    如何成为一名嵌入式软件工程

    如何成为一名嵌入式软件工程? 01明确岗位的角色与定位 嵌入式软件工程主要负责开发运行在特定硬件平台上的软件,这些软件通常与硬件紧密集成,以实现特定的功能。 不仅需要精通编程语言
    发表于 04-15 14:37

    嵌入式去哪个城市好?

    对于嵌入式技术从业者来说,选择哪个城市发展是一个重要的决策。以下是一些建议: 一线城市 北京作为中国的首都和科技中心,北京拥有众多顶尖的高校和研究机构,以及大量的高科技企业,嵌入式开发和应用
    发表于 04-02 10:12

    嵌入式系统开发圣经【干货】

    内容包括:嵌入式系统的介绍、嵌入式SoC硬件系统概论、嵌入式系统软件开发。适用于产品主管、系统设计分析人员及欲进入该领域的工程。本资料详细的理论讲解,广泛深入地分析相关的
    发表于 03-12 13:58

    电子发烧友荣获飞凌嵌入式“2024年度最具价值媒体”奖

    战略级生态共建。作为电子发烧友企业号体系的最高级别合作伙伴,飞凌嵌入式将依托平台全域流量、精准开发者社群及定制化服务能力,打造嵌入式领域的“技术资源中枢”,工程
    发表于 02-28 15:20

    嵌入式软件工程就业好不好?

    嵌入式软件工程就业好不好?会不会越老越吃香?今天一起来看看。 首先看下市场需求。 随着物联网、人工智能、5G等前沿技术的快速发展,嵌入式系统的应用领域不断扩大,从智能家居、汽车电子到工业自动化
    发表于 02-20 10:19

    如何成为嵌入式开发工程

    ,参加相关的研讨会和培训课程,阅读专业书籍和论文。 9. 认证和网络:- 考虑获取相关认证,这可以增加你的市场竞争力。- 加入专业组织和在线社区,扩展你的人际网络。 通过上述步骤的学习和实践,你可以逐步成长一名合格的嵌入式开发工程
    发表于 02-19 10:39

    月薪 3 万的嵌入式工程都在用,串口屏到底神在哪?

    作为一名资深的嵌入式工程,我深知在选择硬件组件时,性能、可靠性、易用性和成本效益都是至关重要的考量因素。月薪3万的嵌入式工程们之所以倾向于使用串口屏,主要是基于以下几个方面的考量
    的头像 发表于 02-12 10:33 954次阅读
    月薪 3 万的<b class='flag-5'>嵌入式</b>工程<b class='flag-5'>师</b>都在用,串口屏到底神在哪?

    为什么嵌入式驱动开发工程可以拿高薪?

    为什么嵌入式驱动开发工程可以拿高薪? 嵌入式驱动开发,属于需求量大、薪资断崖升高的热门岗位,在市场的发展驱动下成为“风口”。从市场的整体需求来看,
    发表于 01-07 16:56

    嵌入式工程常用的开发工具有哪些?

    。 一、集成开发环境(IDE) IDE是嵌入式开发的核心工具之一。例如 Keil MDK,它支持多种微控制器架构,提供了强大的代码编辑、编译、调试功能。工程可以在一个集成的环境中高效地编写代码、进行
    发表于 12-20 15:29