
Ox64:售价8美元的RISC-V Linux计算机
来源标题:The $8 Linux Computer (2022)
一款售价仅8美元的Ox64开发板可运行完整Linux,搭载三核异构RISC-V处理器,形态类似微控制器但行为如同UNIX机器。不过目前以太网、WiFi和SD卡均无法使用,且必须通过UART引脚而非USB进行编程,在Wayland下烧录工具还会崩溃。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
是的,你没看错……只需8美元,你就能在一台RISC-V电脑上运行Linux。而且不是那种没有MMU的精简内核。不,Ox64配备了性能不错的RISC-V核心。不止一个核心,而是三个核心(各不相同)。激动人心的时代!
买家自慎!在撰写本文时,以太网、WiFi和SD卡均无法工作。在入手之前最好先了解这一点。
它看起来像单片机,但行为却像一台UNIX机器。很酷,对吧?不过,让它启动并运行起来远非易事。需要跨越的障碍太多了!
障碍1:你不能像Arduino、ESP32、Stamp-C3或rPi Pico那样通过USB对它进行编程。不行……它需要通过UART TX/RX引脚进行编程。在上图中,你可以看到它们连接到GPIO14 / GPIO15和GND。
障碍2:在Wayland上使用Ubuntu时,烧录工具Dev Cube一启动就会崩溃:你必须切换到Xorg。
$ ./BLDevCube-ubuntu Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway. /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so: undefined symbol: g_log_structured_standard Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so GLib-GIO-Message: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications. (BLDevCube-ubuntu:54646): GLib-GIO-ERROR **: Settings schema 'org.gnome.settings-daemon.plugins.xsettings' does not contain a key named 'antialiasing' Trace/breakpoint trap (core dumped)
那么,就用UART编程吧……好吧,我们随便用一个CH340G小转接头就行。我从亚马逊买了一个,但它不能用……每次握手在Dev Cube中都会失败(障碍3)。
幸运的是,有人发现可以用RP2040设备来编程,比如rPi Pico。我手头正好有一个Adafruit的KB2040,就用它了。
这就引出了障碍4:如何把KB2040变成PC和Ox64之间的串口桥?将RP2040的GPIO-4连接到Ox64的GPIO-15。将RP2040的GPIO-5连接到Ox64的GPIO-14。当然,还要连接地线。参见下文了解如何连接以烧录M0。
然后我们需要给RP2040刷入picoprobe,方法是上电时按住BOOT,然后把picoprobe的uf2文件喂给它。
好了,那现在可以烧录了吧?很遗憾,不行,障碍5:DevCube仍然无法烧录Ox64,但我们可以改用bflb-mcu-tool。
好吧,用bflb-mcu-tool就万事俱备了!真的吗?接下来是障碍6:我们需要修改这个工具才能让它为我们工作。这意味着要编辑 ~/.local/lib/python3.10/site-packages/bflb_mcu_tool/libs/bflb_interface_uart.py 文件,去掉其中DTR和RTS相关的内容。这是我的副本。
于是,在Ox64通过MicroUSB供电、RP2040通过USB-C连接到我的PC的情况下,我终于可以烧录了。为此,我从bl808 Linux指南中取来low_load_bl808_m0.bin,并用以下命令烧录:
$ bflb-mcu-tool --chipname=bl808 --port=/dev/ttyACM2 --baudrate=2000000 --firmware=out/low_load_bl808_m0.bin
之后,我现在可以通过KB2040从Ox64向我的PC获取输出:
dynamic memory init success,heap size = 156 Kbyte E907 start... mtimer clk:1000000 psram clk init ok!
好吧,只是个小小的开端,但Ox64现在能和我的PC通信了!耶!以后再来我的博客看看我是否能成功在Ox64上运行Linux!因为据我所知,我还需要先向D0烧录一些东西,然后再烧录真正的操作系统。
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。