30块钱的树莓派跑unix系统,源码全部开源,香

来自公众号:嵌入式Linux

▌ 1、前言

树莓派最新推出的单片机Pico,这是一款便捷灵活、方便上手的开源电子原型平台,许多大佬都玩得飞起来了,手痒自己玩了下,觉得这个东西确实很香,比一般的Linux开发板都好。

PICO

这个开发板可以玩很多东西

1 、运行pico-sdk

2、玩micropython

3、跑这个Fuzix系统

我这个文章只说Fuzix系统相关的,因为这个系统很小,喜欢的同学都可以自尝试学习。

▌ 2、硬件准备

  • 一个树莓派pico 开发板
  • 一个micro usb 线,用来给树莓派供电的,如果跑mcropython的话,还可以用来作为调试串口。
  • 一根usb线,跑Fuzix的时候,作为系统的登录终端。

▌ 3、软件准备

一个可以编译的ubuntu系统,可以装在vm上

▌3.1、SDK代码下载

▌3.1.1 pico-sdk下载

git clone git@github.com:raspberrypi/pico-sdk.git

▌3.1.2 tinyusb源码下载

下载这个之后,还需要下载tinyusb源代码,这个源代码默认在pico-sdk源码中,只不过上面的命令不能触发tinyusb 的源码下载。

tinyusb源代码:

git submodule update --init --recursive lib/tinyusb

上面的命令会比较慢,可以单独下载这个源码库,使用下面的命令:

git clone git@github.com:raspberrypi/tinyusb.git

▌3.1.2 Fuzix源码下载

git clone https://github.com/davidgiven/FUZIX.git

▌3.2、编译工具准备

▌3.2.1、cmake 安装

因为对cmake版本有要求,不能使用sudo apt install cmake 安装。、

从网站

http://distfiles.macports.org/cmake/

下载一个 3.13 的版本,然后传到ubuntu系统上,解压

$ tar -zxvf cmake-3.12.4.tar.gz$ cd cmake-3.12.4$ ./configure$ make$ sudo make install

▌3.2.2、gcc-arm-none-eabi安装

sudo apt-get install gcc-arm-none-eabi

▌3.3.3、其他需要的工具安装

sudo apt-get update -qsudo apt-get install -y byaccsudo apt-get install -y byacc automake   # FUZIX build depssudo apt-get install -y lwtools gcc6809sudo apt-get install -y sdccsudo apt-get install -y cc65sudo apt-get install -y m68k-uclinux-binutils m68k-uclinux-elf2flt m68k-uclinux-gcc

▌4、编译

先切换到树莓派分支

git checkout rpipico

编译之前,需要修改Makefile

diff --git a/Kernel/platform-rpipico/Makefile b/Kernel/platform-rpipico/Makefileindex 0d5e8a19..8c238770 100644--- a/Kernel/platform-rpipico/Makefile    b/Kernel/platform-rpipico/Makefile@@ -1,4  1,4 @@-export PICO_SDK_PATH = /home/dg/src/pico/pico-sdk export PICO_SDK_PATH = /home/book/pico-sdk/

 build/fuzix.elf: ../version.c build/Makefile        $(MAKE) -C build

然后到 Kernel/platform-rpipico目录中去执行命令

make world -j
./update-flash.sh

如果编译顺利,就会看到下面相关的文件

▌5、烧录

树莓派的烧录我觉得体验很好,如果再能加上一个复位按键就能更加完美了。

按下BOOTSET键开机,然后就会弹出一个盘符,往盘符里面放入我刚才说的那两个文件,设备会自动重启,这时候就完成烧录了。

▌6、系统体验

链接串口,链接串口可以有很多种方式,我用的是MobaXterm工具。波特率是 115200

开机日志:

FUZIX version 0.4pre1Copyright (c) 1988-2002 by H.F.Bower, D.Braun, S.Nitschke, H.PerazaCopyright (c) 1997-2001 by Arcady Schekochikhin, Adriano C. R. da CunhaCopyright (c) 2013-2015 Will Sowerbutts <will@sowerbutts.com>Copyright (c) 2014-2020 Alan Cox <alan@etchedpixels.co.uk>Devboot264kB total RAM, 160kB available to processes (15 processes max)Enabling interrupts ... ok.NAND flash, 1952kB physical 1296kB logical at 0x13018000: hda:SD drive 0: no card foundMounting root fs (root_dev=0, ro): warning: mounting dirty file system, forcing r/o.OKStarting /initinit version 0.9.0ac#1Cannot open fileCurrent date is Thu 2021-03-11Enter new date:

开机后需要你填写当时时间,才会继续下一步

Starting /init
init version 0.9.0ac#1
Cannot open file
Current date is Thu 2021-03-11
Enter new date: 2021-03-11
Current time is 11:34:54
Enter new time: 15:05:00

^ ^
 n n   Fuzix 0.3.1
 >@<
       Welcome to Fuzix
 m m

login:

然后填写用户名,用户名是 root,密码为空

login: root

Welcome to FUZIX.#

显示当前时间:

# date
Thu Mar 11 15:07:15 GMT 2021
#

小🐏说话:

# cd usr# lsgameslibman# cd games# lsadventcowsaylib# ./cowsay Fuzix _______< Fuzix > -------        \   ^__^         \  (oo)\_______            (__)\       )\/\                ||----w |                ||     ||#

在 /bin 下面还有很多其他命令。

▌7、其他

还可以加一个SDCARD文件系统,具体实现可以看这篇文章

https://shumeipai.nxez.com/2021/03/03/how-to-get-started-with-fuzix-on-raspberry-pi-pico.html
(0)

相关推荐