tag 标签: 命令

相关博文
  • 2025-4-16 15:50
    380 次阅读|
    0 个评论
    瑞芯微电子(Rockchip)是国内领先的AIoT SoC设计制造企业,专注于智能应用处理器及周边配套芯片的研发。飞凌嵌入式作为瑞芯微的战略合作伙伴,已基于瑞芯微RK3399、RK3568、RK3588、RK3576、RK3562和RK3506系列处理器推出了多款嵌入式主控产品,包括核心板、开发板和工控机,这些产品已成功帮助数千家企业客户完成了项目的快速开发和落地。 本文将系统地梳理飞凌嵌入式RK平台主控产品在开发过程中常用的命令,助力更多开发者快速掌握RK系列芯片的开发方法。 01、查看CPU温度 cat /sys/class/thermal/thermal_zone0/temp 02、查看CPU频率(主频) cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq #查看CPU可支持的最高频率 cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies #查看当前可支持的CPU频率(受核心板温度影响,温控策略会改变可支持频率列表 cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq #查看当前CPU工作在什么频率 cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors #查看当前CPU所有支持的调频策略 cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor #查看当前CPU应用的调频策略 #interactive:动态调频模式 #performance :高效率模式,CPU主频总是支持列表中的最高频率(受温控策略影响 #powersave:省电模式,CPU主频总是支持列表中的最低频率 #userspace:用户自定义模式 # 使用方法: # echo userspace /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor # echo 1800000 /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed #ondemand:在最高频率和最低频率之间切换 #conservative:平滑的调整频率 03、增加CPU负载 cat /dev/urandom | md5sum #该命令多次运行即可拉满CPU负载 04、查看GPU使用率 cat /sys/devices/platform/ff9a0000.gpu/devfreq/ff9a0000.gpu/load #platform后的文件路径需自行查看当前平台gpu映射到的寄存器地址 05、查看GPIO占用状态 cat /sys/kernel/debug/gpio 06、查看当前系统所有引脚pinmux功能 cat /sys/ kernel /debug/ pinctrl /pinctrl-rockchip-pinctrl/ pinmux - pins 07、重新定义shell窗口显示大小 resize 08、重新挂载文件系统读写属性 mount -o rw,remount rootfs 09、重新获取文件系统当前分区大小 resize2fs /dev/mmcblk0p8 10、DDR当前频率获取与可调节范围 cat /sys/class/devfreq/dmc/cur_freq //获取当前DDR频率、可调值、容量 cat /sys/class/devfreq/dmc/available_frequencies //查看DDR频率可调节的值 cat /proc/meminfo //获取DDR容量 //DDR测试定频,最后 cat 出来频率为输入值则定频成功,注意 设置值需获取DDR可调值 echo userspace /sys/class/devfreq/dmc/governor echo 856000000 /sys/class/devfreq/dmc/userspace/set_freq cat cur_freq 11、查看DDR带宽占用率 cat /sys/ devices /platform/ dmc /devfreq/ dmc / load 12、Gstreamer播放图片 gst-launch-1.0 -v playbin delay=10000000000 uri= "file:///home/test.jpg" 13、清除VM虚拟机loop分区占用100% apt autoremove --purge snapd 14、GPIO号计算方法 以GPIO4C6为例: A-D对应1-4:A-1,B-2,C-3,D-4。 GPIOn_xy =n × 32 + (x - 1) × 8 + y GPIO4_C6=4 × 32 + (3 - 1) × 8 + 6 =150 15、eMMC分区扩容计算方法 rootfs分区为根分区,@后的为起始地址,@前的为分区大小。注意userdate分区的起始地址为rootfs的起始地址+分区大小 每块分区512byte uboot 举例: 0x00002000 *512byte = 8192 * 512byte = 4,194,304byte 4,194,304÷1024 = 4096KB 4096÷1024=4MB 所以uboot设置的大小为4MB 16、虚拟机自动挂载共享文件夹 在/etc/fstab 添加 .host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other 0 0 如下: 17、GLIBC支持版本查询命令 strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC 18、手动清除DDR cache占用 echo 3 /proc/sys/vm/drop_caches 19、PCIe总线重新扫描设备 echo 1 /sys/bus/pci/rescan 20、Ubuntu系统进入无界面模式 systemctl set - default multi-user.target #设置为默认启动进入 多用户模式,即启动时没有图形界面,而是进入命令行界面(CLI)
  • 热度 2
    2023-9-1 18:02
    3572 次阅读|
    0 个评论
    eMMC有四种命令: BC:广播命令,无需返回值; BCR:广播命令,需要返回值; AC:点对点寻址命令,DAT线上没有数据传输; ADTC:点对点寻址命令,DAT线上有数据传输。 所有的命令和返回值都在CMD线上完成。 所有命令的长度都是48bits,在52MHz时钟时传输时间为0.9ms。格式如下表: 命令分级 eMMC的命令分为不同class。每个class支持一系列设备功能。 Class0是所有eMMC都强制支持的,其他classes要么是特定设备类型强制支持,要么是可选的。通过使用不同的class,就可以使用不同的配置。eMMC所支持的命令等级Command Classes(CCC),都作为参数存储在寄存器Device specific data(CSD)中。 下面是常用的CMD0/CMD1/CMD6的描述。 返回值 所有命令的返回值都通过CMD发送,返回值长度依赖于命令类型。共有5种返回值类型。 R1:常用的返回值类型,格式如下: R1b:与R1类似,多了个可选的在DAT0上传输的busy信号。 R2:CID,CSD寄存器专用,CMD2和CMD10返回CID寄存器值,CMD9返回CSD寄存器值 R3:OCR寄存器专用,CMD1命令的返回值 R4: Fast IO,包括寻址设备的RCA R5:中断请求
  • 热度 11
    2022-12-20 13:46
    2998 次阅读|
    0 个评论
    麒麟V10系统关闭、开启防火墙命令
    关闭、开启防火墙方法: 永久关闭:service ufw disable 临时关闭:service ufw stop 永久启动:sudo service ufw enable 临时启动:sudo service ufw start 以上内容来源于技术论坛 “信创技术联盟” ,欢迎对信创感兴趣的朋友们一同到论坛相互讨论交流! 下载视频
  • 热度 29
    2016-4-10 15:48
    2537 次阅读|
    0 个评论
    对操作系统来讲,无论是 PC 的 Windows 、 Linux 还是嵌入式系统 VxWorks 、 QNX 、 SylixOS , shell 都是一个强大的调试手段,在进行驱动开发、应用开发、系统维护方面有着重要作用。 SylixOS 提供了基本的 shell 命令,能够满足绝大多数情况下的需要,但在一些特殊应用中通过添加自定义的 shell 命令,可以极大的方便设备的维护和使用。 在 SylixOS 中添加 shell 命令的函数为 API_TshellKeywordAdd ,该函数需要在内核模块中调用,函数介绍如下: API_TShellKeywordAdd(pcKeyword,       /*  添加的 shell 命令     */            pfuncCommand);       /*  执行 shell 命令的函数  */ 下面使用一个简单的实例演示添加 shell 命令的过程,该命令可以实现三个整数的加法运算。 #define  __SYLIXOS_KERNEL #include SylixOS.h #include "linux/compat.h" #include module.h   #include "../SylixOS/kernel/include/k_kernel.h" #include "../SylixOS/system/include/s_system.h" #include "../SylixOS/system/include/s_internal.h" #include "sys/time.h" /****************************************************************************** ** 函数名称: shellCmdTest ** 功能描述: 添加的 shell 测试命令功能函数 ******************************************************************************/ INT  shellCmdTest (UINT32  uiStart, UINT32  uiCount, UINT32  uiData) {     UINT32  uiRet;       uiRet = uiStart + uiCount + uiData;     printk("result:%d\n", uiRet);       return  (ERROR_NONE); } /****************************************************************************** ** 函数名称: tshellTestCmd ** 功能描述: 向内核添加的测试命令 ******************************************************************************/ static INT  tshellTestCmd (INT  iArgC, PCHAR  ppcArgV , "-g") == 0) {     }     sscanf(ppcArgV , "%d", uiStart);     sscanf(ppcArgV , "%d", uiCount);     sscanf(ppcArgV , "%d", uiData);       shellCmdTest(uiStart, uiCount, uiData);       return  (ERROR_NONE); } /****************************************************************************** ** 函数名称: module_init ** 功能描述: 内核模块被注册进系统时调用的函数 ******************************************************************************/ int module_init (void) {     API_TShellKeywordAdd("numadd",                   /*  添加的 shell 命令           */                              tshellTestCmd);            /*  执行 shell 命令的函数       */     return  (ERROR_NONE); } /****************************************************************************** ** 函数名称: module_exit ** 功能描述: 内核模块从系统时调用的函数 ******************************************************************************/ void module_exit (void) { } 代码使用: 1. 在控制台中将工作目录切换到“ /lib/modules ”,注册模块并测试 shell ,过程如下; # ls modu_shell_add.ko               xinput.ko       xsiipc.ko # modulereg modu_shell_add.ko hello_module init! module modu_shell_add.ko register ok, handle : 0x30c74910 # numadd 1 3 5 result:9 # 注意:本例程的工程创建时,需要选择 kernel module工程类型
  • 热度 21
    2011-1-21 15:47
    3122 次阅读|
    0 个评论
    预处理命令 C 语言与其它高级语言的一个重要区别是可以使用预处理命令和具有预处理功能。预处理命令是用户自己按照 ANSIC 统一规定命名的。它们不属于 C 语言本身,不能直接编译,需进行“预处理”,如 #define    pi   3.14 中 pi 是预处理命令, define 是 c 语言提供的预处理功能。 C 语言提供的预处理功能主要有以下 3 种: 1 、宏定义 ;2 、文件包含; 3 、条件编译。为了区分与一般 C 语句相区别,这些命令以符号“ # ”开头。 1、   宏定义: ( 1 )、不带参数的宏定义: #define   标识符    字符串         注意: a 、宏名一般习惯用大写字母表示,但也可用小写字母。             b 、使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量。             c 、宏定义是简单的替换,不做正确性检测。             d 、宏定义不是 c 语句,不必在行末加分号。             e 、 #define 出现在函数的外面,有效范围为定义命令之后到本源文件结束。             f 、可以用 #undef 命令中止宏定义的作用域。             g 、宏定义可以引用已定义的宏名,可以层层置换。             h 、对程序中用双撇号“”括起来的字符串内的字符,即使与宏名相同,也不进行置换。             K 、宏定义是专门用于预处理命令的一个专用名词,它与定义变量的含义不同,只作字符替换,不分配内存空间。       ( 2 )、带参数的宏定义: #define   宏名(参数表)    字符串        注意: a 、对带参数的宏的展开只是将语句中的宏名后面括号内的实参字符串代替 #define 命令行中的形参。注意字符串表达式中参数括号的使用。              b 、在宏定义时,在宏名与带括号的参数之间不应有空格,否则将空格以后的字符作为字符串的一部分替换。    2 、“文件包含”处理: 所谓“文件处理”是指一个源文件可以将另一个源文件的全部内容包含进来,即将另外的文件包含到本文件之中。用 #include “文件名”或 #include 文件名 二者区别:前者用于用户自己定义的 .h 文件在当前目录下寻找,如找不到去系统存放 C 库函数的头文件目录中寻找。可 #include “ c:\wang\file.h ”指出目录。后者直接在系统存放 C 库函数的头文件目录中寻找。 ( 1 )、一个 #include 命令只能指定一个被包含文件。 ( 2 )、可以嵌套包含, file1.h 包含 file2.h , file2.h 要在 file1.h 之前定义。 ( 3 )、包含文件编译后成为一个文件,不是两个。全局变量有效。 3 、条件编译:    ( 1 )、 #ifdef    标识符          程序段 1         #else            程序段 2         #endif 它的作用是若所指定的标识符已经被 #define 命令定义过,则在程序编译阶段编译程序 1 ,否则编译程序段 2 。没有 #else 部分也可。这里的程序段可以是语句组,也可以是命令行。   ( 2 )、 #ifndef    标识符          程序段 1         #else            程序段 2         #endif 它的作用是若所指定的标识符未被 #define 命令定义过,则在程序编译阶段编译程序 1 ,否则编译程序段 2 。 ( 2 )、 #if   表达式          程序段 1         #else            程序段 2         #endif 它的作用是若所指定的表达式为真(非零)时,则在程序编译阶段编译程序 1 ,否则编译程序段 2 。可以事先给定条件,使程序在不同的条件下执行不同的功能。      有利于程序的可移植性,增加程序的灵活性。    
相关资源