예제 #1
0
파일: mtd.c 프로젝트: nickarsov/Firmware
int mtd_main(int argc, char *argv[])
{
	if (argc >= 2) {
		if (!strcmp(argv[1], "start")) {

			/* start mapping according to user request */
			if (argc >= 3) {
				mtd_start(argv + 2, argc - 2);
			} else {
				mtd_start(partition_names_default, n_partitions_default);
			}
		}

		if (!strcmp(argv[1], "test"))
			mtd_test();

		if (!strcmp(argv[1], "readtest")) {
			if (argc >= 3) {
				mtd_readtest(argv + 2, argc - 2);
			} else {
				mtd_readtest(partition_names_default, n_partitions_default);
			}
                }

		if (!strcmp(argv[1], "rwtest")) {
			if (argc >= 3) {
				mtd_rwtest(argv + 2, argc - 2);
			} else {
				mtd_rwtest(partition_names_default, n_partitions_default);
			}
                }

		if (!strcmp(argv[1], "status"))
			mtd_status();

		if (!strcmp(argv[1], "erase")) {
			if (argc >= 3) {
				mtd_erase(argv + 2, argc - 2);
			} else {
				mtd_erase(partition_names_default, n_partitions_default);
			}
                }
	}

	errx(1, "expected a command, try 'start', 'erase', 'status', 'readtest', 'rwtest' or 'test'");
}
예제 #2
0
파일: mtd.c 프로젝트: smithandrewc/Firmware
int mtd_main(int argc, char *argv[])
{
	uint8_t test_value = 100;

	if (argc >= 2) {
		if (!strcmp(argv[1], "start")) {

			/* start mapping according to user request */
			if (argc >= 3) {
				mtd_start(argv + 2, argc - 2);
			} else {
				mtd_start(partition_names_default, n_partitions_default);
			}
		}

		if (!strcmp(argv[1], "test"))
			if (argc >= 5) {
				if (argc >= 6) {
					// grab the desired value to write/check
					test_value = atoi(argv[5]);
				}
				if (!strcmp(argv[3], "w")) {
					mtd_test_custom(argv[2], true, atoi(argv[4]), test_value);
				}
				else {
					mtd_test_custom(argv[2], false, atoi(argv[4]), test_value);
				}
			
			}
			else {
				mtd_test();
			}

		if (!strcmp(argv[1], "readtest")) {
			if (argc >= 3) {
				mtd_readtest(argv + 2, argc - 2);
			} else {
				mtd_readtest(partition_names_default, n_partitions_default);
			}
                }

		if (!strcmp(argv[1], "rwtest")) {
			if (argc >= 3) {
				mtd_rwtest(argv + 2, argc - 2);
			} else {
				mtd_rwtest(partition_names_default, n_partitions_default);
			}
                }

		if (!strcmp(argv[1], "status"))
			mtd_status();

		if (!strcmp(argv[1], "erase")) {
			if (argc >= 3) {
				mtd_erase(argv + 2, argc - 2);
			} else {
				mtd_erase(partition_names_default, n_partitions_default);
			}
                }
	}

	errx(1, "expected a command, try 'start', 'erase', 'status', 'readtest', 'rwtest' or 'test'");
}