我如何找到适用于arm64的Ubuntu 18.04服务器使用的芯片(什么版本的raspberry pi)?我可以检查哪个文件或可以运行什么命令?/ proc / cpuinfo没有有用的信息,只有一些常规细节,没有提及pi。
我如何找到适用于arm64的Ubuntu 18.04服务器使用的芯片(什么版本的raspberry pi)?我可以检查哪个文件或可以运行什么命令?/ proc / cpuinfo没有有用的信息,只有一些常规细节,没有提及pi。
Answers:
该命令lscpu
是您要寻找的。这是命令的示例输出(在我的Raspberry Pi 3B +上拍摄):
lscpu
产生以下输出:
Architecture: armv7l
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
Model: 4
Model name: ARMv7 Processor rev 4 (v7l)
CPU max MHz: 1200,0000
CPU min MHz: 600,0000
BogoMIPS: 38.40
Flags: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
另一个选项是inxi
命令(如果不附带,则可能必须安装它sudo apt install inxi
)。使用标志-C
,如下所示:
inxi -C
产生以下输出:
CPU: Quad core ARMv7 rev 4 (v7l) (-MCP-) (ARM)
clock speeds: max: 1200 MHz 1: 1200 MHz 2: 1200 MHz 3: 1200 MHz 4: 1200 MHz
至于确定您的电路板使用的是哪种芯片,您可以在电路板上以及制造商的网站上查看该芯片的信息,以及在不同的销售网点上获取技术细节。
我试图将Pigpio移植到Debian arm64,但最终失败了,因为我发现Debian arm64内核不支持Pigpio依赖的用户空间邮箱接口,但是这样做了,我进行了一些有关如何检测Pis的研究。运行Debian arm64内核。我怀疑这也适用于ubuntu arm64。
正如您所发现的,/ proc / cpuinfo仅具有有关这些内核的CPU内核信息。幸运的是,该信息可以在/ proc中的其他地方找到
首先要检查设备是否为Pi,我检查了/ proc / device-tree / model,它具有描述该设备的文本字符串,因此不太可能出现误报。
要获取我使用的/ proc / device-tree / system / linux,revision修订版本代码,其中包含修订代码为大端字节二进制整数。因此,需要将其作为二进制整数从文件中读取,然后转换为little-endian(为此我使用了ntohl)。
您可以在https://github.com/joan2937/pigpio/pull/255/commits/2e229d667fde8a2a881d5aa8482b2bb936b09f26查看我的代码
cat /proc/cpuinfo
应产生对应于所述板上的修订号。参见: raspberrypi.org/documentation/hardware/raspberrypi/…–