Exemplo n.º 1
0
int main(int argc,char *argv[])
{
    printf("\n* ATTiny861 loader vers. 1.0 *");
    printf("\nLZs,2002-2017");

    if(argc < 2 || *argv[1] != '-') usage();
    if(init() != 0) {
        exit(1);
    }
    switch(argv[1][1]) {
	case 'w':
		    if(readblk(argv[2],FLSIZE) == 0) {
			time( &start_time );
		        writefls();
		        time( &stop_time );
		    }
		    break;

	case 'r':
		    readfls();
		    if(!err) writeblk(argv[2],FLSIZE);
		    break;

	case 'd':
		    rdee();
		    if(!err) writeblk(argv[2],EESIZE);
		    break;

	case 'u':
		    if(readblk(argv[2],EESIZE) == 0) {
			wree();
		    }
		    break;

	case 'l':
		    wlocks(&argv[1][1]);
		    break;

	case 'f':
		    writefuses(argv[2],argv[1][2]);
		    break;

	case 's':
		    readsign();
		    rcalib();
		    break;

    	default:
		    printf("Unrecognised option %c\n",argv[1][1]);
    }
    RST1;
    setLoBits(RST | OE, 0x63);
    release();
    elapsed_time = stop_time - start_time;
    if(elapsed_time) printf("\nElapsed time %ld sec.",elapsed_time);
    printf("\n\n");
    return 0;
}
Exemplo n.º 2
0
Arquivo: xpal.c Projeto: kahrs/cda
void
postamble(void)
{
	char line[STRLEN];
	int i, n = (max_fuse+7)/8;
	writefuses();
	for (i=0; i<n; i++)
		checkfuse += fusebits[i];
	checkfuse &= 0xffff;
	sprint(line, "C%.4x*\n%c", checkfuse, ETX);
	chksumline(line);
	checksum &= 0xffff;
	fprint(1, "%.4x", zflag ? 0 : checksum);
	if (dflag)
		fprint(2, "%.4x", checksum);
}