既然想体验下有Unix on rp2040 of pico之称的fuzix这个开放源码rtos,则不得不把pico有关的SDK和开发工具链下载下来并且安装好,以此来自己编译fuzix源代码。至于开发编译平台,三大主机平台都可以,不过我们的项目方案既然是树莓派3b和pico的交互,还是用树莓派3b作为编译平台吧。反正之后连接OneNET云平台也要用到3b,提前熟悉下也不错,让树莓派踢个全场。
我们可以到树莓派pico开发板的官网页面去访问如下www地址https://www.raspberrypi.org/documentation/rp2040/getting-started/#rp2040-boards,这里是官方提供关于pico开发板软硬件文档资料和microPython&CCSDK文档的所在。尤其是这页面那个get started with microPython标签,点击后就能找到fuzix教程,并且终于可以找到get started with microPython on raspberry pi pico那本入门手册了。纸质书籍是收费的,PDF文档免费提供,不过点击下载按钮时需要向树莓派出版社填写很多注册信息。这里我就在ee论坛大佬dcexpert提供的资源帖子https://bbs.eeworld.com.cn/thread-1155453-1-1.html下载的,保存起来以后慢慢看。这里必须说声感谢大佬!
看过教程后,也了解了在pico开发板上运行fuzix的基本流程,然后就要准备好使用树莓派3b的有关软硬件资源,比如SD卡和操作系统等等的,然后在树莓派系统上安装pico的CCSDK和工具链等软件。关于树莓派3b的常规操作这里就略过不提了,相信大家都玩过树莓派。
下面让我们开始从源码来编译fuzix。首先要下载一个自动脚本文件,指令如下:
wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh
chmod +x pico_setup.sh
./pico_setup.sh
可以用vi打开这个脚本文件看下具体的流程,里面其实把有关的工具链及其依赖都安装好了。
然后我们拉取fuzix源码,指令如下:
git clone https://github.com/davidgiven/FUZIX.git
cd FUZIX
git checkout rpipico
cd Kernel/platform-rpipico/
修改Makefile文件中第一行,指定你自己的pico-sdk路径,比如我的是:
export PICO_SDK_PATH = /home/ubuntu/raspberrypi/pico/pico-sdk
最后是编译 fuzix的UF2 文件和 root 文件系统了,指令如下:
make world -j4
./update-flash.sh
在目录 build/fuzix.uf2 中可以找到这个 UF2 文件,和当前工作目录中 filesystem.img 这个root根目录文件系统镜像文件,一起上传win10主机上去。方法很多,比如我就用LinuxQQ2.0版本,或者QQ邮箱都可以。实在不行还可以把树莓派3b关机,取出SD卡放到win10主机的虚拟机里面,读出我们需要的两个文件。
UF2 文件直接拖放到pico弹出的U盘中,操作方法和第二篇上传microPython固件一样。UF2 文件上传完成后,pico一样自动重启,此时fuzix已经运行。我们可以在win10主机上用一个串口工具如putty,xshell之类的连接到pico的uart0上,来登录fuzix系统了,其中pico的gpio0为tx,gpio1为rx。
结果如下图所示。
从fuzix系统引导信息可以看出,由于我们没有教程中那个SD卡模块,所以root根目录文件系统找不到,自然就无法进入到init进程,fuzix系统也走不到login进程了。
如果我们有一个需要的SD卡硬件模块,就要用上面编译出来的那个filesystem.img镜像文件,制作成一个34MB大小,可引导fuzix系统的SD卡,然后才能继续探索fuzix系统的更多细节。那我们就把对fuzix的体验先进行到这,以后得到SD卡再说。
本帖最后由 ly87802541 于 2021-4-4 22:59 编辑
引用: Jacktang 发表于 2021-4-6 17:36 filesystem.img 这个root根目录文件系统镜像文件,一起上传win10主机上去用QQ邮箱怎么上传?
邮件里面添加附件鸭,哈哈
引用: freebsder 发表于 2021-4-6 22:01 只有一幅图,其他的都挂了?
还真只有一图,那些空行好像是编辑后出现的。
引用: dcexpert 发表于 2021-4-8 17:40 按fuzix的说明在esp8266上尝试过一次,结果系统没有进去,sd卡反而损坏了
哈哈那就惨了,我今天到了一个SD卡模块,明天来试试看。