view loadtools/sertool.c @ 24:9ee91bc6057c

loadagent buglet in the memory dump command argument parsing
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Sat, 04 May 2013 04:57:43 +0000
parents 24b88c119465
children 768a3d012931
line wrap: on
line source

/*
 * This module contains the main() function for fc-sertool: the simplest
 * of the FreeCalypso loading tools, which sends the user-specified
 * IRAM SREC image to the boot ROM and then switches into serial tty
 * pass-through.
 */

#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;

main(argc, argv)
	char **argv;
{
	extern char *optarg;
	extern int optind;
	int c;

	while ((c = getopt(argc, argv, "h:H:i:")) != EOF)
		switch (c) {
		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-sertool [options] ttyport iramimage.srec\n");
			exit(1);
		}
	if (argc - optind != 2)
		goto usage;
	target_ttydev = argv[optind];
	iramimage.filename = argv[optind+1];

	open_target_serial();
	perform_romload();
	tty_passthru();
	exit(0);
}