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

Subversion Repositories s80186

[/] [s80186/] [trunk/] [vendor/] [altera-jtag/] [jload.c] - Rev 2

Compare with Previous | Blame | View Log

/* Copyright 2012 Brian Swetland <swetland@frotz.net>
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
 
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include "jtag.h"
 
#define VIR_CTRL	0x0
#define VIR_ADDR	0x1
#define VIR_DATA	0x2
 
int main(int argc, char **argv) {
	unsigned bits;
	char buf[1024];
	FILE *fp;
 
	if (argc != 2) {
		fprintf(stderr,"usage: download hexfile\n");
		return -1;
	}
 
	if (jtag_open_virtual_device(0x00))
		return -1;
 
	fp = fopen(argv[1],"r");
	if (!fp) return -1;
 
	jtag_vir(VIR_CTRL);
	jtag_vdr(32, 1, 0);
 
	jtag_vir(VIR_ADDR);
	jtag_vdr(32, 0, 0);
 
	jtag_vir(VIR_DATA);
	while (fgets(buf, 1024, fp)) {
		if(buf[0] == '/') continue;
		if(isspace(buf[0])) continue;
		bits = strtoul(buf, 0, 16);
		jtag_vdr(32, bits, 0);
	}
 
	jtag_vir(VIR_CTRL);
	jtag_vdr(32, 0, 0);
	return 0;
}
 
 

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.