30块钱的树莓派跑unix系统,源码全部开源,香 精华
▌1、前言
之前做活动抽奖送的几个树莓派,但是因为好几个人都没有填写地址,所以就只能把东西寄回来给我,然后手痒自己玩了下,觉得这个东西确实很香,比一般的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 -q
sudo apt-get install -y byacc
sudo apt-get install -y byacc automake # FUZIX build deps
sudo apt-get install -y lwtools gcc6809
sudo apt-get install -y sdcc
sudo apt-get install -y cc65
sudo 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/Makefile
index 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.4pre1
Copyright (c) 1988-2002 by H.F.Bower, D.Braun, S.Nitschke, H.Peraza
Copyright (c) 1997-2001 by Arcady Schekochikhin, Adriano C. R. da Cunha
Copyright (c) 2013-2015 Will Sowerbutts <will@sowerbutts.com>
Copyright (c) 2014-2020 Alan Cox <alan@etchedpixels.co.uk>
Devboot
264kB 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 found
Mounting root fs (root_dev=0, ro): warning: mounting dirty file system, forcing r/o.
OK
Starting /init
init version 0.9.0ac#1
Cannot open file
Current date is Thu 2021-03-11
Enter 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
# ls
games
lib
man
# cd games
# ls
advent
cowsay
lib
# ./cowsay Fuzix
_______
< Fuzix >
-------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
#
在 /bin 下面还有很多其他命令。
文章转载自嵌入式Linux,作者:写代码的篮球球痴
希望鸿蒙能加快移植到树莓派上
希望鸿蒙能更快的移植到树莓派Pico。
应该快了