From 3c633bc3b8b302fe4c19817c39545221a5e3c445 Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak@v3.sk>
Date: Tue, 7 Oct 2014 08:32:11 +0200
Subject: [PATCH 2/3] Improve diagnostics a bit
It could be tricky to determine the file size needed, especially for weirdly
sized devices.
---
main.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/main.c b/main.c
index fbbe899..3229a2c 100644
--- a/main.c
+++ b/main.c
@@ -365,8 +365,18 @@ void action_read(const char *filename, minipro_handle_t *handle, device_t *devic
}
void action_write(const char *filename, minipro_handle_t *handle, device_t *device) {
- if(get_file_size(filename) > device->code_memory_size) {
- ERROR("File is too large");
+ switch(cmdopts.page) {
+ case UNSPECIFIED:
+ case CODE:
+ if(get_file_size(filename) != device->code_memory_size) {
+ ERROR2("Incorrect file size: %d (needed %d)\n", get_file_size(filename), device->code_memory_size);
+ }
+ break;
+ case DATA:
+ if(get_file_size(filename) != device->data_memory_size) {
+ ERROR2("Incorrect file size: %d (needed %d)\n", get_file_size(filename), device->data_memory_size);
+ }
+ break;
}
minipro_begin_transaction(handle);
if (cmdopts.erase==0)
--
2.1.0