OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [bootloaders/] [orpmon/] [cmds/] [global.c] - Rev 366

Go to most recent revision | Compare with Previous | Blame | View Log

#include "common.h"
#include "support.h"
 
global_struct global;
 
int src_addr_cmd (int argc, char *argv[])
{
  if (argc == 1) {
    global.src_addr = strtoul (argv[0], 0, 0);
    return 0;
  } else return -1;
}
 
int dst_addr_cmd (int argc, char *argv[])
{
  if (argc == 1) {
    global.dst_addr = strtoul (argv[0], 0, 0);
    return 0;
  } else return -1;
}
 
int length_cmd (int argc, char *argv[])
{
  if (argc == 1) {
    global.length = strtoul (argv[0], 0, 0);
    return 0;
  } else return -1;
}
 
int ip_cmd (int argc, char *argv[])
{
  if (argc == 1) {
    global.ip = parse_ip (argv[0]);
    return 0;
  } else return -1;
}
 
int srv_ip_cmd (int argc, char *argv[])
{
  if (argc == 1) {
    global.srv_ip = parse_ip (argv[0]);
    return 0;
  } else return -1;
}
 
int erase_method_cmd (int argc, char *argv[])
{
  if (argc == 1) {
    int a = strtoul (argv[0], 0, 0);
    if (a < 0 || a > 2) return -1;
    global.erase_method = a;
    return 0;
  } else return -1;
}
 
int start_addr_cmd (int argc, char *argv[])
{
  if (argc == 1) {
    global.start_addr = strtoul (argv[0], 0, 0);
    return 0;
  } else return -1;
}
 
#if HELP_ENABLED
int globals_cmd (int argc, char *argv[])
{
  const char *erase_method_desc[] = {"do not erase", "fully", "as needed"};
  if (argc) return -1;
  printf ("src_addr = %08lx\n", global.src_addr);
  printf ("dst_addr = %08lx\n", global.dst_addr);
  printf ("start_addr = %08lx\n", global.start_addr);
  printf ("length = %08lx\n", global.length);
  printf ("ip = %08lx\n", global.ip);
  printf ("srv_ip = %08lx\n", global.srv_ip);
  printf ("erase_method = %i (%s)\n", (int)global.erase_method, erase_method_desc[global.erase_method]);
  return 0;
}
#endif /* HELP_ENABLED */
 
void module_global_init (void)
{
  register_command ("src_addr", "<value>", "sets global parameter source address", src_addr_cmd);
  register_command ("dst_addr", "<value>", "sets global parameter destination address", dst_addr_cmd);
  register_command ("start_addr", "<value>", "sets start address", start_addr_cmd);
  register_command ("length", "<value>", "sets global parameter length", length_cmd);
  register_command ("ip", "<value> <value> <value>", "sets global parameter ip address", ip_cmd);
  register_command ("srv_ip", "<value> <value> <value>", "sets global parameter server ip address", srv_ip_cmd);
  register_command ("erase_method", "<value> <value> <value>", "sets flash erase method (0 = do not erase, 1 = fully, 2 = as needed)", erase_method_cmd);
  if (HELP_ENABLED) register_command ("globals", "", "show globals", globals_cmd);
}
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.