了解嵌入式系统的基本规格

嵌入式系统(Embedded system)受限于硬件资源,操作系统要经过裁剪,在服务器上使用的很多常用命令都被裁剪掉。

No. 命令 作用 备注
1 cat /proc/version 系统版本
2 cat /proc/cpuinfo CPU 主频/型号
3 cat /proc/meminfo MEM 内存
4 cat /proc/mtd FLASH 闪存

/proc/version

Linux version 3.10.90 (xiamin@CentOS6.8JENKINS) (gcc version 4.4.7 (Realtek MSDK-4.4.7 Build 2001) ) #1 Tue Dec 11 12:35:00 CST 2018

/proc/cpuinfo

system type : RTL8197F
machine : Unknown
processor : 0
cpu model : MIPS 24Kc V8.5
BogoMIPS : 729.49
wait instruction : yes
microsecond timers : yes
tlb_entries : 64
extra interrupt vector : yes
hardware watchpoint : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa : mips1 mips2 mips32r2
ASEs implemented : mips16
shadow register sets : 4
kscratch registers : 0
core : 1
VCED exceptions : not available
VCEI exceptions : not available

/proc/meminfo

MemTotal: 107776 kB
MemFree: 74832 kB
Buffers: 2720 kB
Cached: 8960 kB
SwapCached: 0 kB
Active: 12208 kB
Inactive: 6256 kB
Active(anon): 6784 kB
Inactive(anon): 0 kB
Active(file): 5424 kB
Inactive(file): 6256 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 6832 kB
Mapped: 3120 kB
Shmem: 0 kB
Slab: 9840 kB
SReclaimable: 608 kB
SUnreclaim: 9232 kB
KernelStack: 1056 kB
PageTables: 1280 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 53888 kB
Committed_AS: 31600 kB
VmallocTotal: 1048144 kB
VmallocUsed: 544 kB
VmallocChunk: 1027584 kB

/proc/mtd 分区

mtd0: 00500000 00020000 "boot"
mtd1: 00300000 00020000 "setting"
mtd2: 00600000 00020000 "linux"
mtd3: 01500000 00020000 "rootfs"
mtd4: 00a00000 00020000 "reserved"
mtd5: 01000000 00020000 "ConfigureA"
mtd6: 00400000 00020000 "ConfigureB"
mtd7: 00600000 00020000 "linux2"
mtd8: 01500000 00020000 "rootfs2"
mtd9: 01600000 00020000 "plug"

  • 通过 df 了解磁盘空间文件系统使用情况。

MTD

  • MTD:memory technology device 内存技术设备。A type of device file in Linux for interacting with flash memory.
  • MTD 是用于访问 memory 设备(ROM、flash)的Linux的子系统。
  • MTD的主要目的是为了使新的memory设备的驱动更加简单,为此它在硬件和上层之间提供了一个抽象的接口,并进行了一个层次划分。
  • MTD 层次从上到下大致为:设备文件、MTD设备层、MTD原始设备层、硬件驱动层。

解读 /proc/mtd

# cat /proc/mtd
dev: size erasesize name
mtd0: 00030000 00010000 "Bootloader"
mtd1: 00010000 00010000 "Config"
mtd2: 00010000 00010000 "Factory"
mtd3: 00310000 00010000 "Kernel"
mtd4: 00310000 00010000 "Kernel2"
mtd5: 00190000 00010000 "ZY1"
mtd6: 00800000 00010000 "All"

  • dev 是设备名称;
  • size 是本 mtd 分区的最大字节数空间(十六进制);
  • erasesize是本分区的最小擦除字节数空间(十六进制);
  • 如图所示 00010000 表示擦除的块大小为 65536,即 64K,linux的flash是以块为擦除单位的;
  • 如图所示 size 相加,整个 FLASH 大小 16M;

推荐阅读更多精彩内容