aboutsummaryrefslogtreecommitdiffstats
path: root/support
diff options
context:
space:
mode:
Diffstat (limited to 'support')
-rw-r--r--support/ld/maple/jtag.ld4
-rw-r--r--support/make/build-rules.mk7
-rwxr-xr-xsupport/scripts/reset.py7
3 files changed, 14 insertions, 4 deletions
diff --git a/support/ld/maple/jtag.ld b/support/ld/maple/jtag.ld
index 8c5ff49..435e3f0 100644
--- a/support/ld/maple/jtag.ld
+++ b/support/ld/maple/jtag.ld
@@ -8,8 +8,8 @@
/* Define memory spaces. */
MEMORY
{
- ram (rwx) : ORIGIN = 0x20000C00, LENGTH = 17K
- rom (rx) : ORIGIN = 0x08005000, LENGTH = 108K
+ ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
+ rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
}
OUTPUT_FORMAT ("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
diff --git a/support/make/build-rules.mk b/support/make/build-rules.mk
index 3892af9..4dcf00f 100644
--- a/support/make/build-rules.mk
+++ b/support/make/build-rules.mk
@@ -3,7 +3,7 @@ CC := arm-none-eabi-gcc
CXX := arm-none-eabi-g++
LD := arm-none-eabi-ld -v
AR := arm-none-eabi-ar
-AS := arm-none-eabi-as
+AS := arm-none-eabi-gcc
OBJCOPY := arm-none-eabi-objcopy
DISAS := arm-none-eabi-objdump
OBJDUMP := arm-none-eabi-objdump
@@ -14,10 +14,10 @@ OPENOCD := openocd
# Suppress annoying output unless V is set
ifndef V
SILENT_CC = @echo ' [CC] ' $(@:$(BUILD_PATH)/%.o=%.c);
+ SILENT_AS = @echo ' [AS] ' $(@:$(BUILD_PATH)/%.o=%.S);
SILENT_CXX = @echo ' [CXX] ' $(@:$(BUILD_PATH)/%.o=%.cpp);
SILENT_LD = @echo ' [LD] ' $(@F);
SILENT_AR = @echo ' [AR] '
- SILENT_AS = @echo ' [AS] '
SILENT_OBJCOPY = @echo ' [OBJCOPY] ' $(@F);
SILENT_DISAS = @echo ' [DISAS] ' $(@:$(BUILD_PATH)/%.bin=%).disas;
SILENT_OBJDUMP = @echo ' [OBJDUMP] ' $(OBJDUMP);
@@ -28,6 +28,7 @@ TGT_BIN :=
CFLAGS = $(GLOBAL_CFLAGS) $(TGT_CFLAGS)
CXXFLAGS = $(GLOBAL_CXXFLAGS) $(TGT_CXXFLAGS)
+ASFLAGS = $(GLOBAL_ASFLAGS) $(TGT_ASFLAGS)
# General directory independent build rules, generate dependency information
$(BUILD_PATH)/%.o: %.c
@@ -36,3 +37,5 @@ $(BUILD_PATH)/%.o: %.c
$(BUILD_PATH)/%.o: %.cpp
$(SILENT_CXX) $(CXX) $(CFLAGS) $(CXXFLAGS) -MMD -MP -MF $(@:%.o=%.d) -MT $@ -o $@ -c $<
+$(BUILD_PATH)/%.o: %.S
+ $(SILENT_AS) $(AS) $(ASFLAGS) -MMD -MP -MF $(@:%.o=%.d) -MT $@ -o $@ -c $<
diff --git a/support/scripts/reset.py b/support/scripts/reset.py
index 9be5607..ad26d10 100755
--- a/support/scripts/reset.py
+++ b/support/scripts/reset.py
@@ -3,6 +3,7 @@
import serial
import os
import sys
+import time
from struct import pack
def get_maple_device_path(file_prefix):
@@ -68,14 +69,20 @@ try:
# try to toggle DTR/RTS (old scheme)
ser.setRTS(0)
+ time.sleep(0.01)
ser.setDTR(0)
+ time.sleep(0.01)
ser.setDTR(1)
+ time.sleep(0.01)
ser.setDTR(0)
# try magic number
ser.setRTS(1)
+ time.sleep(0.01)
ser.setDTR(1)
+ time.sleep(0.01)
ser.setDTR(0)
+ time.sleep(0.01)
ser.write("1EAF")
# ok we're done here