⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mstat.c

📁 完整的Bell实验室的嵌入式文件系统TFS
💻 C
字号:
#include "config.h"#include "cpu.h"#include "stddefs.h"#include "genlib.h"extern  void InitUART(), CSInfo(), InitMonSTATUS();static  ulong   MonitorSTATUS;void mstatshow();char *MstatHelp[] = {    "Monitor status",    "-[b:Hhcs:]",    " -b {baud}  set baud rate",    " -c         dump chip-select info",    " -s {val}   set monitor state",    0,};intMstat(int argc,char **argv){    int opt;    /* If no args, just dump current status. */    if (argc == 1) {        mstatshow();        return(0);    }    while ((opt=getopt(argc,argv,"b:cs:x:")) != -1) {        switch(opt) {        case 'b':            InitUART(atoi(optarg));            break;        case 'c':            CSInfo();            return(0);        case 's':            InitMonSTATUS((ushort)strtol(optarg,0,0));            break;        case 'x':            return(0);        default:            return(0);        }    }    if (argc != optind)        return(-1);    return(0);}/* * Set the Current Program Status Register. */voidputpsr(ulong psr){    /*     * The first argument is in R0.     */    asm("   msr CPSR_c, r0");}/* * Return the Current Program Status Register. */ulonggetpsr(){    /*     * The return values are placed in R0.     */    asm("   mrs r0, CPSR");}ulonggetsp(){    /*     * The stack pointer is register 13 (R13)     */    asm("   mov r0, r13");}voidInitMonSTATUS(ulong state){    MonitorSTATUS = state;    putpsr((ulong)MonitorSTATUS);}voidSetMonSTATUS(){    putpsr((ulong)MonitorSTATUS);}voidmstatshow(){    extern  int monState();    monHeader(0);    mstatshowcom();    printf("Current:\n");    printf(" SP:   0x%08x\n",(ulong)getsp());    printf(" CPSR: 0x%08x\n",(ulong)getpsr());    printf("Monitor STATE: %d\n",monState());}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -