summaryrefslogtreecommitdiff
path: root/altoslib/AltosFlash.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2018-01-12 22:27:41 -0800
committerKeith Packard <keithp@keithp.com>2018-01-12 22:27:41 -0800
commitb95db5819885da89504d5e11decfda98cfac37aa (patch)
treee91f35701795e0b3f68c3c532db620c4bd1accf0 /altoslib/AltosFlash.java
parentf26cc1a677f577da533425a15485fcaa24626b23 (diff)
altoslib/altosuilib: Validate rom image is for target device
This should avoid mis-programming devices with incorrect firmware. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosFlash.java')
-rw-r--r--altoslib/AltosFlash.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/altoslib/AltosFlash.java b/altoslib/AltosFlash.java
index c8db1f77..9bf0da25 100644
--- a/altoslib/AltosFlash.java
+++ b/altoslib/AltosFlash.java
@@ -254,7 +254,7 @@ public class AltosFlash extends AltosProgrammer {
clock_init();
int remain = image.data.length;
- int flash_addr = image.address;
+ int flash_addr = (int) image.address;
int image_start = 0;
action("start", 0);
@@ -295,7 +295,7 @@ public class AltosFlash extends AltosProgrammer {
if (!aborted) {
action("done", 100);
if (debug != null) {
- debug.set_pc(image.address);
+ debug.set_pc((int) image.address);
debug.resume();
}
}
@@ -331,12 +331,16 @@ public class AltosFlash extends AltosProgrammer {
rom_config = romconfig;
}
- public AltosRomconfig romconfig() throws InterruptedException {
+ public AltosRomconfig target_romconfig() throws InterruptedException {
if (!check_rom_config())
return null;
return rom_config;
}
+ public AltosRomconfig image_romconfig() {
+ return new AltosRomconfig(image);
+ }
+
public AltosFlash(File file, AltosLink link, AltosFlashListener listener)
throws IOException, FileNotFoundException, InterruptedException {
this.file = file;