RaspberryPi4のCPU動作周波数・温度・電圧、各種ハードウェア情報を見る

技適取得済のRPi4が手に入ったのでいろいろと情報を見てみた

Raspberry Pi 4 Model B Rev 1.2
image : 2019-09-26-raspbian-buster-lite

# CPU動作周波数・温度・電圧

設定されているCPU動作周波数

```
$ vcgencmd get_config arm_freq
arm_freq=1500
```

現在のCPU動作周波数

```
$ vcgencmd measure_clock arm
frequency(48)=1500345728
```

別のタイミングでのCPU動作周波数(変動)

```
$ vcgencmd measure_clock arm
frequency(48)=600117184
```


CPU温度

```
$ vcgencmd measure_temp
temp=53.0'C
```

CPU電圧

```
$ vcgencmd measure_volts
volt=0.8578V
```

# 詳細なハードウェア情報

以下いろいろと詳細なハードウェア情報をつっこんで見ていく

```
# CPUに割り当てられたメモリ
$ vcgencmd get_mem arm
arm=948M

# GPUに割り当てられたメモリ
$ vcgencmd get_mem gpu
gpu=76M

# すべての数値タイプの設定値
$ vcgencmd get_config int
arm_freq=1500
audio_pwm_mode=514
config_hdmi_boost=5
core_freq=500
core_freq_min=200
disable_commandline_tags=2
disable_l2cache=1
display_hdmi_rotate=-1
display_lcd_rotate=-1
enable_gic=1
force_eeprom_read=1
force_pwm_open=1
framebuffer_depth=16
framebuffer_ignore_alpha=1
framebuffer_swap=1
gpu_freq=500
gpu_freq_min=500
init_uart_clock=0x2dc6c00
lcd_framerate=60
mask_gpu_interrupt0=1024
mask_gpu_interrupt1=0x10000
max_framebuffers=2
pause_burst_frames=1
program_serial_random=1
hdmi_force_cec_address:0=65535
hdmi_force_cec_address:1=65535
hdmi_pixel_freq_limit:0=0x11e1a300
hdmi_pixel_freq_limit:1=0x11e1a300

# すべての文字列タイプの設定値
$ vcgencmd get_config str
device_tree=-
hdmi_cvt:0=
hdmi_cvt:1=
hdmi_edid_filename:0=
hdmi_edid_filename:1=
hdmi_timings:0=
hdmi_timings:1=

# 各種クロック周波数
$ for src in arm core h264 isp v3d uart pwm emmc pixel vec hdmi dpi ; do \
>     echo -e "$src:\t$(vcgencmd measure_clock $src)" ; \
> done
arm:    frequency(48)=600169920
core:   frequency(1)=199995120
h264:   frequency(28)=0
isp:    frequency(45)=0
v3d:    frequency(46)=31258300
uart:   frequency(22)=48001464
pwm:    frequency(25)=0
emmc:   frequency(50)=199995120
pixel:  frequency(29)=299992672
vec:    frequency(10)=0
hdmi:   frequency(0)=0
dpi:    frequency(4)=0

# 各種電圧値
$ for id in core sdram_c sdram_i sdram_p ; do \
>     echo -e "$id:\t$(vcgencmd measure_volts $id)" ; \
> done
core:   volt=0.8578V
sdram_c:        volt=1.1000V
sdram_i:        volt=1.1000V
sdram_p:        volt=1.1000V

# ファームウェアバージョン
$ vcgencmd version
Sep 24 2019 17:34:30
Copyright (c) 2012 Broadcom
version cd3add54955f8fa065b414d8fc07c525e7ddffc8 (clean) (release) (start)
```

## メモリ容量について
なぜ vcgencmd で 948M と表示されるのかは謎

```
$ vcgencmd get_mem arm
arm=948M
```

freeコマンドでは問題なさそう

```
$ free -h
              total        used        free      shared  buff/cache   available
Mem:          3.8Gi       100Mi       3.4Gi        16Mi       294Mi       3.6Gi
Swap:          99Mi          0B        99Mi
```

dmesgでもそれ系の表記がある

```
$ dmesg | grep Memory
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] Memory: 3735592K/4050944K available (8192K kernel code, 661K rwdata, 2352K rodata, 2048K init, 850K bss, 53208K reserved, 262144K cma-reserved, 3264512K highmem)
```

## ファームウェアバージョンについて
ファームウェアバージョンのマジックナンバーはgithubコミットのハッシュ値らしい。

ファームウェアバージョンについては以下が詳しい
[Raspberry Pi 4 Software Updates – Reduced Power Consumption & Heat!](https://www.martinrowan.co.uk/2019/11/raspberry-pi-4-software-updates-reduced-power-consumption-heat/)

# $ cat /proc/cpuinfo

とりあえず眺めておきたい

```
$ cat /proc/cpuinfo
processor       : 0
model name      : ARMv7 Processor rev 3 (v7l)
BogoMIPS        : 270.00
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xd08
CPU revision    : 3

processor       : 1
model name      : ARMv7 Processor rev 3 (v7l)
BogoMIPS        : 270.00
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xd08
CPU revision    : 3

processor       : 2
model name      : ARMv7 Processor rev 3 (v7l)
BogoMIPS        : 270.00
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xd08
CPU revision    : 3

processor       : 3
model name      : ARMv7 Processor rev 3 (v7l)
BogoMIPS        : 270.00
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xd08
CPU revision    : 3

Hardware        : BCM2835
Revision        : c03112
Serial          : 10000000xxxxxxxx
Model           : Raspberry Pi 4 Model B Rev 1.2
```

`Model           : Raspberry Pi 4 Model B Rev 1.2` のリビジョンの情報はこちらが詳しい
[日本で出たRaspberry Pi 4と電源問題とファームウェアの件](http://akkiesoft.hatenablog.jp/entry/20191128/1574911998)

# $ cat /proc/meminfo
mem ４GBタイプ

```
$ cat /proc/meminfo
MemTotal:        3999784 kB
MemFree:         3595128 kB
MemAvailable:    3753712 kB
Buffers:           22012 kB
Cached:           254632 kB
SwapCached:            0 kB
Active:           223556 kB
Inactive:          71564 kB
Active(anon):      18812 kB
Inactive(anon):    16540 kB
Active(file):     204744 kB
Inactive(file):    55024 kB
Unevictable:          16 kB
Mlocked:              16 kB
HighTotal:       3264512 kB
HighFree:        2980888 kB
LowTotal:         735272 kB
LowFree:          614240 kB
SwapTotal:        102396 kB
SwapFree:         102396 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:         18432 kB
Mapped:            22916 kB
Shmem:             16880 kB
Slab:              52012 kB
SReclaimable:      24508 kB
SUnreclaim:        27504 kB
KernelStack:         992 kB
PageTables:         1168 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     2102288 kB
Committed_AS:     118352 kB
VmallocTotal:     245760 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
Percpu:              704 kB
CmaTotal:         262144 kB
CmaFree:          222976 kB
```