0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MakerLisp 為創(chuàng)客和嵌入式設(shè)計(jì)師提供 Lisp 和 CP/M

? 來源:聽風(fēng)說夢 ? 作者:聽風(fēng)說夢 ? 2022-08-01 11:48 ? 次閱讀

MakerLisp Embedded Lisp Machine 面向用于物聯(lián)網(wǎng)邊緣的嵌入式系統(tǒng)的制造商和開發(fā)人員。

目前,復(fù)古計(jì)算和復(fù)古顯示技術(shù)似乎正在大規(guī)模復(fù)蘇。例如,僅考慮我最近的一些專欄:“適合 Altoids 糖果罐的微型計(jì)算機(jī)復(fù)古套件”、“超級(jí)酷復(fù)古 IBM 克隆計(jì)算機(jī) DIY 套件”和“拆分翻蓋顯示器引發(fā)懷舊浪潮”。

因此,您可以想象我被介紹給路德·約翰遜(Luther Johnson)這個(gè)超越復(fù)古的人的驚喜和喜悅。作為Lisp 編程語言和CP/M 操作系統(tǒng)的忠實(shí)擁護(hù)者,Luther 懷念 1970 年代末和 1980 年代初個(gè)人微型計(jì)算機(jī)的簡單性和即時(shí)性,因此他設(shè)計(jì)并構(gòu)建了自己想要的系統(tǒng),之后他決定把它提供給其他人玩。

讓我們從 Lisp 開始,它最初于 1958 年被指定,使其成為第二古老的高級(jí)編程語言(只有 Fortran 更老,一年)。作為最早的編程語言之一,Lisp 開創(chuàng)了計(jì)算機(jī)科學(xué)的許多思想。此外,它很快成為人工智能 (AI) 早期研究最喜歡的語言。令人驚奇的是,List 至今仍在廣泛使用。Lisp 的追隨者傾向于將其描述為“一種多范式語言,對(duì)命令式、函數(shù)式和面向?qū)ο蟮木幊叹哂谐錾闹С帧保渑u(píng)者則聲稱 Lisp 是“Lots of Insipid Stupid Parentheses”的縮寫。

當(dāng)然,Luther 是一個(gè)狂熱的愛好者,他對(duì) Lisp 的描述如下:

一般來說,解釋性環(huán)境(如 Forth、BasicPython 和許多其他語言)非常適合快速原型設(shè)計(jì)和迭代開發(fā),您可以從開發(fā)和測試小塊拼圖開始,然后從可信組件構(gòu)建解決方案。在嵌入式系統(tǒng)開發(fā)中,這可能是一種特別高效的工作方式,在這種方式中,我們需要在開發(fā)軟件時(shí)觀察和了解與硬件的交互。

Lisp 語言家族[以其]簡潔的表達(dá)能力和[其]高“語義能量密度”而著稱。同時(shí),Lisp 是最簡單的語言之一,因?yàn)樗旧聿]有太多的語言需要學(xué)習(xí)。相反,您將大部分時(shí)間都花在思考自己的代碼上。由于 Lisp 的工作方式,以及從編寫 Lisp 程序的過程中演變而來的風(fēng)格,您的代碼可以更好地組合和組合在一起,并且您編寫的東西每次都可以工作,無處不在。Lisp 程序似乎用更少的代碼完成了更多工作。

Lisp 的 MakerLisp 方言是一種 Lisp,它具有表達(dá)式評(píng)估的 Scheme 模型、低級(jí)宏和具有通用 Lisp 拼寫和語義的語言函數(shù)、C 語言算術(shù)和標(biāo)準(zhǔn) C 庫函數(shù)。MakerLisp 系統(tǒng)是用可移植的 C 語言編寫的,它即時(shí) (JIT) 解釋了一種微小的核心語言。所有其他形式和功能都通過 Lisp 函數(shù)和宏提供。

具有 JIT 增量編譯的 Lisp 解釋器,如 MakerLisp,可以交付性能非常好的程序。Lisp 環(huán)境有利于快速完成工作,由此產(chǎn)生的“原型代碼”具有生產(chǎn)價(jià)值。嵌入式系統(tǒng)開發(fā)已經(jīng)夠難了。我們可以使用我們可以獲得的所有開發(fā)工具,并且我們可以在 Lisp 中利用的計(jì)算模型在嵌入式系統(tǒng)上與在其他問題領(lǐng)域中一樣高效。

盡管 MakerLisp 的 JIT 增量編譯比完全編譯的 Lisp 程序運(yùn)行得更慢,但它的運(yùn)行速度仍然比等效的 Python 代碼快三倍。不過這里的重點(diǎn)是,除了 Luther 之外,Lisp 還有很多粉絲。不幸的是,在面向物聯(lián)網(wǎng) (IoT) 邊緣的嵌入式系統(tǒng)制造商和開發(fā)人員的微控制器開發(fā)板中,您往往不會(huì)發(fā)現(xiàn) Lisp。所有這些都將我們帶到 Luther 的MakerLisp Embedded Lisp Machine:

MakerLisp Machine 的主處理器是信用卡大小的單板計(jì)算機(jī) (SBC),具有 50-MHz Zilog eZ80 和 1 MB 的 SRAM(可擴(kuò)展至 16 MB)。還有一個(gè)用于運(yùn)行實(shí)時(shí)時(shí)鐘 (RTC) 的 CR1632 電池支架,而板上的 FAT32 微型 SD 卡插槽為您的程序和數(shù)據(jù)提供存儲(chǔ)(請(qǐng)注意,電池和微型 SD 卡都不是包括在電路板上,但兩者都在商店中廣泛使用)。

存儲(chǔ)在板載閃存中的默認(rèn)系統(tǒng)軟件是 MakerLisp,它是 Scheme、Common Lisp 和 C 的混合體。不需要操作系統(tǒng) (OS),這個(gè)“裸機(jī)上的 Lisp”提供從 Lisp 的直接訪問程序到 eZ80 寄存器和外圍設(shè)備。因此,您可以在更強(qiáng)大的處理器上執(zhí)行 Arduino 類型的事情,同時(shí)在自托管的 Lisp 環(huán)境中進(jìn)行編程。

現(xiàn)在,售價(jià) 129 美元的主處理器卡本身就很有趣,但 Luther 還創(chuàng)建了一些額外的板卡,它們一起構(gòu)成了一個(gè)完整的計(jì)算機(jī)系統(tǒng),如下所示:

首先,我們有一個(gè) I/O 擴(kuò)展板,它橫跨圖片的頂部(主處理器卡插入擴(kuò)展板的左側(cè))。擴(kuò)展板為額外的外部電源提供桶形插孔和插頭引腳,以及調(diào)節(jié)的 5-V 和 3.3-V 電源。它還通過接頭引腳提供對(duì) eZ80 的所有 32 個(gè)通用輸入和輸出 (GPIO) 的訪問,供可選板和面包板電路使用。

接下來,我們有一個(gè) USB HID 鍵盤控制器主板(在圖像的中間右側(cè)),它可以管理來自大多數(shù)常見 USB 鍵盤的輸入。此外,我們還有一個(gè) VGA 顯示控制器板(在圖像的中間左側(cè)),它幾乎可以驅(qū)動(dòng)任何 VGA 監(jiān)視器,以提供 30 行 × 80 列的 9 × 16 顯示,代碼頁 437擴(kuò)展的 ASCII 文本和圖形人物。

此外,Luther 還創(chuàng)建了一個(gè)定制的激光切割木外殼來容納所有 MakerLisp 板、USB 鍵盤和用于原型設(shè)計(jì)的面包板(請(qǐng)注意,該套件不提供面包板、USB 鍵盤、VGA 顯示器和任何相關(guān)的電纜)。

整個(gè)系統(tǒng)包括主處理器卡、I/O 擴(kuò)展板、USB 和 VGA 控制器板以及定制外殼,Tindie 的MakerLisp eZ80 Lisp 和 CP/M 機(jī)器售價(jià) 296 美元(加上運(yùn)費(fèi))。

再次強(qiáng)調(diào),該套件不提供 USB 鍵盤和 VGA 顯示器,但可以從多個(gè)來源輕松獲得。例如,Vortexgear Core 鍵盤和Elecrow 10.1 英寸 HDMI VGA 顯示器。

只是為了讓您體驗(yàn)一下可能性,Luther 的一位客戶將一款名為 Black Box 的復(fù)古 BASIC 游戲移植到 MakerLisp 并參加了競賽。他因?qū)?Lisp 語言的專業(yè)使用而排名第五,第二名,這表明 Lisp 愛好者可以真正利用 MakerLisp 機(jī)器展示他們的技能并展示他們的東西。

最后但并非最不重要的一點(diǎn)是,關(guān)于 CP/M,Luther 告訴我這個(gè)端口目前正在進(jìn)行中;事實(shí)上,它已成功啟動(dòng)并運(yùn)行程序。CP/M BIOS 將與 Lisp 系統(tǒng)一起存在于 MakerLisp 處理器板的閃存中?!皩?shí)時(shí)更新”閃存工具已經(jīng)可用于安裝 Lisp 系統(tǒng)的更新,當(dāng) CP/M 端口可用時(shí),它將成為 MakerLisp 系統(tǒng)閃存更新的一部分。

那么,你說什么?你過去使用過 Lisp 還是現(xiàn)在有興趣學(xué)習(xí)它?你是否和我一樣,“咬牙切齒”地玩 MakerLisp 機(jī)器?

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3620

    瀏覽量

    129684
  • 制造商
    +關(guān)注

    關(guān)注

    0

    文章

    146

    瀏覽量

    13184
  • LISP
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    7746
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    為什么嵌入式驅(qū)動(dòng)開發(fā)工程可以拿高薪?

    為什么嵌入式驅(qū)動(dòng)開發(fā)工程可以拿高薪? 嵌入式驅(qū)動(dòng)開發(fā),屬于需求量大、薪資斷崖升高的熱門崗位,在市場的發(fā)展驅(qū)動(dòng)下成為“風(fēng)口”。從市場的整體需求來看,
    發(fā)表于 01-07 16:56

    嵌入式工程常用的開發(fā)工具有哪些?

    。 一、集成開發(fā)環(huán)境(IDE) IDE是嵌入式開發(fā)的核心工具之一。例如 Keil MDK,它支持多種微控制器架構(gòu),提供了強(qiáng)大的代碼編輯、編譯、調(diào)試功能。工程可以在一個(gè)集成的環(huán)境中高效地編寫代碼、進(jìn)行
    發(fā)表于 12-20 15:29

    AMD 面向嵌入式系統(tǒng)推出高能效 EPYC 嵌入式 8004 系列

    AMD 憑借其 EPYC? 嵌入式處理器不斷樹立行業(yè)標(biāo)準(zhǔn),網(wǎng)絡(luò)、存儲(chǔ)和工業(yè)應(yīng)用提供卓越的性能、效率、連接與創(chuàng)新。今天,我們正以第四代 AMD EPYC 嵌入式 8004 系列處理器擴(kuò)
    發(fā)表于 10-11 13:58 ?750次閱讀

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

    嵌入式主板,通常被稱為嵌入式系統(tǒng)的核心組件,是一種用于控制和數(shù)據(jù)處理的計(jì)算機(jī)硬件,其設(shè)計(jì)旨在嵌入特定設(shè)備中執(zhí)行專門任務(wù)。嵌入式主板如同是設(shè)備的“大腦”,主要功能是根據(jù)需要管理和控制設(shè)備
    的頭像 發(fā)表于 09-30 10:05 ?831次閱讀

    飛凌嵌入式技術(shù)創(chuàng)新日(深圳站)精彩回顧

    最新研發(fā)的嵌入式產(chǎn)品,與會(huì)者帶來了前沿的嵌入式產(chǎn)品體驗(yàn);選型推薦展區(qū)提供了實(shí)用的選型工具,幫助嵌入式工程
    發(fā)表于 08-28 09:06

    嵌入式QT常見開發(fā)方式有哪些?

    Unit): 對(duì)于資源極其有限的微控制器應(yīng)用場景,Qt提供了專門針對(duì)MCU的解決方案,允許在低功耗、小內(nèi)存的嵌入式系統(tǒng)上開發(fā)圖形化界面。 總之,嵌入式工程可以根據(jù)項(xiàng)目的具體需求、
    發(fā)表于 08-12 10:05

    嵌入式熱門領(lǐng)域有哪些?

    通過物聯(lián)網(wǎng)連接各種物理設(shè)備和傳感器,促使它們之間實(shí)現(xiàn)信息的交換和數(shù)據(jù)的共享。從智能家居到智能城市,物聯(lián)網(wǎng)的應(yīng)用不斷擴(kuò)展,嵌入式系統(tǒng)工程帶來了廣泛的就業(yè)機(jī)會(huì)和發(fā)展前景。 自動(dòng)駕駛 自動(dòng)駕駛技術(shù)作為
    發(fā)表于 07-16 09:23

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

    的基礎(chǔ) 嵌入式軟件工程需要具備扎實(shí)的計(jì)算機(jī)科學(xué)和工程知識(shí)。因此,在職業(yè)生涯的起步階段,建議將重點(diǎn)放在學(xué)習(xí)基礎(chǔ)知識(shí)上,包括數(shù)據(jù)結(jié)構(gòu)、算法、操作系統(tǒng)、編程語言等。通過深入學(xué)習(xí)這些基礎(chǔ)知識(shí),打下堅(jiān)實(shí)的理論基礎(chǔ),將來
    發(fā)表于 06-12 11:20

    嵌入式軟件工程和硬件工程的區(qū)別?

    部分,如微處理器、傳感器、執(zhí)行器等。他們的任務(wù)是創(chuàng)建硬件平臺(tái),以滿足軟件工程的需求,提供必要的硬件功能和性能。 定義和工作職責(zé) 嵌入式硬件工程的主要職責(zé)是設(shè)計(jì)、制造、測試和部署
    發(fā)表于 05-16 11:00

    Apple II首席設(shè)計(jì)師中國家庭設(shè)計(jì),鹿指脈鎖S6 Max引領(lǐng)科技美學(xué)

    傳達(dá)這種轉(zhuǎn)變。鹿近日發(fā)布的最新產(chǎn)品——“精準(zhǔn)識(shí)別更安全”的鹿指脈鎖S6Max,是鹿聯(lián)合全球工業(yè)設(shè)計(jì)教父、AppleII首席設(shè)計(jì)師HartmutEsslinge
    的頭像 發(fā)表于 04-23 19:00 ?379次閱讀
    Apple II首席<b class='flag-5'>設(shè)計(jì)師</b><b class='flag-5'>為</b>中國家庭設(shè)計(jì),鹿<b class='flag-5'>客</b>指脈鎖S6 Max引領(lǐng)科技美學(xué)

    嵌入式fpga是什么意思

    嵌入式FPGA是指將FPGA技術(shù)集成到嵌入式系統(tǒng)中的一種解決方案。嵌入式系統(tǒng)是一種特定應(yīng)用而設(shè)計(jì)的計(jì)算機(jī)系統(tǒng),它通常包括處理器、內(nèi)存、外設(shè)接口等組件,并且被
    的頭像 發(fā)表于 03-15 14:29 ?1358次閱讀

    fpga是嵌入式

    FPGA(現(xiàn)場可編程門陣列)不是嵌入式系統(tǒng),但FPGA在嵌入式系統(tǒng)中有著重要的應(yīng)用。
    的頭像 發(fā)表于 03-14 17:19 ?2480次閱讀

    羅徹斯特電子攜手瑞薩支持嵌入式系統(tǒng)及其設(shè)計(jì)師

    瑞薩電子是全球領(lǐng)先的微控制器和微處理器供應(yīng)商之一。瑞薩電子提供8位、16位和32位CPU內(nèi)核系列,嵌入式系統(tǒng)提供豐富的產(chǎn)品組合。瑞薩電子
    的頭像 發(fā)表于 03-12 09:28 ?453次閱讀

    嵌入式工程需要掌握哪些技術(shù)?

    嵌入式工程需要掌握哪些技術(shù)? 嵌入式系統(tǒng)是當(dāng)今科技領(lǐng)域中的重要組成部分,它們存在于我們生活的方方面面,從智能手機(jī)到汽車控制系統(tǒng),從家電到醫(yī)療設(shè)備。因此,對(duì)于那些想要進(jìn)入嵌入式行業(yè)的
    發(fā)表于 03-04 16:38

    嵌入式人工智能的就業(yè)方向有哪些?

    的發(fā)展方向有很多,門檻高低不一樣。下面給大家列舉一些相應(yīng)崗位所需具備的技能: 一:嵌入式Linux,C語言開發(fā)工程,Linux軟件開發(fā)工程 LinuxC語言開發(fā) LinuxC語言開發(fā)進(jìn)階 Linux
    發(fā)表于 02-26 10:17