scm_main.c

来自「Freescale MCF5445evb 参考测试代码」· C语言 代码 · 共 103 行

C
103
字号
/* * \file    scm_main.c * \brief   Command line interface for SCM validation tests * \version $Revision: 1.1 $ * \author  Michael Norman */#include "common.h"#include "uif.h"#include "scm_tests.h"#include "watchdog.h"/********************************************************************//* * Setup user interface */void mainloop (void);void cmd_rd (int, char **);void cmd_wdttimeout (int, char **);void cmd_wdtfault (int, char **);const char PROMPT[] = "SCM> ";UIF_CMD UIF_CMDTAB[] ={    UIF_CMDS_ALL    {"rd",      0,0,0,cmd_rd,           "Register Disply",""},    {"wdtt",    0,0,0,cmd_wdttimeout,   "Force WDT Timeout",""},    {"wdtf",    0,0,0,cmd_wdtfault,     "Force WDT Fault",""},};const int UIF_NUM_CMD    = UIF_CMDTAB_SIZE;UIF_SETCMD UIF_SETCMDTAB[] = {"",0,0,NULL,""};const int UIF_NUM_SETCMD = 0;/********************************************************************/void main (void){	char ch;    printf("\n");    printf("**************************************************\n");    printf("*                                                *\n");    printf("*                  SCM Utility                   *\n");    printf("*                                                *\n");    printf("**************************************************\n");    printf(HELPMSG);    printf("\n");    mainloop();}/********************************************************************/voidmainloop (void){    /* Enable interrupts to the core */    mcf5xxx_irq_enable();    while (TRUE)    {        printf(PROMPT);        run_cmd();    }}/********************************************************************/voidcmd_rd (int argc, char **argv){    printf("SCM Registers:\n");    printf("MPR          = %08X\n", MCF_SCM_MPR);    printf("PACRA        = %08X\n", MCF_SCM_PACRA);    printf("PACRB        = %08X\n", MCF_SCM_PACRB);    printf("PACRC        = %08X\n", MCF_SCM_PACRC);    printf("PACRD        = %08X\n", MCF_SCM_PACRD);    printf("PACRE        = %08X\n", MCF_SCM_PACRE);    printf("PACRF        = %08X\n", MCF_SCM_PACRF);    printf("PACRG        = %08X\n", MCF_SCM_PACRG);    printf("CWCR         = %04X\n", MCF_SCM_CWCR);    printf("CWSR         = %02X\n", MCF_SCM_CWSR);    printf("CWIR         = %02X\n", MCF_SCM_CWIR);    printf("BCR          = %08X\n", MCF_SCM_BCR);    printf("CFADR        = %08X\n", MCF_SCM_CFADR);    printf("CFIER        = %02X\n", MCF_SCM_CFIER);    printf("CFLOC        = %02X\n", MCF_SCM_CFLOC);    printf("CFATR        = %02X\n", MCF_SCM_CFATR);    printf("CFDTR        = %08X\n", MCF_SCM_CFDTR);}/********************************************************************/voidcmd_wdttimeout (int argc, char **argv){    scm_wdt_timeout();}/********************************************************************/voidcmd_wdtfault (int argc, char **argv){    scm_wdt_invalid_service();}/********************************************************************/

⌨️ 快捷键说明

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