arm64用のUbuntu 18.04サーバーでどのチップ(どのバージョンのraspberry pi)を使用しているかをどのようにして見つけることができますか?チェックできるファイルまたは実行できるコマンドは何ですか?/ proc / cpuinfoには有用な情報はありませんが、piについて言及されていない一般的な詳細がいくつかあります。
arm64用のUbuntu 18.04サーバーでどのチップ(どのバージョンのraspberry pi)を使用しているかをどのようにして見つけることができますか?チェックできるファイルまたは実行できるコマンドは何ですか?/ proc / cpuinfoには有用な情報はありませんが、piについて言及されていない一般的な詳細がいくつかあります。
回答:
コマンド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
ボードに搭載されているチップの識別については、ボード上のチップやメーカーのWebサイトで情報を確認したり、技術的な詳細を入手するためのさまざまな販売店を確認したりできます。
私はpigpioをDebian arm64に移植しようとしましたが、最終的に私の試みは失敗しました。これは、Debian arm64カーネルがpigpioが依存するユーザースペースメールボックスインターフェイスをサポートしていないことを発見したためです。 Debian arm64カーネルを実行しています。これはubuntu arm64でも機能すると思います。
あなたが発見したように、/ proc / cpuinfoにはこれらのカーネルのCPUコア情報しかありません。幸いなことに、情報は/ procの他の場所にあります
まず、デバイスがPiかどうかを確認するために、/ proc / device-tree / modelを確認しました。これにはデバイスを説明するテキスト文字列が含まれているため、誤検知が発生する可能性はほとんどありません。
/ proc / device-tree / system / linux、revisionを使用したリビジョンコードを取得するには、ビッグエンディアンのバイナリ整数としてリビジョンコードを含めます。したがって、ファイルから2進整数として読み取ってから、リトルエンディアンに変換する必要があります(これにはntohlを使用しました)。
あなたは私のコードをhttps://github.com/joan2937/pigpio/pull/255/commits/2e229d667fde8a2a881d5aa8482b2bb936b09f26で見ることができます
cat /proc/cpuinfo
ボードに対応リビジョン番号を生成する必要があります。参照: raspberrypi.org/documentation/hardware/raspberrypi/...