2010-06-26 12:35:50 +00:00
|
|
|
|
2010-06-06 22:43:38 +00:00
|
|
|
NAME=irena
|
2011-04-08 20:47:32 +00:00
|
|
|
|
|
|
|
|
SerialNo-test = 0
|
|
|
|
|
ProductId-test = 0x01
|
|
|
|
|
SerialNo-esther = 1
|
|
|
|
|
ProductId-esther = 0x01
|
|
|
|
|
SerialNo-thomas = 2
|
|
|
|
|
ProductId-thomas = 0x01
|
2013-01-28 13:12:59 +00:00
|
|
|
SerialNo-FRED2 = 3
|
|
|
|
|
ProductId-FRED2 = 0x01
|
2018-05-11 09:16:31 +00:00
|
|
|
#SerialNo-HETI = 3
|
|
|
|
|
#ProductId-HETI = 0x01
|
|
|
|
|
#SerialNo-EPTI = 4
|
|
|
|
|
#ProductId-EPTI = 0x01
|
|
|
|
|
SerialNo-ALKE = 5
|
|
|
|
|
ProductId-ALKE = 0x01
|
|
|
|
|
SerialNo-IRENA = 6
|
|
|
|
|
ProductId-IRENA = 0x01
|
|
|
|
|
SerialNo-EVA = 7
|
|
|
|
|
ProductId-EVA = 0x01
|
2019-01-30 15:23:12 +00:00
|
|
|
SerialNo-MD3 = 10
|
|
|
|
|
ProductId-MD3 = 0x01
|
2019-02-26 09:08:50 +00:00
|
|
|
SerialNo-TANOS = 11
|
|
|
|
|
ProductId-TANOS = 0x01
|
2024-05-22 13:07:57 +00:00
|
|
|
SerialNo-CHAOS = 13
|
|
|
|
|
ProductId-CHAOS = 0x01
|
2018-05-11 09:16:31 +00:00
|
|
|
|
2022-02-04 15:33:05 +00:00
|
|
|
SerialNo-PIRENA = 4
|
|
|
|
|
ProductId-PIRENA = 0x03
|
2011-04-08 20:47:32 +00:00
|
|
|
SerialNo-sirena = 1
|
|
|
|
|
ProductId-sirena = 0x04
|
2016-10-01 10:47:45 +00:00
|
|
|
SerialNo-CE4 = 2
|
|
|
|
|
ProductId-CE4 = 0x04
|
2013-06-18 14:59:01 +00:00
|
|
|
SerialNo-icucore = 2
|
|
|
|
|
ProductId-icucore = 0x04
|
2021-04-15 07:29:25 +00:00
|
|
|
SerialNo-VARENA = x
|
2011-08-19 10:57:14 +00:00
|
|
|
ProductId-VARENA = 0x02
|
2012-02-11 19:38:27 +00:00
|
|
|
SerialNo-SARENA = 2
|
|
|
|
|
ProductId-SARENA = 0x02
|
2014-09-08 16:59:19 +00:00
|
|
|
SerialNo-TARENA = $(SerialNo-SARENA)
|
|
|
|
|
ProductId-TARENA = 0x02
|
2021-04-15 07:29:25 +00:00
|
|
|
SerialNo-IARENA = 1
|
2011-11-04 14:32:44 +00:00
|
|
|
ProductId-IARENA = 0x02
|
2022-05-05 13:43:54 +00:00
|
|
|
SerialNo-HARENA = 3
|
|
|
|
|
ProductId-HARENA = 0x02
|
2012-03-15 16:45:43 +00:00
|
|
|
SerialNo-AARENA = 4
|
|
|
|
|
ProductId-AARENA = 0x02
|
2016-11-30 20:45:22 +00:00
|
|
|
SerialNo-CE4ARENA = 4
|
|
|
|
|
ProductId-CE4ARENA = 0x02
|
2012-08-03 14:45:48 +00:00
|
|
|
ProductId-FLYRENA = 0x05
|
2012-08-02 11:10:47 +00:00
|
|
|
SerialNo-FLYRENA = 1
|
2012-01-28 10:45:06 +00:00
|
|
|
SerialNo-CCD = 1
|
|
|
|
|
ProductId-CCD = 0x0c
|
2012-08-17 20:44:42 +00:00
|
|
|
ProductId-ERENA = 0x06
|
|
|
|
|
SerialNo-ERENA = 1
|
2014-04-09 19:57:55 +00:00
|
|
|
ProductId-Flo = 0x04
|
|
|
|
|
SerialNo-Flo = 7
|
2011-04-08 20:47:32 +00:00
|
|
|
|
2015-11-06 16:16:35 +00:00
|
|
|
ProductId-GPS = 0x08
|
|
|
|
|
SerialNo-GPS = 1
|
2016-01-05 16:37:22 +00:00
|
|
|
ProductId-FLOW = 0x08
|
|
|
|
|
SerialNo-FLOW = 2
|
2017-02-15 23:52:35 +00:00
|
|
|
ProductId-SpW = 0x09
|
|
|
|
|
SerialNo-SpW = 1
|
2015-11-06 16:16:35 +00:00
|
|
|
|
2017-08-23 18:41:28 +00:00
|
|
|
ProductId-NMRENA = 0x0a
|
|
|
|
|
SerialNo-NMRENA = 1
|
2022-02-04 15:33:05 +00:00
|
|
|
ProductId-NMRENAv2 = 0x0b
|
|
|
|
|
SerialNo-NMRENAv2 = 8
|
2022-10-07 11:54:24 +00:00
|
|
|
ProductId-MCS = 0x0b
|
|
|
|
|
SerialNo-MCS = 9
|
2023-10-20 12:28:36 +00:00
|
|
|
ProductId-NMRENA10 = 0x0c
|
|
|
|
|
SerialNo-NMRENA10 = 13
|
2025-02-24 15:20:42 +00:00
|
|
|
ProductId-NMAHEPAM = 0x0c
|
|
|
|
|
SerialNo-NMAHEPAM = 14
|
|
|
|
|
ProductId-SETH = 0x0c
|
|
|
|
|
SerialNo-SETH = 15
|
2026-02-05 10:31:38 +01:00
|
|
|
ProductId-LEIA = 0x0c
|
|
|
|
|
SerialNo-LEIA = 16
|
2017-08-23 18:41:28 +00:00
|
|
|
|
2018-02-11 14:27:10 +00:00
|
|
|
#sirena:
|
|
|
|
|
ProductId-Torsten = 0x04
|
|
|
|
|
SerialNo-Torsten = 6
|
|
|
|
|
|
2011-04-15 14:24:44 +00:00
|
|
|
ifneq ($(SerialNo-$(BOX)),)
|
2011-04-08 20:47:32 +00:00
|
|
|
SerialNo = $(SerialNo-$(BOX))
|
|
|
|
|
ProductId = $(ProductId-$(BOX))
|
2010-08-25 13:48:16 +00:00
|
|
|
REVISION:= $(shell env SerialNo=$(SerialNo) ProductId=$(ProductId) ./update_revision.sh)
|
2011-04-15 14:24:44 +00:00
|
|
|
endif
|
2019-03-22 13:37:27 +00:00
|
|
|
prod_rev := $(shell awk <revision.h ' \
|
|
|
|
|
/SerialNumber/{S=$$3};\
|
|
|
|
|
/ProductId/{P=$$3};\
|
|
|
|
|
/Revision/{R=$$3};\
|
|
|
|
|
END{print P "_" S "_" R}\
|
|
|
|
|
')
|
2010-06-06 22:43:38 +00:00
|
|
|
|
2010-10-27 08:36:49 +00:00
|
|
|
ARCH=arm-none-eabi
|
2011-04-20 19:17:03 +00:00
|
|
|
GCC=4.3.5
|
2010-06-06 22:43:38 +00:00
|
|
|
gnuarm=/usr/local/gnuarm
|
2018-04-26 22:04:40 +00:00
|
|
|
gnuarmgcc=$(gnuarm)
|
|
|
|
|
|
|
|
|
|
ifdef DEBIAN
|
|
|
|
|
GCC:=$(shell ls /usr/bin/arm-none-eabi-gcc-*.*.*|sed s,/usr/bin/arm-none-eabi-gcc-,,)
|
|
|
|
|
gnuarmgcc=/usr
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
export PATH:=$(gnuarmgcc)/bin:$(PATH)
|
2010-06-06 22:43:38 +00:00
|
|
|
|
2011-04-15 14:24:44 +00:00
|
|
|
CPUA= -mlittle-endian -mcpu=arm7tdmi
|
2018-04-26 22:04:40 +00:00
|
|
|
CPUC= $(CPUA) -msoft-float -mno-thumb-interwork -mpoke-function-name
|
2010-06-26 12:35:50 +00:00
|
|
|
DEBUGFORMAT=-g -gdwarf-2
|
|
|
|
|
|
2018-10-09 12:52:18 +00:00
|
|
|
WARN = -Wall -Wextra -Wno-char-subscripts -Wno-unused -Wno-pointer-sign -Wno-parentheses $(WWARN)
|
2010-08-30 20:31:26 +00:00
|
|
|
BUILTIN = --no-builtin-snprintf
|
2010-07-17 20:48:12 +00:00
|
|
|
|
2016-04-07 10:59:27 +00:00
|
|
|
CC=$(ARCH)-gcc-$(GCC) -std=gnu99 -O3 $(CPUC) $(WARN) $(BUILTIN)
|
2010-08-25 13:48:16 +00:00
|
|
|
CFLAGS=-I./include $(DEFINES)
|
2010-04-05 22:21:15 +00:00
|
|
|
|
2011-04-15 14:24:44 +00:00
|
|
|
AS=$(ARCH)-as $(DEBUGFORMAT) $(CPUA)
|
2010-05-28 13:02:45 +00:00
|
|
|
|
2010-06-26 12:35:50 +00:00
|
|
|
LD=$(ARCH)-ld -EL
|
2018-04-26 22:04:40 +00:00
|
|
|
LOADLIBES=-L$(gnuarm)/$(ARCH)/lib -lc -L$(gnuarmgcc)/lib/gcc/$(ARCH)/$(GCC) -lgcc
|
2010-06-06 22:43:38 +00:00
|
|
|
OBJCOPY=$(ARCH)-objcopy
|
|
|
|
|
|
|
|
|
|
default: $(NAME).hex $(NAME).bin
|
|
|
|
|
|
|
|
|
|
OBJS = crt.o $(patsubst %,%.o,$(sources))
|
|
|
|
|
|
|
|
|
|
objs: $(OBJS)
|
2010-05-28 13:02:45 +00:00
|
|
|
|
2010-04-05 22:21:15 +00:00
|
|
|
%.s: %.c
|
2010-06-26 12:35:50 +00:00
|
|
|
$(CC) -S $(CFLAGS) $<
|
2010-04-16 13:37:01 +00:00
|
|
|
|
2010-06-26 12:35:50 +00:00
|
|
|
%.o: %.c
|
|
|
|
|
$(CC) -MMD $(DEBUGFORMAT) -c $(CFLAGS) $<
|
2010-04-16 13:37:01 +00:00
|
|
|
|
|
|
|
|
-include *.d
|
2010-05-28 13:54:30 +00:00
|
|
|
|
2010-06-26 12:35:50 +00:00
|
|
|
clean:
|
|
|
|
|
rm -vf *.o *.a *.d *.map
|
|
|
|
|
|
|
|
|
|
|
2010-06-03 05:09:39 +00:00
|
|
|
dosfs_test: dosfs.c file.c dosfs_test.c
|
|
|
|
|
gcc -g -o $@ -I./include -DDOSFS_TEST $^
|
2010-06-06 22:43:38 +00:00
|
|
|
|
|
|
|
|
|
2018-12-09 23:18:59 +00:00
|
|
|
sources = irena mainloop parser message isr crc \
|
2012-02-21 15:33:24 +00:00
|
|
|
script file dosfs flash microsd spi ssp altera altera2 \
|
2018-11-16 15:59:06 +00:00
|
|
|
direna sirena virena flyrena erena nm64 spw led \
|
2010-07-04 11:39:17 +00:00
|
|
|
usb controlpipe usbconfig dma stream \
|
2010-08-30 20:31:26 +00:00
|
|
|
enc28j60 net udp \
|
2014-04-08 22:13:58 +00:00
|
|
|
expression variables display \
|
2010-07-18 22:54:29 +00:00
|
|
|
adc rtc hk \
|
2025-02-23 21:03:51 +00:00
|
|
|
plugin pressure gps chaos dorn i2c \
|
2023-11-15 19:13:00 +00:00
|
|
|
nomalloc strtol uart base85
|
2010-06-06 22:43:38 +00:00
|
|
|
|
2019-04-15 09:49:59 +00:00
|
|
|
$(NAME).rom: lpc2148-rom.ld $(OBJS)
|
|
|
|
|
$(LD) -T$< -Map=$@.map --cref -o $@ $(OBJS) $(LOADLIBES)
|
2019-03-22 13:37:27 +00:00
|
|
|
cp $@.map $@_${prod_rev}.map
|
2010-06-06 22:43:38 +00:00
|
|
|
|
2010-06-26 12:35:50 +00:00
|
|
|
%.hex: %.rom
|
2010-06-06 22:43:38 +00:00
|
|
|
$(OBJCOPY) -O ihex $< $@
|
|
|
|
|
|
2010-06-26 12:35:50 +00:00
|
|
|
%.bin: %.rom
|
2010-06-06 22:43:38 +00:00
|
|
|
$(OBJCOPY) -O binary $< $@
|
2010-06-26 12:35:50 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
PLUGIN=plugin
|
|
|
|
|
|
|
|
|
|
%.ram: $(NAME).rom %.o
|
2010-07-04 11:39:17 +00:00
|
|
|
$(LD) -Tlpc2148-plugin.ld -Map=$@.map --cref -o $@ -R $^ $(LOADLIBES)
|
2010-06-26 12:35:50 +00:00
|
|
|
|
|
|
|
|
%.hex: %.ram
|
|
|
|
|
$(OBJCOPY) -O ihex $< $@
|
|
|
|
|
|
|
|
|
|
%.bin: %.ram
|
|
|
|
|
$(OBJCOPY) -O binary $< $@
|
|
|
|
|
|
|
|
|
|
LPC21ISP=lpc21isp
|
|
|
|
|
TTY=/dev/ttyUSB1
|
2011-05-04 18:37:47 +00:00
|
|
|
BURNOPTS = -term
|
2010-06-26 12:35:50 +00:00
|
|
|
burn: $(NAME).hex $(NAME).rom
|
2011-05-04 18:37:47 +00:00
|
|
|
$(LPC21ISP) -control $(BURNOPTS) $< $(TTY) 38400 12000
|
2010-06-26 12:35:50 +00:00
|
|
|
|
2010-07-29 13:21:15 +00:00
|
|
|
FLASH=flash
|
2010-07-11 00:02:33 +00:00
|
|
|
|
2010-07-29 13:21:15 +00:00
|
|
|
flashfiles:= $(shell find $(FLASH)/ -type f)
|
|
|
|
|
|
2011-07-07 08:28:19 +00:00
|
|
|
FATNAME_flash=IRENA
|
2021-11-29 21:26:15 +00:00
|
|
|
FATNAME_flash_IRENA=IRENA48
|
2019-02-11 17:22:48 +00:00
|
|
|
FATNAME_flash_irena=IRENA
|
2019-04-16 20:52:16 +00:00
|
|
|
FATNAME_flash_MD3=MD3IRENA
|
2011-11-30 19:49:49 +00:00
|
|
|
FATNAME_flash_sirena=SIRENA
|
2018-11-28 22:56:15 +00:00
|
|
|
FATNAME_flash_sirena_ce4=SICE4
|
|
|
|
|
FATNAME_flash_sirenaspw=SISPW
|
2013-06-18 14:59:01 +00:00
|
|
|
FATNAME_flash_icucore=ICUCORE
|
2011-11-30 19:49:49 +00:00
|
|
|
FATNAME_flash_ccdrena=CCDRENA
|
2011-07-07 08:28:19 +00:00
|
|
|
FATNAME_flash_esther=ESTHER
|
|
|
|
|
FATNAME_flash_esther32=ESTHER32
|
2013-11-20 10:14:17 +00:00
|
|
|
FATNAME_flash_zugspitze=ZUGSPITZE
|
2011-07-07 08:28:19 +00:00
|
|
|
FATNAME_flash_thomas=THOMAS
|
2013-02-06 15:42:32 +00:00
|
|
|
FATNAME_flash_fred2=FRED2
|
2011-07-07 08:28:19 +00:00
|
|
|
FATNAME_flash_heti=HETI
|
2012-10-18 14:36:57 +00:00
|
|
|
FATNAME_flash_ept=EPT
|
2011-08-20 15:41:15 +00:00
|
|
|
FATNAME_flash_varena=VARENA
|
2011-11-28 11:15:31 +00:00
|
|
|
FATNAME_flash_iarena=IARENA
|
2020-04-01 21:30:28 +00:00
|
|
|
FATNAME_flash_darena=DARENA
|
2012-02-11 19:38:27 +00:00
|
|
|
FATNAME_flash_sarena=SARENA
|
2014-09-08 16:59:19 +00:00
|
|
|
FATNAME_flash_tarena=TARENA
|
2011-10-13 09:20:51 +00:00
|
|
|
FATNAME_flash_lauri=PIRENA
|
2022-05-06 10:48:48 +00:00
|
|
|
FATNAME_flash_pirena=PIRENA
|
2012-01-28 10:45:06 +00:00
|
|
|
FATNAME_flash_i128=I128
|
2012-03-15 16:45:43 +00:00
|
|
|
FATNAME_flash_aarena=ADCTEST
|
2012-08-03 14:45:48 +00:00
|
|
|
FATNAME_flash_flyrena=FLYRENA
|
2012-08-17 20:44:42 +00:00
|
|
|
FATNAME_flash_erena=ERENA
|
2014-03-26 20:40:07 +00:00
|
|
|
FATNAME_flash_adam=ADAM-EVA
|
2015-11-06 16:16:35 +00:00
|
|
|
FATNAME_flash_gps=uIRENA
|
2017-02-15 23:52:35 +00:00
|
|
|
FATNAME_flash_SpW=SPWIRE
|
2016-11-30 20:45:22 +00:00
|
|
|
FATNAME_flash_CE4ARENA=CE4ARENA
|
2017-07-18 11:51:22 +00:00
|
|
|
FATNAME_flash_NMirena=NMIRENA
|
2017-08-23 18:41:28 +00:00
|
|
|
FATNAME_flash_NMRENA=NMRENA
|
2019-07-01 19:57:09 +00:00
|
|
|
FATNAME_flash_NMHERTZ=NMHERTZ
|
2020-02-23 21:28:29 +00:00
|
|
|
FATNAME_flash_NM_MCS=NM_MCS
|
2019-12-03 19:50:14 +00:00
|
|
|
FATNAME_flash_MUSTANG=MUSTANG
|
2018-01-31 16:23:53 +00:00
|
|
|
FATNAME_flash_BGOT=IRENABGOT
|
2018-02-11 14:27:10 +00:00
|
|
|
FATNAME_flash_torsten=TORSTEN
|
2018-05-11 09:16:31 +00:00
|
|
|
FATNAME_flash_alke=ALKE
|
2019-06-28 08:54:22 +00:00
|
|
|
FATNAME_flash_TANOS=TANOS
|
2024-05-31 16:59:46 +00:00
|
|
|
FATNAME_flash_CHAOS=CHAOS
|
2021-07-04 14:07:48 +00:00
|
|
|
FATNAME_flash_µM=IRENAuM
|
2024-09-24 11:18:01 +00:00
|
|
|
FATNAME_flash_NMAHEPAM=NMAHEPAM
|
2025-11-17 23:50:26 +01:00
|
|
|
FATNAME_flash_LEIA=LEIA
|
2011-07-07 08:28:19 +00:00
|
|
|
FATNAME=$(FATNAME_$(FLASH))
|
2011-06-27 14:22:58 +00:00
|
|
|
|
2025-11-12 20:20:49 +01:00
|
|
|
FATSIZE_flash_tarena=1M
|
2022-05-06 10:48:48 +00:00
|
|
|
FATSIZE_flash_pirena=1M
|
2020-04-14 08:38:12 +00:00
|
|
|
FATSIZE_flash_darena=1M
|
2020-07-12 11:31:26 +00:00
|
|
|
FATSIZE_flash_erena=1M
|
2021-03-18 09:30:05 +00:00
|
|
|
FATSIZE_flash_iarena=1M
|
2023-03-20 13:10:54 +00:00
|
|
|
FATSIZE_flash_µM=2M
|
2022-05-05 13:43:54 +00:00
|
|
|
FATNAME_flash_HARENA=HARENA
|
|
|
|
|
FATSIZE_flash_HARENA=1M
|
2020-04-01 21:30:28 +00:00
|
|
|
|
2017-07-18 11:51:22 +00:00
|
|
|
FATSIZE=$(FATSIZE_$(FLASH))
|
2017-02-15 23:52:35 +00:00
|
|
|
ifeq ($(FATSIZE_$(FLASH)),)
|
2020-02-23 21:28:29 +00:00
|
|
|
FATSIZE=2M
|
2017-02-15 23:52:35 +00:00
|
|
|
endif
|
|
|
|
|
|
2012-10-18 14:36:57 +00:00
|
|
|
MKDOSFS=/sbin/mkdosfs
|
2019-03-26 16:20:19 +00:00
|
|
|
MAXLINE=126
|
2010-07-29 13:21:15 +00:00
|
|
|
$(FLASH).fat: $(flashfiles)
|
2014-07-24 14:38:25 +00:00
|
|
|
[ -z "`cut -b $(MAXLINE)- $(FLASH)/*.RC | grep -v '^$$'`" ]
|
2017-02-15 23:52:35 +00:00
|
|
|
dd if=/dev/zero bs=$(FATSIZE) count=1 | tr '\0' '\377' >$@
|
2012-10-18 14:36:57 +00:00
|
|
|
$(MKDOSFS) -n "$(FATNAME)" -s 8 -r 112 -v $@
|
2011-04-15 14:24:44 +00:00
|
|
|
mcopy -i $@ -spmv $(FLASH)/[A-Z0-9]*.*[A-Z0-9] ::/
|
|
|
|
|
|
2011-04-20 19:17:03 +00:00
|
|
|
flash_%.fat: flash_%
|
2011-04-15 14:24:44 +00:00
|
|
|
$(MAKE) FLASH=flash_$* $@
|