tag 标签: 命令

相关博文
  • 热度 2
    2023-9-1 18:02
    3059 次阅读|
    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:中断请求
  • 热度 8
    2022-12-20 13:46
    2596 次阅读|
    0 个评论
    麒麟V10系统关闭、开启防火墙命令
    关闭、开启防火墙方法: 永久关闭:service ufw disable 临时关闭:service ufw stop 永久启动:sudo service ufw enable 临时启动:sudo service ufw start 以上内容来源于技术论坛 “信创技术联盟” ,欢迎对信创感兴趣的朋友们一同到论坛相互讨论交流! 下载视频
  • 热度 28
    2016-4-10 15:48
    2323 次阅读|
    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工程类型
  • 热度 12
    2015-3-14 21:41
    870 次阅读|
    0 个评论
              最近要开始 openrisc 的学习。关于这点以前的知识储备接近于 0 ,但我会努力的学习。尽吾志也而不能至者,可以无悔矣,其孰能讥之乎?努力学习,一定会有收获! openrisc 的环境是运行在 Linux 下,而我对 Linux 操作系统也不了解(汗 ( ⊙﹏⊙ )b !滚回家种田吧!)。所以还是一边学习 openrisc ,一边了解 Linux 吧! Linux 的几个简单命令: 时间: date    日历: cal   计算器: bc 连续按两次 Tab 键,命令补全或文件补齐。 Ctrl+c  中断 Ctrl+d 相当于 exit man  打开 man page ,相当于 MATLAB 里面的 help man page 里面命令名后面的数字 1 表示用户可以操作的命令或可执行文件;数字 5 表示配置文件; 8 表示管理员的管理命令。 man –f man    man –k man info 类似于 man ,页面显示 sync 数据同步写入磁盘 shutdown poweroff reboot init 切换执行等级, run level 0 :关机, 3 纯命令行, 5 含有图形界面, 6 重启 sudo 以 root 用户身份执行命令。   好记性不如烂笔头!
  • 热度 20
    2011-1-21 15:47
    3012 次阅读|
    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 。可以事先给定条件,使程序在不同的条件下执行不同的功能。      有利于程序的可移植性,增加程序的灵活性。    
相关资源