Beispiel #1
0
int get_bootloader_message(struct bootloader_message *out)
{

	unsigned char data[CFG_MISC_SIZE];
	unsigned char size = CFG_MISC_SIZE;

	memset(data, '\0', CFG_MISC_SIZE);
	puts("get_bootloader_message:msc read\n");
	msc_read(PTN_MISC_OFFSET, (u_char*)data, size);
	
	memcpy(out, data, sizeof(struct bootloader_message));

	return 0;
}
Beispiel #2
0
int do_msc(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
{
	int ret=0;
	ulong addr, off, size;
	char *cmd;
	int quiet = 1;
	const char *quiet_str = getenv("quiet");

	/* at least two arguments please */
	if (argc < 2)
		goto usage;

	if (quiet_str)
		quiet = simple_strtoul(quiet_str, NULL, 0) != 0;

	cmd = argv[1];

	if (strncmp(cmd, "read", 4) == 0) {
		int read;

		if (argc < 4)
			goto usage;

		addr = (ulong)simple_strtoul(argv[2], NULL, 16);
		off = (ulong)simple_strtoul(argv[3], NULL, 16);
		size = (ulong)simple_strtoul(argv[4], NULL, 16);

		read = strncmp(cmd, "read", 4) == 0; /* 1 = read, 0 = write */
		printf("\nMSC read");
		ret = msc_read(off, (u_char *)addr, size);
		printf(" %d bytes %s: %s\n", size, ret ? "ERROR" : "OK");
		return ret == 0 ? 0 : 1;
	}

usage:
	printf("Usage:\n%s\n", cmdtp->usage);
	return 1;
}