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

    文章

    3817

    浏览量

    133864
  • 制造商
    +关注

    关注

    0

    文章

    149

    浏览量

    13713
  • LISP
    +关注

    关注

    0

    文章

    12

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RZ/V2M:助力嵌入式设备的Vision AI高性能芯片

    芯片作为一款专为实时人类和物体识别设计的Vision AI ASSP,具有诸多卓越特性,嵌入式市场带来了新的解决方案。今天,我们就来深入了解一下这款芯片。 文件下载: rzv2m.pdf 一、芯片
    的头像 发表于 04-01 13:50 173次阅读

    2025嵌入式开发教程|远航哥

    https://www.bilibili.com/opus/1178756596191199237 嵌入式通信协议三剑:串口、I2C与SPI的深度解析 在嵌入式系统开发中,通信协议是设备间数据交互
    的头像 发表于 03-20 17:35 1307次阅读
    2025<b class='flag-5'>嵌入式</b>开发教程|远航哥

    探索Renesas AIK - RA6M3:开启嵌入式开发新旅程

    探索Renesas AIK - RA6M3:开启嵌入式开发新旅程 在嵌入式开发的广阔领域中,Renesas的AIK - RA6M3套件犹如一颗璀璨的新星,
    的头像 发表于 12-29 10:05 508次阅读

    RZ/A3M芯片:性能卓越的嵌入式解决方案

    RZ/A3M芯片:性能卓越的嵌入式解决方案 在嵌入式系统设计领域,选择一款合适的芯片对于产品的成功至关重要。Renesas的RZ/A3M芯片凭借其丰富的功能和出色的性能,成为了众多工程
    的头像 发表于 12-26 17:25 681次阅读

    RTOS在嵌入式开发中的作用

    嵌入式系统中,有很多方式实现任务调度。功能有限的小系统中,无限循环足够实现系统功能。当软件设计变得庞大且复杂时,设计师应该考虑使用RTOS(实时操作系统)。 下面给大家分享使用RTOS的8个理由
    发表于 12-26 07:53

    系统嵌入式的学习路线

    到搞的很精通,我要学会抓住重点,学会取舍,达到一通百通,事半功倍的学习效果。 首先嵌入式技术主要分为嵌入式软件和嵌入式硬件2大方向。 嵌入式硬件方向
    发表于 12-16 07:49

    ARM嵌入式这样学

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

    嵌入式就业形势好不好?

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

    硬件工程嵌入式软件哪个更有前途?

    不少人琢磨硬件工程嵌入式软件到底哪个更有前途,其实从实际职场情况和成长路子看,差别还挺清楚的。先说说天花板这事,一般来讲,硬件工程的职业天花板还真比嵌入式软件低 —— 硬件岗位大
    的头像 发表于 09-10 10:43 1317次阅读

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

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

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

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

    Linux嵌入式和单片机嵌入式的区别?

    Linux嵌入式与单片机嵌入式在多个方面存在显著的区别,以下是详细的比较和归纳: 一、基本概念 1. Linux嵌入式: 定义:将Linux操作系统运行在嵌入式设备上的一种配置。
    发表于 06-20 09:46

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

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

    从“代码迷宫”到“视觉蓝图”——LVGL的嵌入式UI设计哲学!

    传统嵌入式UI开发常陷入“逻辑与美感的博弈”,LVGL则重构这一逻辑。其基于事件驱动的架构将界面元素解耦独立对象,开发者可通过状态机模型定义交互行为。更惊艳的是,LVGL支持导入设计师输出的SVG
    的头像 发表于 05-12 16:33 1382次阅读
    从“代码迷宫”到“视觉蓝图”——LVGL的<b class='flag-5'>嵌入式</b>UI设计哲学!

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

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