请教一下谁搞过 Linux arm64 位的操作系统?

196 天前
 tim9527

最近在搞国产系统的适配,龙芯系统架构是 loongarch64 ,查了下应该就是 arm64 。但是之前只编译了 linux-arm32 位的 lib 包做动态引用。 请教谁搞有 arm64 位的 lib 包。

3414 次点击
所在节点    程序员
26 条回复
james122333
195 天前
我本来也很想买台 loongarch 但很可惜只有 linux 能用只好先观望
felixlong
195 天前
不用搞什么编译工具链了。找台龙芯的机器,装好 gcc , 直接把代码放到那台机器上去。用那台机器的 gcc 编译就好了。
w568w
195 天前
有些朋友对 Arm 的称呼感到迷惑。之前博客写过一篇 Arm 相关术语命名的文章,摘几段过来供参考:

====分割线====

1. 「 Arm 架构」是一组精简指令集架构( RISC )的统称(注意,是一组,不是一个)。

2. 英国公司「 Arm Limited 」是这个架构的设计公司。

3. 字母全大写的「 ARM 」在很久以前是对橡果 RISC 机器和高级 RISC 机器两家公司的架构的称呼,这些架构今天已经不再使用,如果你想避免歧义,请尽量称呼「 Arm 」。

4. 「 Armv9 」和「 Armv8 」等是指 Arm 公司发布的一个架构版本 。

5. 「 Armv9.4-A 」是 Armv9 的一个最新的扩展,相当于架构的打补丁版本。后面的 -A 是指一个子版本,-A 指这个架构是用于应用场景( Application Profile )的,比如手机、电脑,还有 -R 用于实时场景( Real-time Profile ),例如无人驾驶和工业自动控制,-M 用于微控制器( Micro-controller Profile ),例如树莓派。

6. 「 AArch64 」是 Arm 处理器的一种执行状态 (注意,不是指令集,也不是架构!不要再说「 aarch64 架构」了!),在这个状态下,可以使用 64 位的寄存器,这一状态在 Armv8 中首次引入(所以 Armv7 及以前都是 32 位架构);相对应的,原先的 32 位状态被称为 AArch32 。同一个处理器可以通过设置一个专门的寄存器,在这两种状态之间切换,这就是为什么你可以在 64 位的系统上运行 32 位的程序。

7. 「 A64 」是 AArch64 状态下唯一的指令集 (注意,它才是指令集的名字);相应地,「 A32 」现在用来指代早期的 32 位指令集;「 T32 」是 A32 的一个子集,它特指 Thumb2 指令集(指令 16 位和 32 位长混合)。

8. 「 arm64 」这个说法,Arm 公司从来没有在正式文件中提过,这似乎是苹果、微软和 Linux 喜欢使用的简便称呼。我个人把它理解成一种移植( Port ),即一组指令集和架构的统称。

9 。 其他移植名还包括:armel 、armhf 、armv7hl 、armv7l 、armv8l 等。其中 armel 面向 armv4-v7 的 armeabi 接口,的兼容性最好(但性能可能最低)。再强调一次:这些名称不是标准,不同的发行版、公司、系统和项目都可能有不同的定义。例如,同一个架构,苹果设备上可能叫「 arm64 」,但在一些 Linux 中可能又叫「 aarch64 」了,非常混乱。如果你和别人交流移植相关的问题,务必明确你在说什么。目前比较通行的称呼一般来自 LLVM 和 Debian 。
masterclock
195 天前
@w568w 树莓派只有 pico 是 MCU
mark2025
194 天前
龙芯是源自 mips64 ,现在是自有知识产权的 loongArch 龙架构指令。和 ARM 八杆子打不到关系。
gfanny
129 天前
@unclemcz 那估计你没有开发过桌面端的软件。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1039406

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX