FreeCalypso > hg > freecalypso-sw
diff loadtools/clmain.c @ 42:5da0cbee2b89
fc-xram tool written, compiles, now needs to be debugged
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Mon, 17 Jun 2013 07:18:04 +0000 |
parents | |
children | 16315ed6401a |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/loadtools/clmain.c Mon Jun 17 07:18:04 2013 +0000 @@ -0,0 +1,69 @@ +/* + * This module contains the main() function for the XRAM chain-loading + * utility fc-xram. + */ + +#include <sys/types.h> +#include <stdint.h> +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include "srecreader.h" + +extern char *target_ttydev; +extern struct srecreader iramimage; +extern char default_loadagent_image[]; +extern struct srecreader xramimage; + +main(argc, argv) + char **argv; +{ + extern char *optarg; + extern int optind; + int c; + + while ((c = getopt(argc, argv, "a:h:H:i:")) != EOF) + switch (c) { + case 'a': + iramimage.filename = optarg; + continue; + case 'h': + read_hwparam_file_shortname(optarg); + continue; + case 'H': + read_hwparam_file_fullpath(optarg); + continue; + case 'i': + set_beacon_interval(optarg); + continue; + case '?': + default: +usage: fprintf(stderr, + "usage: fc-xram [options] ttyport xramimage.srec\n"); + exit(1); + } + if (argc - optind != 2) + goto usage; + target_ttydev = argv[optind]; + xramimage.filename = argv[optind+1]; + if (!iramimage.filename) + iramimage.filename = default_loadagent_image; + + open_target_serial(); + perform_romload(); + /* loadagent should be running now */ + if (tpinterf_pass_output(1) < 0) + exit(1); + /* hw_init_script execution will go here */ + printf("Sending XRAM image to loadagent\n"); + perform_chain_load(); + tty_passthru(); + exit(0); +} + +/* called from hwparam.c config file parser */ +/* stub needed for fc-xram to link */ +void +set_default_exit_mode() +{ +}