diff --git a/_posts/2023-11-04-1.md b/_posts/2023-11-04-1.md index b70db3c..27f5fc8 100644 --- a/_posts/2023-11-04-1.md +++ b/_posts/2023-11-04-1.md @@ -18,7 +18,7 @@ title: '嵌入式 Linux 与并不前沿的前沿技术' 这家伙 CPU 性能一般般,GPU 性能很弱,带起 Minecraft 来比较艰难,各方面硬件都给不了人惊喜。好在树莓派基金会比较重视社区建设,资料也好找,用起来不折腾,新的 Raspberry Pi OS 12 在驱动上提升也比较明显。话说 RPi 还有 [EFI 固件](https://github.com/pftf/RPi4),不过我还没试。 -我在树莓派上用的是 Raspberry OS,主要还是因为其他发行版表现不是特别好。 +我在树莓派上用的是 Raspberry Pi OS,主要还是因为其他发行版表现不是特别好。 #### X96 Max Plus V5.1 @@ -42,7 +42,7 @@ s905x3 CPU 性能几乎是 RPi 4B 的两倍,GPU 也强一点(不过似乎在 RVV 和 x86/ARM 上 SIMD 实际解决的问题差不多,没 RVV 就有点类似于用没 AVX (或者极端点,SSE MMX 都没有)的 x86电脑,基本要和多媒体、游戏、科学计算 say goodbye~ 了;硬件虚拟化暂时不算刚需,不过没有它的确是少了很多乐趣。 -我刚开完箱就被 Revy 全身上下吐槽了一遍,这才知道 LicheePi 4A 的 TH 1520 性价比要高得多,支持 RVV(0.7.1),还带 NPU,不过我想等同时有 RVV 1.0 以上和硬件虚拟化的芯片多起来再买新机器。 +我刚开完箱就被 Revy 全身上下吐槽了一遍,这才知道 LicheePi 4A 的 TH1520 性价比要高得多,支持 RV 0.7.1,还带 NPU,不过我想等同时有 RVV 1.0 以上和硬件虚拟化的芯片多起来再买新机器。 当然 Visionfive 2 当实验材料以及拿来展示的效果应该说得过去,不至于吃灰,只是七百多块的实验材料的确太贵了。 @@ -288,7 +288,7 @@ Buildroot 是一组给嵌入式设备定制系统的工具,Milk-V Duo 官方 ![duo-bubblewrap]({{site.url}}/res/embedded-linux/duo-bubblewrap.webp) -之后发现 lxc-images 里没有 RISC-V 容器镜像,要自己 bootstrap 一个。确保电脑上正确配置了 qemu-user 和 qemu-binfmt,然后找个干净的目录,`debootstrap --arch=riscv64 sid rootfs https://mirrors.tuna.tsinghua.edu.cn/debian`。用 Sid 是因为稳定版里还没有 RISC-V 支持。 +之后发现 lxc-images 里没有 RISC-V 容器镜像,~~没法偷(不是)现成镜像来用,~~要自己 bootstrap 一个。确保电脑上正确配置了 qemu-user 和 qemu-binfmt,然后找个干净的目录,`debootstrap --arch=riscv64 sid rootfs https://mirrors.tuna.tsinghua.edu.cn/debian`。用 Sid 是因为稳定版里还没有 RISC-V 支持。 容器里 APT 不知怎么在连接网络时会有 Illegal Instruction,就传了个 neofetch 包用 dpkg 装了一下。 @@ -298,7 +298,7 @@ Buildroot 是一组给嵌入式设备定制系统的工具,Milk-V Duo 官方 感谢 Revy 和 Robin Lu 的指导。 -简单玩一下 RISC-V Vector Extension。关于 RVV 和 x86/ARM SIMD 的区别,这里还不需要过度关注,感兴趣的话可以去读些[科普文章](https://medium.com/swlh/risc-v-vector-instructions-vs-arm-and-x86-simd-8c9b17963a31)。 +简单玩一下 Duo 上的 RISC-V Vector Extension。关于 RVV 和 x86/ARM SIMD 的区别,这里还不需要过度关注,感兴趣的话可以去读些[科普文章](https://medium.com/swlh/risc-v-vector-instructions-vs-arm-and-x86-simd-8c9b17963a31)。 如果有一组数据需要同时进行同一类型的运算,比如做矩阵乘法的时候(如果还没学线性代数,我比较推荐看一下 _Linear Algebra Done Right_ ),要频繁做两组数据中,一组里的每个数都乘以另一组中一个数的操作,这种情况下用 Vector Extension 相比不用会快一点。