【进迭时空双周报】-(20250324-0420)
一、版本发布
1. Bianbu Star
v2.1.3
发布日期:2024-4-10
主要更新
- 支持MUSE Pi Pro
2.Bianbu Ocean
v2.2rc4
发布日期:2025-4-11
更新说明
- 对比 2.1,2.2rc4 修复了若干问题,并提供了全新的内核分支 k1-bl-v2.2.y(基于 6.6.63),包含了每一笔修改。
主要更新
- 支持 gpu dvfs 功能
- 支持 RTL8125 和 RTL8168 模组
- 支持 USB 网络共享设备功能
- 支持配置 usb2.0 控制器 ddr 传输优先级
- 修复 dtb 数据异常的问题
- 修复 uart 驱动丢帧问题
- 修复系统重启场景低概率显示异常问题
- 修复部分场景 HDMI 频繁热插拔导致的显示异常问题
- 修复休眠唤醒低概率 emac 异常和最后一个 cpu 进休眠异常问题
- 修复 sdio 切换时钟过程中兼容性问题
二、开发者相关
1. 问题汇总
1.1 已解决问题
【问题1】各位专家好,我在用BPI-F3的时候,遇到了rdcycle违法指令的问题。辛苦专家解答一下: 硬件:BPI-F3 CPU型号: Spacemit(R) X60 OS系统版本:Linux k1 6.6.36 #2.0.2.2 SMP PREEMPT 问题:在程序中使用asm volatile (“rdcycle %0” : “=r” (cycles))后,发生了错误 错误:[1] 2363 illegal hardware instruction
【答疑1】新版内核不允许 rdcycle
【问题2】请问一个问题。。muse pi如何进入uboot shell
【答疑2】串口输入s
【问题3】请教一下rdtime读到的单位是啥啊
【答疑3】time 寄存器每秒增长 timebase-frequency
【问题4】香蕉派bpi-f3的风扇不转,大家有遇到过类似的问题吗,系统是bianbu2.04
【答疑4】不够热
【问题5】想请教一下K1 OH5.0方案支持Docker吗?能跑OPC UA Client吗?
【答疑5】OH docker还没移植,Bianbu已支持Docker
【问题6】鸿蒙镜像 和OE镜像是一块儿上线吗?
【答疑6】会上线
【问题7】这些桌面版的镜像好像没办法通过咱们进迭自己的工具安装,我看咱们手册给的教程是先通过balenaetcher烧录到U盘,然后通过U盘安装,请问如何插上U盘后如何启动这个盘呢?
【答疑7】不支持U盘启动,建议用tf card
【问题8】请问部署的DeepSeek-R1-1.5B推理速度能达到多少token/S
【答疑8】4-5tps
【问题9】弱弱的问一句,riscv是怎么刷cache的?
【答疑9】Zicbom
【问题10】理解下就是带内存的CPU,对吧。算带货吗? 开发者是不是够不着这个啊。15天开发工作量,有大佬给科普下吗?
【答疑10】指的是基于进迭、DDR颗粒原厂,参考设计和仿真IBIS模型完备的情况下。工程师完成K1芯片DDR接口电路layout和SIPI仿真至少需要的时间。然后使用B1做硬件开发,不需要再做DDR接口电路layout和SIPI仿真,可以至少节省15天时间。
【问题11】esos.elf 固件什么时候能给出个确定的授权啊( 现在这样有点不敢打包(
【答疑11】我们下一个版本会更新,不再需要单独留出这个elf文件了。
【问题12】想问问X60上, 应该使用什么样的clang options开启自动向量化? 我之前有尝试这样的编译命令:但是发现串行版本的和并行版本的在X60上跑的时间几乎一样
【答疑12】目前看是瓶颈在load,这个向量化版本用了strided load的指令,在硬件上strided load也是拆成多笔去访问的,就没体现出向量版本的优势
【问题13】此外还想问问, https://archive.spacemit.com/toolchain/给的工具链和自己根据riscv toolchain自己构建的有什么区别呢?
【答疑13】加了spacemit-x60的硬件适配,可以用-mcpu=spacemit-x60参数启用下试试效果,加了spacemit的ai扩展指令的汇编器支持,如果手写了这种汇编,也需要用到
【问题14】还有啥微架构上的优化建议么?我们测试很多指令得1024bit以上才有提升
【答疑14】矩阵乘法,从指令的角度,我们会使用vfmacc.vf来做,并行度高,可以提高计算访存比;在核心计算部分,需要使用连续load(vle和flw),要不然计算无法掩盖访存。
【问题15】请问cover访存latency这方面有更详细的文档指导或者微架构信息吗吗,比如怎么能cover l1的latency,怎么能cover l2甚至ddr的
【答疑15】这个文档有吗。我建议做一些实验,测一测理论的latency和吞吐,然后测一测不同的tile策略的峰值性能 文档暂时还没有,可能要后面看怎么整理总结下。现在估计就是看已经实测有提升的算子实现,来作为参考了
【问题16】可以问问你们是用什么工具看性能bottleneck吗,之前看到perf好像还不支持hardware event,我之前是看software event,不是很有用
【答疑16】我们也用perf的,说明: Perf 使用注意事项 | Bianbu | 进迭时空开发者社区 以及硬件事件:linux-6.6: Linux 6.6 supports SpacemiT Key Stone K1 CPU - Gitee.com
【问题17】这个板子可以用rust吗?
【答疑17】支持的
【问题18】uefi开源吗?有将uefi烧录到开发板的教程吗?
【答疑18】你好,我们的MUSE PI PRO出厂就预装了UEFI的镜像,UEFI会开源,后续会公布在我们的开发者社区,可以关注下
【问题19】你们的bianbu desktop跟bianbu star 区别在哪
【答疑19】没有区别,区别在于bianbu star 是升级的名字 ,替换了bianbu desktop
【问题20】请问目前提供的这个镜像适配于进迭的哪些型号的板子?https://images.oerv.ac.cn/board?uri=products/spacemit/muse_pi.json&name=MUSE+Pi
【答疑20】MUSE Pi
【问题21】uefi 的镜像有放出来嘛,想烧录到muse pi 上试试
【答疑21】预计这周到下周就会有镜像放到社区
【问题22】请问这个能在哪里查到相关信息吗
【答疑22】您要规格书吗?
【问题23】请教一下,k1 openeuler镜像下,怎么安装img-gpu-powervr,我看到这个project.但不知道怎么把bianbu的lib整进euler里
【答疑23】你在openeuler社区提个issue看看?我不是很清楚这个镜像目前的状态
【问题24】img-gpu-powervr binary本身应该是一样的吧?
【答疑24】是的
【问题25】为什么Thonny的“File-Open”无法弹出对话框?无法使用"open"功能,Thonny有许多bug,许多功能都无法使用,官网开发人员自己试一下就知道了
【答疑25】您也遇到啦,这是预装的 1.0 的版本的问题。需要打补丁,加群
【问题26】请问这个镜像中包含imagination gpu 用户态的驱动吗
【答疑26】目前不包含,顺带可以去openEuler RISC-V SIG的群里展开讨论
【问题27】请问MUSE BOX能从SD卡启动吗
【答疑27】你好,BOX上没有SD卡槽,暂时不支持从SD卡启动,支持从SSD启动
【问题28】为什么不用python直接编程?而要用vscodium安装python插件?
【答疑28】一、Python 是编程语言,VS Codium 是编辑器 Python 是一门编程语言,你可以在任何地方写 Python 代码,比如终端、记事本、Jupyter、IDE 等。 VS Codium 是一个代码编辑器,它是 Visual Studio Code 的开源版本。它本身不会运行代码,它是个辅助你写代码的工具。 二、为什么要在 VS Codium 中装 Python 插件? VS Codium(或 VS Code)默认只是个通用的文本编辑器,它不知道你写的是哪种语言,也不提供语言特定的功能。安装 Python 插件后可以获得: 语法高亮、自动补全。 代码检查。 智能提示和跳转到定义。 集成调试器。 支持 Jupyter Notebook。 运行/调试 Python 脚本一键启动。 虚拟环境和依赖管理集成。 这些功能极大提升开发体验。 三、能不能不用 VS Codium 直接写 Python? 可以,你有很多选择: 直接用终端 + vim/nano/emacs 编写并运行 Python。 用 Jupyter Notebook 写交互式代码。 VS Codium + Python 插件 是一个轻量但强大的开发组合,所以很流行。 总结: Python 是语言,VS Codium 是写代码用的工具。 装插件是为了让这个工具更懂 Python,更智能。 你可以不用 VS Codium,完全没问题,只是体验可能会差一些 你可以使用一下,对你的开发和学习应该是有帮助的
【问题29】我之前是在win平台用python的idle编写器的,这次接触到bianbu平台的thonny,我发现有个很大的不同点。 bianbu系统为python设计了系统级环境库和虚拟环境级库,thonny里面可以在上述2个环境之间切换。 安装了python插件的vscodium能体现bianbu系统的这个特点吗?
【答疑29】在 Windows + IDLE 上:通常用的是全局 Python 环境。虚拟环境一般通过anaconda管理比较方便,看不出明显的系统/虚拟环境分层。 在 Bianbu + Thonny 上: 系统级 Python 库被系统集成并做了隔离,以更好适应在使用操作系统时对python的某些依赖,相关的python包通过apt管理。 用户可以创建和切换到虚拟环境,虚拟环境中可以使用pip等工具管理和安装python包,可以帮助你隔离项目依赖,减少冲突。 Thonny 明确地把这两类环境展示出来,方便切换和管理。 VS Codium + Python 插件能不能体现这个系统特性? 能体现,但你需要稍作配置,不像 Thonny 那样开箱即用 安装 Python 插件后,打开一个python文件后,你可以在左下角或者右下角找到选择解释器的选项(有时候显示为3.12.3),点击它,你可以选择系统自带的python解释器,或者输入你的虚拟环境的python解释器路径,VS Codium 会自动解析当前你选择的python环境。然后你可以点击运行小按钮来运行你的python代码了
【问题30】K1支持openBMC吗
【答疑30】这个是可以做的
【问题31】想咨询一下大家在rv开发板上开发时,如果要用到性能更强的x86/arm server进行交叉编译,一般是用什么样的方案。 我今天搞了一天的clang x86 host rvv target, 但总是有很多细节上的报错。 现在正在尝试86上运行rvv qemu,然后编出binary。
【答疑31】可以试下这个项目 RISE Project / RVV env · GitLab
【问题32】我看cpu分成了2个簇 2个簇能跑不同的系统控制不同的屏幕吗
【答疑32】当前我们芯片设计上是支持双系统的,但是软件上对应的功能还没出来
【问题33】MUSE PI需要更改 pagesize 的大小,这个是不是只能通过重新编译内核
【答疑33】是的,需要重新编译内核
【问题34】在 muse pi 板子安装桌面版的 bianbu 时,那个卡启动是不是必须用 sd 卡呢?u 盘是不是不太行?
【答疑34】是的,只能使用SD卡
【问题35】你好 这个平板怎么刷机?我怎么下载你们的5.0代码?我这个是paper 还是 paper2?怎么区分呢?中间那个口是刷机口也是充电口对吗?
【答疑35】hdc连接后,执行reboot fastboot即可进入刷机模式,开源参考文档进迭时空开发者社区
【问题36】如何才能构建一个可以正常调用GPU的bianbu desktop 镜像
【答疑36】有没有安装img-gpu-powervr这个包,可以参考一下这个文档:图形驱动框架 | Bianbu Linux | 进迭时空开发者社区
【问题37】Titan Flasher doesn’t work on Linux
【答疑37】Sorry for causing you confusion. The latest version of Titanflasher supports English. Are you using the latestversion 2.0.1-Rc? If not, please download the latest version from the https://cloud.spacemit.com/prod-api/release/download/tools?token=titantools_for_linux_64BIT_APPIMAGE link.
【问题38】BianbuCloud长时间不操作连接断开
【答疑38】您好,一段时间不操作会自动断开,目前可以切换一下浏览器网页(进一下其他网页然后切回来)可重连
【问题39】云实例中的gcc/g++对k1做了单独的适配吗?
【答疑39】clang也对包括vmadot等AI扩展指令进行了适配, 但是clang需要额外添加选项.以最新发布的llvm工具链spacemit-toolchain-linux-glibc-x86_64-v1.0.5(下载地址: https://archive.spacemit.com/toolchain/spacemit-toolchain-linux-glibc-x86_64-v1.0.5.tar.xz)为例, clang添加-mcpu=spacemit-x60选项就可以识别AI扩展指令了.
【问题40】I understand that the MuseBook is using the M1 chip which support to work up to GHz. It seems is working at GHz.I looked online and I couldn’t find anything related to how to overclock the M1.Any suggestion how to do it or is not even possible?
【答疑40】The boost File in sysfs This file is located under /sys/devices/system/cpu/cpufreq/ and controls the “boost” setting for the whole system. It is not present if the underlying scaling driver does not support the frequency boost mechanism (or supports it, but provides a driver-specific interface for controlling it, like intel_pstate).If the value in this file is 1, the frequency boost mechanism is enabled. This means that either the hardware can be put into states in which it is able to trigger boosting (in the hardware-based case), or the software is allowed to trigger boosting (in the software-based case). It does not mean that boosting is actually in use at the moment on any CPUs in the system. It only means a permission to use the frequency boost mechanism (which still may never be used for other reasons).If the value in this file is 0, the frequency boost mechanism is disabled and cannot be used at all.The only values that can be written to this file are 0 and 1.You may also want to check scaling_boost_frequencies. My jupiter works and shows 1.8G option there.
【问题41】MUSE Book layout file (PCB)
【答疑41】the PCB layout files have been made in PADS. (.pcb file)
you can use PADS to open the PCB file or convert it to AD
【问题42】K1文档中说0~3核心具有AI指令扩展(IME指令扩展),4~7为普通核心,在代码中使用IME扩展中的指令,会自动使用0~3核心吗,这个核心选择是Bianbu OS做的吗?
【答疑42】会的。在cluster1上执行,会报非法指令,被linux内核捕捉到之后,把进程迁移到cluster0。可以参考arch/riscv/kernel/traps.c · Bianbu Linux/linux-6.6 - Gitee.com
【问题43】想问问怎么用clang自动向量化C代码
【答疑43】clang可以添加以下选项实现自动向量化:-O2/3/fast -march=rv64gcv1p0 -fvectorize -fvectorize-slp
【问题44】clang要加哪些编译参数会有比较好的向量化效果?
【答疑44】X60的硬件VLEN=256,因此推荐:-mllvm --riscv-v-vector-bits-min=256可能会产生更高性能的向量化代码,但是现在工具链的自动向量器生成的性能水平仍然远远不及人工手写和intrinsic,而且循环的实现方式对于自动向量化产生的代码性能影响也很大,这方面可以参考这个帖子:Almost same execution time when enabling auto-vectorization or not因此对于Q1我们仍在探索实验阶段,后续可能为用户推出一系列spacemit硬件相关的自动向量化性能优化的选项建议。
【问题45】spacemit工具链 跟GitHub上开源的工具链有哪些区别?
【答疑45】前者支持了我们自定义的ai指令,添加了更细粒度的调度模型以及其他一些有益于性能的优化改动(clang通过-mcpu选项自动开启)。
【问题46】看到新上架的MUSE Pi Pro支持UEFI启动和配置,其他MUSI板卡包括香蕉派这样的第三方板卡后续会支持UEFI固件吗,有无大致计划?
【答疑46】目前无明确计划,spacemit从创立之初就开始耕耘UEFI on RISC-V,后续支持适配硬件的会越来越多。另外,需要注意的是,UEFI需要硬件支持,如果主板没有SPI NOR FLASH,那么无法存放UEFI资料固件,导致无法支持。
1.2 导入内部的问题,正在进行中
【问题1】现在muse card有能跑的openharmony镜像么?archive里的都kernel panic了
【问题2】hello,请问x60的bf16是只有ime扩展有吗
【问题3】在哪能找到k1的微架构图啊
【问题4】请问k1的这些板卡,eeprom里存的以太网mac全都是fe:fe:fe:xx:xx:xx吗?
【问题5】请教大家,M1芯片的AI算力,换算成NPU约等于多少T?int8
【问题6】如何更改操作系统的页表大小
【问题7】Fedora V Force image user/password
【问题8】MUSE-PI-PRO如何登录远程桌面?
【问题9】K1可以使用vfmadot指令吗?
【问题10】K1支持openBMC吗
【问题11】orangepi rv2是使用k1 的芯片吗?
【问题12】K1实现的IME扩展指令规范
三、优秀案例分享
1.Youtube
SpacemiT K1 RISC-V处理器应用在Banana Pi BPI CM6上
2.Bilibili
openEuler内核主线完成对RISC-V处理器SpacemiT K1的基本支持
四、新闻速递
大象机器人×进迭时空联合发布全球首款RISC-V全栈开源六轴机械臂
以太坊联合创始人 Vitalik Buterin 提出将当前的执行层虚拟机(EVM)替换为开源的 RISC-V 指令集架构
进迭时空推出MUSE Pi Pro单板计算机,打造RISC-V全能型AI计算平台