飞腾派运行ArceOS
-
硬件准备:
-
飞腾派板子
-
一张SD卡,放飞腾派官方镜像(uboot) 地址https://pan.baidu.com/s/1pStiyqohrB3SxHAFFk8R6Q?pwd=dzdv#list/path=%2F%E9%A3%9E%E8%85%BE%E6%B4%BEv2.1%E8%B5%84%E6%96%99%E5%8C%85%EF%BC%88%E8%B5%84%E6%96%99%E5%8C%85%E5%A4%AA%E5%A4%A7%EF%BC%8C%E5%BB%BA%E8%AE%AE%E6%8C%91%E9%80%89%E4%B8%8B%E8%BD%BD%EF%BC%89%2F5-%E7%B3%BB%E7%BB%9F%E9%95%9C%E5%83%8F%2F1-Ubuntu_xfce%2F4GB%2F%E4%B9%8B%E5%89%8D%E7%89%88%E6%9C%AC(在系统镜像>1-Ubuntu...>4GB>之前版本中的sd_boot_xfce_4GB_230726.img.tar.gz)
-
读卡器(将SD卡和电脑连接在一起)
-
烧录工具(Win32DiskImager2.0.1.8.exe) 地址https://pan.baidu.com/s/1pStiyqohrB3SxHAFFk8R6Q?pwd=dzdv#list/path=%2F%E9%A3%9E%E8%85%BE%E6%B4%BEv2.1%E8%B5%84%E6%96%99%E5%8C%85%EF%BC%88%E8%B5%84%E6%96%99%E5%8C%85%E5%A4%AA%E5%A4%A7%EF%BC%8C%E5%BB%BA%E8%AE%AE%E6%8C%91%E9%80%89%E4%B8%8B%E8%BD%BD%EF%BC%89%2F9-%E5%B7%A5%E5%85%B7%E5%8C%85&parentPath=%2F(在飞腾派v2.1资料包(资料包太...>9-工具包中的Win32DiskImager2.0.1.8.exe)
-
USB转TTL串口线(将飞腾派和电脑连接在一起,方便收发debug信息和文件)
-
ArceOS代码地址:https://github.com/arceos-usb/arceos_experiment/tree/usb-camera-base(注意分支)
`git clone https://github.com/arceos-usb/arceos_experiment.git
编译镜像命令:
make A=apps/usb-hid PLATFORM=aarch64-phytium-pi LOG=trace
生成的bin文件在apps/usb-hid目录下
-
-
飞腾派上电启动,把烧录了uboot的SD卡插到飞腾派上,把装有arceos的镜像文件插在飞腾派的usb插槽上(靠近风扇的蓝色口的),用串口把飞腾派与电脑相连接,启动电脑上的远程连接软件,如MobaXterm,波特率设置为115200
串口接法:接8、10、12号引脚位置,如图所示(8号代表TX,接RX;10号代表RX,接TX;12号接地线)
-
在uboot倒计时结束前按任意键进入手动引导
-
输入
usb start
,启用USB驱动来识别插入的USB设备(读U盘中的arceos) -
输入
fatload usb 0 0x90100000 usb-hid_aarch64-phytium-pi.bin
,从插入的USB设备上下载ArceOS镜像 -
输入
go 0x90100000
加载ArceOS镜像(这里是没有添加LOG=debug)
-
如果是在apps/cli目录下编译的出来的arceos镜像,便可以看到ArceOS启动成功,进入到了shell界面
-
更直观方便的实验方法,在linux终端里面测试USB返回的debug信息
Usbipd是一种将USB设备连接到WSL上面的工具,可以将串口返回的信息映射到WSL终端里面,方便实验
下载流程如下
打开powershell
,输入winget search usbipd
,
找到usbipd
工具之后,输入winget install usbipd
下载usbipd。
下载完成之后,输入usbipd list
,查看主机上连接好的串口ID号
输入sudo usbipd bind -b 2-2
,实现串口设备全机器共享,
输入usbipd attach --wsl -b 2-2
,实现串口返回信息映射到wsl终端
>(2-2是串口ID号,具体依据个人电脑上显示的串口ID号)
这里需要注意的是,主机上只能留下一个linux终端,不然串口返回的信息不清楚该映射到哪一个终端界面
打开linux终端,输入sudo chmod 777 /dev/ttyUSB0
,赋予串口映射到wsl上的权限,
(ttyUSB0通常表示接到计算机的第一个串行设备,在个人主机上具体是多少,可以通过输入 ls -l /dev 来查看)
然后请你下载python3,同时下载xmodem
,pyserial
方便加载脚本的py文件的运行
在项目根目录下输入:
make A=apps/uvc PLATFORM=aarch64-phytium-pi LOG=trace chainboot
前面的make是将整个arceos内核与USB驱动给编译好,
后面的chainboot用来执行一个arceos_experiment目录中的一个脚本文件,将编译好的内核文件通过SD卡中的Uboot加载到飞腾派上
在看到tools/….
出来之后,给飞腾派上电,同时确保鼠标已经插到了飞腾派上
等待uboot加载完之后,看到Phytium-Pi#出现,
输入go 0x90100000
,arceos内核开始运行,接着usb驱动的debug信息