]> cloudbase.mooo.com Git - z180-stamp.git/commitdiff
Revert "Refactro Tupfiles"
authorLeo C <erbl259-lmu@yahoo.de>
Fri, 11 Jul 2014 15:16:28 +0000 (17:16 +0200)
committerLeo C <erbl259-lmu@yahoo.de>
Fri, 11 Jul 2014 15:16:28 +0000 (17:16 +0200)
This reverts commit cda2107f6e52a3e131502a6ec318ac3f216ac186.

Tuprules.tup
avr/Tupfile
avr/z180-stamp-avr.c
avr/z80-if.c
avr/z80-if.h
stm32/Tupfile
stm32/z180-stamp-stm32.c
z180/Tupfile

index a2a7678e4e02741f4f70de4ac0ba8e0f08bee71d..185c6bf342ac515ce408fcf14f8533fb1dcce33b 100644 (file)
@@ -1,4 +1,3 @@
 .gitignore
 TOP = $(TUP_CWD)
-CONFIG = $(TOP)/configs
 
index 72f7e71b1e282ece5e05ad627f04fea8c25da355..b43a822e6469bd3697b2a326556f47f2e4958953 100644 (file)
@@ -1,13 +1,8 @@
 include_rules
 
 PROG           = z180-stamp-avr
-
 SRC            = z180-stamp-avr.c serial.c z80-if.c
-
 SRC_Z          = ../z180/hdrom.c
-PREDEP         = ../z180/hdrom.h
-
-#SRC           += $(SRC_Z)
 #TARGETS       = $(PROG).elf
 
 MCU_TARGET     = atmega1281
@@ -21,23 +16,47 @@ INCLUDES += ../z180
 TOOLCHAINDIR   = 
 TOOLCHAIN      = avr
 
+CC     = $(TOOLCHAIN)-gcc
+LD     = $(TOOLCHAIN)-gcc
+AR     = $(TOOLCHAIN)-ar
+AS     = $(TOOLCHAIN)-as
+OBJCOPY        = $(TOOLCHAIN)-objcopy
+OBJDUMP        = $(TOOLCHAIN)-objdump
+SIZE   = $(TOOLCHAIN)-size
+GDB    = $(TOOLCHAIN)-gdb
+
 ###############################################################################
 
 ifdef DEBUG
 DEFS   += -DDEBUG=2
 endif
 
+CFLAGS = -g -Os
 CFLAGS += -mmcu=$(MCU_TARGET)
-
+CFLAGS += -std=gnu99
+CFLAGS += -Wall -Wextra -Wimplicit-function-declaration
+CFLAGS += -Wredundant-decls 
+#CFLAGS        += -fno-common -ffunction-sections -fdata-sections
 #CFLAGS        += -I $(INCLUDES)
 
 CPPFLAGS += $(DEFS)
 
-CPPFLAGS_Z += -D'const=const __flash'
-
 # Linker flags
 LDFLAGS        += -Wl,--gc-sections
 LDFLAGS        += -Wl,--cref
 
 
-include $(CONFIG)/gcc.tup
+!cc = |> ^ CC %f^ $(CC) $(CFLAGS) $(CPPFLAGS) -c %f -o %o |> %B.o
+!LINK = |> ^ LINK %o^ $(LD) $(CFLAGS) $(LDFLAGS) -Wl,-Map=%O.map %f $(LDLIBS) -o %o |> | %O.map
+!OBJCOPY= |> ^ OBJCOPY %o^ $(OBJCOPY) -Oihex %f %o |>
+!OBJDUMP= |> ^ OBJDUMP %o^ $(OBJDUMP) -h -S %f > %o |> %O.lss
+!SIZE = |> ^ SIZE^ $(SIZE) %f |> 
+
+: foreach $(SRC) | ../z180/hdrom.h |> !cc |>  {objs}
+: $(SRC_Z) |> !cc -D'const=const __flash' |> {objs}
+
+: {objs} |> !LINK |> $(PROG).elf
+: $(PROG).elf |> !OBJCOPY |> %B.hex
+: $(PROG).elf |> !OBJDUMP |> %B.lss
+: $(PROG).elf |> !SIZE |>
+
index 68710277716714d97d2e3bd5be73d004abb47e36..4ea4d472f7ccf3f038f16be628883e9287925e18 100644 (file)
 #undef const
 
 #define FLASH __flash
+//#define FLASH 
 
 #define ESCCHAR                ('^'-0x40)
 
 #define S_10MS_TO      (1<<0)
 
 
-static volatile int_fast8_t timeout_1s;
-static volatile uint_least8_t Stat;
+volatile int_fast8_t timeout_1s;
+volatile uint_least8_t Stat;
 
 
+/****************************************************************/
+
+#define P_ADL          PORTA
+#define P_ADH          PORTC
+#define P_ADB          PORTE
+#define PIN_ADB                PINE
+
+#define ADB_WIDTH      3
+#define ADB_SHIFT      2
+//#define ADB_PORT     GPIOE
+
+#define MASK(n)        ((1<<(n))-1)
+#define SMASK(w,s) (MASK(w) << (s))
+
+typedef union {
+       uint32_t l;
+       uint16_t w[2];
+       uint8_t b[4];
+} addr_t;
+
+
+void z80_setaddress(uint32_t addr)
+{
+       addr_t x;
+
+       x.l = addr;
+       P_ADL = x.b[0];
+       P_ADH = x.b[1];
+       PIN_ADB = ((x.b[2] << ADB_SHIFT) ^ P_ADB) & MASK(ADB_WIDTH) << ADB_SHIFT ;
+
+}
+
+/****************************************************************/
+
 /*--------------------------------------------------------------------------*/
 
 
@@ -46,7 +82,10 @@ void sys_tick_handler(void)
        if (tick_10ms == 10)
        {
                Stat |= S_10MS_TO;
+
                tick_10ms = 0;
+               
+               
                /* Drive timer procedure of low level disk I/O module */
                //disk_timerproc();
        }
@@ -62,10 +101,6 @@ void sys_tick_handler(void)
 }
 
 
-static void do_10ms(void) 
-{
-}
-
 /*--------------------------------------------------------------------------*/
 
 static uint32_t z80_sram_cmp(uint32_t addr, uint32_t length, uint8_t wval, int inc)
@@ -73,7 +108,7 @@ static uint32_t z80_sram_cmp(uint32_t addr, uint32_t length, uint8_t wval, int i
        uint8_t rval;
        int_fast8_t errors = 0;
        
-       DBG_P(1, "SRAM: Check 0x%.5lX byte... ", length);
+       DBG_P(1, "SRAM: Check %#.5x byte... ", length);
        while (length--) {
                if ((rval = z80_read(addr)) != wval) {
                        if (errors == 0) { 
@@ -141,8 +176,6 @@ const char * const qbcat = "Zhe quick brown fox jumps over the lazy cat!";
 
 #endif
 
-/*--------------------------------------------------------------------------*/
-
 uint8_t z80_get_byte(uint32_t adr)
 {
        uint8_t data;
@@ -154,6 +187,13 @@ uint8_t z80_get_byte(uint32_t adr)
        return data;
 }
 
+
+/*--------------------------------------------------------------------------*/
+
+static void do_10ms(void) 
+{
+}
+
 /*--------------------------------------------------------------------------*/
 
 struct msg_item {
@@ -162,7 +202,6 @@ struct msg_item {
        void (*func)(uint8_t, int, uint8_t *);
 };
 
-static
 uint32_t msg_to_addr(uint8_t *msg)
 {
        union {
@@ -178,7 +217,6 @@ uint32_t msg_to_addr(uint8_t *msg)
        return addr.as32;
 }
 
-static
 void do_msg_ini_msgfifo(uint8_t subf, int len, uint8_t * msg)
 {
        (void)subf; (void)len;
@@ -187,7 +225,6 @@ void do_msg_ini_msgfifo(uint8_t subf, int len, uint8_t * msg)
 }
 
 
-static
 void do_msg_ini_memfifo(uint8_t subf, int len, uint8_t * msg)
 {
        (void)len;
@@ -196,7 +233,6 @@ void do_msg_ini_memfifo(uint8_t subf, int len, uint8_t * msg)
 }
 
 
-static
 void do_msg_char_out(uint8_t subf, int len, uint8_t * msg)
 {
        (void)subf;
@@ -206,7 +242,6 @@ void do_msg_char_out(uint8_t subf, int len, uint8_t * msg)
 }
 
 
-static
 const FLASH struct msg_item z80_messages[] =
 {
        { 0,                    /* fct nr. */
@@ -225,7 +260,8 @@ const FLASH struct msg_item z80_messages[] =
 };
 
 
-static
+
+
 void do_message(int len, uint8_t *msg)
 {
        uint8_t fct, sub_fct;
@@ -267,10 +303,9 @@ void do_message(int len, uint8_t *msg)
 }
 
 
-//TODO:
+
 #define CTRBUF_LEN 256
 
-static
 void check_msg_fifo(void)
 {
        int ch;
@@ -309,7 +344,6 @@ void check_msg_fifo(void)
 }
 
 
-static
 void z80_load_mem(void)
 {
        unsigned sec = 0;
@@ -330,7 +364,6 @@ void z80_load_mem(void)
                sec++;
        }
 }
-
 /*--------------------------------------------------------------------------*/
 
 int main(void)
@@ -340,6 +373,7 @@ int main(void)
 
 //     setvbuf(stdout, NULL, _IONBF, 0);
        serial_setup();
+//     printf("\n(STM32F100+HD64180)_stamp Tester\n");
        printf("\n(ATMEGA1281+HD64180)_stamp Tester\n");
 
        DBG_P(1, "z80_setup_bus... ");
@@ -347,6 +381,7 @@ int main(void)
        z80_setup_bus();
        DBG_P(1, "done.\n");
 
+
        DBG_P(1, "Get bus... ");
        z80_busreq(LOW);
        z80_reset(HIGH);
index 889849bd94059fb2eb1ff2fde52f82f83febae4c..955a61a034c02ca1c87242a9f0d53bd1f9777ddb 100644 (file)
@@ -200,6 +200,13 @@ int z80_stat_halt(void)
 
 
 
+typedef union {
+       uint32_t l;
+       uint16_t w[2];
+       uint8_t b[4];
+} addr_t;
+
 /*--------------------------------------------------------------------------*/
 
 
index 1e7d675139b7aca8b4e49a52520026cd04d8e034..1068225b66a7b747e452b67a0ca3959c58ed2c8d 100644 (file)
@@ -1,13 +1,6 @@
 
 typedef enum {LOW, HIGH} level_t;
 
-typedef union {
-       uint32_t l;
-       uint16_t w[2];
-       uint8_t b[4];
-} addr_t;
-
 void z80_setup_bus(void);
 void z80_write(uint32_t addr, uint8_t data);
 uint8_t z80_read(uint32_t addr);
index 8512bfe8e2800c5758d98cfb881e72371f70aaf9..1778623f37cfd4f29bb44a0181e6079ff4d977f2 100644 (file)
@@ -1,13 +1,8 @@
 include_rules
 
 PROG           = z180-stamp-stm32
-
 SRC            = z180-stamp-stm32.c serial.c z80-if.c
-
 SRC_Z          = ../z180/hdrom.c
-PREDEP         = ../z180/hdrom.h
-
-#SRC           += $(SRC_Z)
 #TARGETS       = $(PROG).elf
 
 FP_FLAGS       = -msoft-float
@@ -18,31 +13,62 @@ OPENCM3_DIR = $(TOP)/libopencm3
 LDSCRIPT       = stm32vl-discovery.ld
 
 ###############################################################################
+# Executables
 
 TOOLCHAINDIR   = /usr/local/gcc-arm-none-eabi-4_8-2014q2/bin
 TOOLCHAIN      = $(TOOLCHAINDIR)/arm-none-eabi
 
+CC     = $(TOOLCHAIN)-gcc
+LD     = $(TOOLCHAIN)-gcc
+AR     = $(TOOLCHAIN)-ar
+AS     = $(TOOLCHAIN)-as
+OBJCOPY        = $(TOOLCHAIN)-objcopy
+OBJDUMP        = $(TOOLCHAIN)-objdump
+SIZE   = $(TOOLCHAIN)-size
+GDB    = $(TOOLCHAIN)-gdb
+
 ###############################################################################
 
 INCLUDES += $(OPENCM3_DIR)/include 
 LIBDIRS  += $(OPENCM3_DIR)/lib
 
+SCRIPT_DIR = $(OPENCM3_DIR)/scripts
+
 
 ifdef DEBUG
 DEFS   += -DDEBUG=2
 endif
 
+CFLAGS += -g -Os
 CFLAGS += -mthumb -mcpu=cortex-m3 $(FP_FLAGS) -mfix-cortex-m3-ldrd
-
+CFLAGS += -std=gnu99
+CFLAGS += -Wall -Wextra -Wimplicit-function-declaration
+CFLAGS += -Wredundant-decls 
+#CFLAGS        += -fno-common -ffunction-sections -fdata-sections
 CFLAGS += -I $(INCLUDES)
 
 CPPFLAGS += $(DEFS)
 
 # Linker flags
 LDFLAGS        += --static -nostartfiles
+LDFLAGS        += -T$(LDSCRIPT)
+LDFLAGS        += -Wl,--gc-sections
+LDFLAGS        += -Wl,--cref
+
+LDLIBS         += -L$(LIBDIRS) -l$(LIBNAME)
+LDLIBS         += -Wl,--start-group -lc -lgcc -lnosys -Wl,--end-group
+
+
+!cc = |> ^ CC %f^ $(CC) $(CFLAGS) $(CPPFLAGS) -c %f -o %o |> %B.o
+!LINK = |> ^ LINK %o^ $(LD) $(CFLAGS) $(LDFLAGS) -Wl,-Map=%O.map %f $(LDLIBS) -o %o |> | %O.map
+!OBJCOPY= |> ^ OBJCOPY %o^ $(OBJCOPY) -Oihex %f %o |>
+!OBJDUMP= |> ^ OBJDUMP %o^ $(OBJDUMP) -h -S %f > %o |> %O.lss
+!SIZE = |> ^ SIZE^ $(SIZE) %f |> 
 
-LDLIBS += -L$(LIBDIRS) -l$(LIBNAME)
-LDLIBS += -Wl,--start-group -lc -lgcc -lnosys -Wl,--end-group
+: foreach $(SRC) $(SRC_Z) | ../z180/hdrom.h |> !cc |>  {objs}
 
+: {objs} |> !LINK |> $(PROG).elf
+: $(PROG).elf |> !OBJCOPY |> %B.hex
+: $(PROG).elf |> !OBJDUMP |> %B.lss
+: $(PROG).elf |> !SIZE |>
 
-include $(CONFIG)/gcc.tup
index 96d724c9c707d9f8625865733373e9269350376c..15d732d26733f75fbdc6875cb2c62f2e43eff700 100644 (file)
@@ -1,6 +1,7 @@
 /*
  */
 
+#include <stdio.h>
 
 #include <libopencmsis/core_cm3.h>
 #include <libopencm3/cm3/nvic.h>
@@ -10,8 +11,6 @@
 #include <libopencm3/stm32/gpio.h>
 #include <libopencm3/stm32/timer.h>
 
-#include <stdio.h>
-
 #define ODR    0x0c
 #define IDR    0x08
 
@@ -395,7 +394,7 @@ static uint32_t z80_sram_cmp(uint32_t addr, uint32_t length, uint8_t wval, int i
        uint8_t rval;
        int_fast8_t errors = 0;
        
-       DBG_P(1, "SRAM: Check 0x%.5lX byte... ", length);
+       DBG_P(1, "SRAM: Check %#.5x byte... ", length);
        while (length--) {
                if ((rval = z80_read(addr)) != wval) {
                        if (errors == 0) { 
@@ -463,8 +462,6 @@ const char * const qbcat = "Zhe quick brown fox jumps over the lazy cat!";
 
 #endif
 
-/*--------------------------------------------------------------------------*/
-
 uint8_t z80_get_byte(uint32_t adr)
 {
        uint8_t data;
@@ -511,7 +508,6 @@ struct msg_item {
        void (*func)(uint8_t, int, uint8_t *);
 };
 
-static
 uint32_t msg_to_addr(uint8_t *msg)
 {
        uint32_t addr = msg[0] | (msg[1] << 8) | ((uint32_t)msg[2] << 16);
@@ -520,7 +516,6 @@ uint32_t msg_to_addr(uint8_t *msg)
 
 }
 
-static
 void do_msg_ini_msgfifo(uint8_t subf, int len, uint8_t * msg)
 {
        (void)subf; (void)len;
@@ -529,7 +524,6 @@ void do_msg_ini_msgfifo(uint8_t subf, int len, uint8_t * msg)
 }
 
 
-static
 void do_msg_ini_memfifo(uint8_t subf, int len, uint8_t * msg)
 {
        (void)len;
@@ -538,7 +532,6 @@ void do_msg_ini_memfifo(uint8_t subf, int len, uint8_t * msg)
 }
 
 
-static
 void do_msg_char_out(uint8_t subf, int len, uint8_t * msg)
 {
        (void)subf;
@@ -548,7 +541,6 @@ void do_msg_char_out(uint8_t subf, int len, uint8_t * msg)
 }
 
 
-static
 const struct msg_item z80_messages[] =
 {
        { 0,                    /* fct nr. */
@@ -569,7 +561,6 @@ const struct msg_item z80_messages[] =
 
 
 
-static
 void do_message(int len, uint8_t *msg)
 {
        uint8_t fct, sub_fct;
@@ -614,7 +605,6 @@ void do_message(int len, uint8_t *msg)
 
 #define CTRBUF_LEN 256
 
-static
 void check_msg_fifo(void)
 {
        int ch;
index 962b23b1d8c076c7bd2f7cab2872db8a18af1168..b79d098bfd2ea1d40ebcc862dc287f74548ce80e 100644 (file)
@@ -4,7 +4,6 @@ PROG    = hdrom
 
 SRC    = r3init.180 
 SRC    += ddtz.180
-#SRC   += ddtz-g.180
 SRC    += fifoio.180 msgbuf.180 ser1-i.180 console.180
 SRC    += romend.180
 
@@ -18,42 +17,37 @@ LN_DATA = C000
 DEFS   = -DSTM32F1 -DBAUD=115200
 
 ###############################################################################
+# Executables
 
 CPMEMU = zxcc
 
-
 #AS = $(CPMEMU) ccpline.com
-
-AS_PREFIX = -
 AS = $(CPMEMU) slr180.com
 
-#AS_PREFIX = 
-#AS = aliados /usr/local/lib/cpm/bin80/slr180.com
 
 ###############################################################################
 
-!AS-plain = |> $(AS) $(AS_PREFIX)%B/$(AS_OPT) |> %B.rel | %B.lst
+!AS-plain = |> $(AS) -%B/$(AS_OPT) |> %B.rel | %B.lst 
 
-
-!AS = |> ^ $(AS) $(AS_PREFIX)%B/$(AS_OPT)^ set +e; OUTPUT=\$(mktemp);\
-$(AS) $(AS_PREFIX)%B/$(AS_OPT) > ${OUTPUT};\
+!AS = |> ^ $(AS) -%B/$(AS_OPT)^ set +e; OUTPUT=\$(mktemp);\
+$(AS) -%B/$(AS_OPT) > ${OUTPUT};\
 grep -q '^ 0 Error(s) Detected' ${OUTPUT}; ERROR=$?;\
 [ "${ERROR}" != "0" ] && cat ${OUTPUT};\
 [ "${ERROR}" != "0" ] && rm -f %B.rel;\
 rm -f ${OUTPUT}; exit ${ERROR} \
 |> %B.rel | %B.lst 
 
-!LINK = |> ^o LINK %o^ ld80 -o %o -ms %O.map -P $(LN_PROG) -D $(LN_DATA) %f |> | %O.map
+!LINK = |> ld80 -o %o -ms %O.map -P $(LN_PROG) -D $(LN_DATA) %f |> | %O.map
 
 #ifndef DEBUG
 
-
-#: foreach $(SRC) |> cp  %f \$(echo %f | tr a-z A-Z) |> %B {uc_src}
-
 : foreach $(SRC) |> !AS |> {objs}
 : {objs} |> !LINK |> $(PROG).hex
 : $(PROG).hex |> srec_cat -o %o -c_array %B -C_COMpressed -include %f -Intel |> $(PROG).c | $(PROG).h
 
 
+#COMMAND="$(AS) -%B/$(AS_OPT)"; \
+
+
 #endif