4.7.4. sysinfopro

sysinfopro is a tool used to display system information and hardware details, integrated into the onboard directory /app/platform_samples/sysinfopro/. It provides detailed information about hardware, memory, operating system, temperature, frequency, kernel modules, and more through various options.

4.7.4.1. Syntax Description

The basic syntax of sysinfopro is as follows:

./sysinfopro [options]

By combining different options, users can conveniently obtain detailed system and hardware information.

Option Format:

  • Single option: ./sysinfopro -<option>

  • Multiple options combined: ./sysinfopro -<option1> -<option2> ...

For example:

./sysinfopro -m -i -o

4.7.4.2. Option Parameters Description

sysinfopro provides multiple options, allowing users to select specific options based on their needs to retrieve corresponding information. Below are the supported options and their descriptions:

  • -a: Display all information (same effect as when no parameter is provided).

  • -m: Display memory information, including ION memory.

  • -i: Display hardware information.

  • -o: Display operating system version information.

  • -s: Display temperature and frequency information for CPU, DDR, GPU, and BPU.

  • -b: Display basic information of the board terminal.

  • -l: Display HBRE library version information.

  • -k: Display currently loaded kernel modules.

  • -h: Display help information.

4.7.4.3. Command Options and Their Functional Descriptions

Display All Information

Command:

./sysinfopro -a

Or execute:

./sysinfopro

Function:
This command displays all system and hardware information, including memory, hardware model, OS version, temperature, frequency, and more. Suitable for scenarios requiring a comprehensive understanding of system status.

Display Memory Information

Command:

./sysinfopro -m

Function:
This command displays system memory information, including total, used, free memory, and detailed ION memory information. For example:

[Memory Info]:
        [Total Memory]:         1.28 GB
        [Used Memory]:          0.28 GB
        [Free Memory]:          0.93 GB

        [NOTE] What is displayed is the memory available to the system,
        which is the actual physical memory capacity minus ION and system reserved memory.
        (The content is consistent with "free -h")

[ION Memory Info]:
        [ION CMA Memory Size]:          0.50 GB
        [ION Carveout Memory Size]:     1.00 GB
        [ION Reserved Memory Size]:     1.00 GB

This information helps users understand system memory usage and ION memory allocation.

Display Hardware Information

Command:

./sysinfopro -i

Function:
This command displays hardware model and related information, for example:

[Hardware Model]:
        D-Robotics X5 EVB LP4 1_B board (Board Id = 0x0202)

Users can use this information to confirm the hardware model and board ID.

Display Operating System Version Information

Command:

./sysinfopro -o

Function:
This command displays operating system version information, including SDK version, kernel version, U-Boot version, etc. For example:

[SDK Version]:
        LNX6.1.83_PL5.1_V1.0.16_20250205-1045

[Kernel Version]:
        Linux buildroot 6.1.83-DR-PL5.1_V1.0.16 #13 SMP PREEMPT Mon Jan 20 20:00:05 CST 2025 aarch64 GNU/Linux

[Uboot Version]:
        U-Boot 2022.10-geffce08a47 (Jan 08 2025 - 20:25:24 +0800)

[Bpu HW_IO Git Commit Hash]:
        42566cb

This information helps users verify the software versions in use.

Display Temperature and Frequency Information

Command:

./sysinfopro -s

Function:
This command displays temperature and frequency information for CPU, DDR, GPU, and BPU. For example:

[CPU DDR GPU And BPU Status]:
        =====================1=====================
        temperature-->
                DDR      : 56.4 (C)
                BPU      : 55.9 (C)
                CPU      : 56.0 (C)
        cpu frequency-->
                      min(M)    cur(M)  max(M)
                cpu0: 300       1500    1500
                cpu1: 300       1200    1500
                cpu2: 300       1200    1500
                cpu3: 300       1200    1500
                cpu4: 300       1200    1500
                cpu5: 300       1200    1500
                cpu6: 300       300     1500
                cpu7: 300       1200    1500
        bpu status information---->
                      min(M)    cur(M)  max(M)  ratio
                bpu0: 500       1000    1000    0
        ddr frequency information---->
                      min(M)    cur(M)  max(M)
                ddr:  266       4266    4266
        GPU gc8000 frequency information---->
                      min(M)    cur(M)  max(M)
                gc8000:  200    1000    1000

This command shows temperature and frequency data for CPU, DDR, GPU, and BPU, including minimum, current, and maximum frequencies, as well as temperature values. This information helps users monitor hardware operational status and ensure the device operates within normal temperature and frequency ranges.

This command essentially invokes the hrut_somstatus command.

Display Board Terminal Basic Information

Command:

./sysinfopro -b

Function:
This command displays basic information of the board terminal, for example:

[Board Info]:
        soc_gen: X5
        soc_name: X5M
        hw_name: X5_EVB_LP4
        board_version: 1_B
        hw_info: X5_EVB_LP4_1_B_cxmt_4096MB_4266
        bootdevice_name: emmc
        soc_uid: 0x308064960e290c8d022981b300000000
        ddr_type: LPDDR4
        ddr_size: 4096MB
        ddr_vendor: cxmt
        ddr_freq: 4266 Mbps
        board_id: 0x0202
        bak_slot: 0

This command shows information including SoC type, memory size and type, board version, boot device, etc., helping users understand the board’s basic configuration and hardware parameters.

Display HBRE Library Version Information

Command:

./sysinfopro -l

Function:
This command displays version information of the hbre libraries, for example:

[HBRE lib version]:
        libcam                         1.1.0-95e439a
        libvpf                         1.0.0-95e439a
        libdsp                         1.0.0-43bee14
        libboardinfo                   1.0.0-06d329f
        libefuse                       1.0.1-a2050b3
        libhbmem                       1.0.0-352c38e
        libhbipcfhal                   1.0.0-efc96c3
        libalog                        1.0.1-c1fe766
        libmultimedia                  1.2.3-551f280
        libte600_engine                1.0.0-44a4499
        libupdate                      1.0.1-91d3da7
        libpowerctl                    0.1.1-e011866
        libsecure_storage              1.0.0-edff2b7
        libhbplayer                    1.0.1-cc40383
        gc8000l                        6.4.14-d392a64
        x5_camsys                      unknown-fb47281b6
        libNano2D/libNano2Dutil        2.0-183cd6e

This information helps developers identify the versions of libraries currently in use.

Note: If an unreleased hbre library is used, the version string will include the -dirty suffix, indicating that the library was built directly from development and has not been officially released. This typically means the library contains uncommitted changes or local modifications and may differ from the official release. Example:

        libcam                         1.1.0-95e439a-dirty

The -dirty suffix arises when there are uncommitted or unmerged local changes in the codebase, indicating that the version is not an official release.

Display Currently Loaded Kernel Modules

Command:

./sysinfopro -k

Function:
This command displays the list of currently loaded kernel modules, for example:

[Kernel Module List]:
        Module                  Size  Used by    Tainted: P
        usb_f_fs               45056  3
        libcomposite           77824 10 usb_f_fs
        bpu_hw_io_x5           24576  0
        bpu_cores              28672  1 bpu_hw_io_x5
        bpu_framework          73728  2 bpu_hw_io_x5,bpu_cores
        ...

This command shows currently loaded kernel modules and related information, such as module size and usage count, helping users understand which kernel modules are active and their dependencies.

Display Help Information

Command:

./sysinfopro -h

Function:
This command displays help information for the tool, including usage instructions and option descriptions:

sysinfopro - display system information and hardware details.

Usage: sysinfopro [options]

Options can be combined. For example:
         ./sysinfopro -m -i -o

Options:
        -a      Show all information
        -m      Show memory information, include ION memory
        -i      Show hardware information
        -o      Show OS version
        -s      Show temperature and frequency of CPU DDR GPU and BPU
        -b      Show basic information of board terminal
        -l      Show hbre library version
        -k      Show currently loaded kernel modules
        -h      Show this help message

Users can quickly learn how to use the tool and understand the functions of each option through this help message.