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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

審核編輯 黃昊宇

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

    關(guān)注

    40

    文章

    3520

    瀏覽量

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

    關(guān)注

    0

    文章

    143

    瀏覽量

    13039
  • LISP
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    7704
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

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

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

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

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

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

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

    嵌入式fpga是什么意思

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

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

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

    什么是嵌入式系統(tǒng)?嵌入式系統(tǒng)的具體應(yīng)用

    嵌入式,一般是指嵌入式系統(tǒng)。用于控制、監(jiān)視或者輔助操作機器和設(shè)備的裝置。
    的頭像 發(fā)表于 12-20 13:33 ?2131次閱讀

    嵌入式硬件和軟件哪個好?

    嵌入式硬件和軟件哪個好? 嵌入式軟硬件工程哪個更有前途呢?一起來看看。 嵌入式是分為軟硬件工程的,首先我們先來看看
    發(fā)表于 12-05 15:17

    菁蓉聯(lián)創(chuàng)獲得首個openEuler嵌入式操作系統(tǒng)技術(shù)測評證書

    近日,成都菁蓉聯(lián)創(chuàng)科技有限公司(簡稱:菁蓉聯(lián)創(chuàng))攜手四川鯤鵬&歐拉生態(tài)創(chuàng)新中心完成首個openEuler嵌入式操作系統(tǒng)技術(shù)測評證書。
    的頭像 發(fā)表于 11-28 10:18 ?849次閱讀
    菁蓉聯(lián)<b class='flag-5'>創(chuàng)</b>獲得首個openEuler<b class='flag-5'>嵌入式</b>操作系統(tǒng)技術(shù)測評證書

    為什么嵌入式沒有35歲危機?

    歲危機呢? 首先,嵌入式技術(shù)的應(yīng)用領(lǐng)域非常廣泛。它不僅僅局限于軟件開發(fā),還需要與硬件密切結(jié)合。相比之下,其他IT崗位如軟件工程、系統(tǒng)管理員等更容易受到年齡因素的限制。嵌入式技術(shù)的工作內(nèi)容常常需要
    發(fā)表于 11-17 10:33

    如何成為一名優(yōu)秀的嵌入式工程

    利用指針直接操作內(nèi)存,這有助于你更高效地使用內(nèi)存。 3.熟悉數(shù)據(jù)結(jié)構(gòu):C語言提供了許多基本的數(shù)據(jù)結(jié)構(gòu),如數(shù)組、鏈表、棧、隊列等。作為嵌入式工程,你需要熟悉并掌握這些數(shù)據(jù)結(jié)構(gòu)的特點和用法,以便在編程時能夠
    發(fā)表于 11-07 15:36

    嵌入式軟件與生態(tài)系統(tǒng):嵌入式開發(fā)者提供必要的組件

    Xilinx 提供兩款工具來構(gòu)建和部署嵌入式 Linux 解決方案。這些工具有 Xilinx 的 PetaLinux 和 Yocto 的開源項目。PetaLinux 用戶提供一個 G
    的頭像 發(fā)表于 10-31 16:59 ?505次閱讀
    <b class='flag-5'>嵌入式</b>軟件與生態(tài)系統(tǒng):<b class='flag-5'>為</b><b class='flag-5'>嵌入式</b>開發(fā)者<b class='flag-5'>提供</b>必要的組件

    嵌入式軟件不需要架構(gòu)嗎?為什么沒有嵌入式軟件架構(gòu)

    我的看法:目前國內(nèi)的嵌入式開發(fā)主要分為嵌入式底層開發(fā)和嵌入式應(yīng)用開發(fā),嵌入式的底層開發(fā)一般叫做驅(qū)動開發(fā),或者bsp開發(fā),有時也有稱之為linux內(nèi)核開發(fā),名字聽著都很高大上的感覺。
    發(fā)表于 10-27 14:45 ?448次閱讀
    <b class='flag-5'>嵌入式</b>軟件不需要架構(gòu)嗎?為什么沒有<b class='flag-5'>嵌入式</b>軟件架構(gòu)<b class='flag-5'>師</b>?

    什么是嵌入式Linux?

    發(fā)展需要不斷進化。隨著芯片性能的增強和社會變革的需要,嵌入式系統(tǒng)越來越承接更多、更復(fù)雜的功能,所以嵌入式開發(fā)也以高薪穩(wěn)定的狀態(tài)穩(wěn)坐在就業(yè)的頂端。(相較于其他行業(yè),嵌入式工程的工資在同
    發(fā)表于 10-11 13:47