osd-contiki/platform/osd-merkur-256/Makefile.osd-merkur-256
Ralf Schlatterbeck 954da749eb Factor irq methods
Now methods that need interrupts turned off are wrapped.
Make genbackupisr.py executable.
New resources for bootloader-related information.
2017-08-20 11:47:13 +02:00

126 lines
4.7 KiB
Makefile

CONTIKI_TARGET_DIRS = . dev apps net loader dev/arduino
CONTIKI_CORE=contiki-main
CONTIKI_TARGET_MAIN = ${CONTIKI_CORE}.o
CONTIKI_TARGET_SOURCEFILES += contiki-main.c params.c node-id.c
#Needed for slip
CONTIKI_TARGET_SOURCEFILES += led.c sensors.c slip_uart0.c slip.c leds-arch.c
CONTIKI_TARGET_SOURCEFILES += temperature-sensor.c adc.c
#Needed for Button
CONTIKI_TARGET_SOURCEFILES += button-sensor.c
# i2c Master
#CONTIKI_TARGET_SOURCEFILES += i2c.c
#Needed for DHT11 humidity sensor
CONTIKI_TARGET_SOURCEFILES += dht11.c
#Needed for DS18S20 temperature sensor
CONTIKI_TARGET_SOURCEFILES += ds1820.c
#Needed for Battery test
CONTIKI_TARGET_SOURCEFILES += battery-sensor.c batmon.c
#Needed for PIR
CONTIKI_TARGET_SOURCEFILES += pir-sensor.c
#Needed for OPTRIAC
CONTIKI_TARGET_SOURCEFILES += optriac-sensor.c
#Needed for SERVO
CONTIKI_TARGET_SOURCEFILES += servo.c servo-sensor.c
#Needed for Timer4 Servo
#CONTIKI_TARGET_SOURCEFILES += t4-servo.c t4-servo-sensor.c
#Needed for Relay 1 to 4
CONTIKI_TARGET_SOURCEFILES += relay.c relay-sensor.c
# Arduino
CONTIKI_TARGET_SOURCEFILES += wiring_digital.c
CONTIKI_TARGET_SOURCEFILES += new.cpp twi.c Wire.cpp WMath.cpp
CONTIKI_TARGET_SOURCEFILES += Print.cpp Stream.cpp WString.cpp
CONTIKI_TARGET_SOURCEFILES += SPI.cpp
CONTIKI_TARGET_SOURCEFILES += HardwareSerial.cpp HardwareSerial1.cpp
# guh Source Files
# Smart Grid Ready Interface
CONTIKI_TARGET_SOURCEFILES += sg-ready.c
CONTIKIAVR=$(CONTIKI)/cpu/avr
CONTIKIBOARD=.
BOOTLOADER_START = 0x3E000
CONTIKI_PLAT_DEFS = -DF_CPU=16000000UL -DAUTO_CRC_PADDING=2 -DPLAT_TIMER=5
MCU=atmega256rfr2
#AVRDUDE_PROGRAMMER=jtag2
AVRDUDE_PROGRAMMER=stk500v2
# For usb devices, you may either use PORT=usb, or (e.g. if you have
# more than one programmer connected) you can use the following trick to
# find out the serial number:
#
# The example is for an JTAGICE mkII used to program an atmega256:
# avrdude -v -P usb:xxxx -c jtag2 -p atmega256
# AVRDUDE_PORT=usb:00B000000D79
# For serial devices with bootloader we also use the AVRDUDE_PORT setting:
AVRDUDE_PORT=/dev/ttyUSB0
# Only needed for serial devices, use empty setting for other
# programmers
AVRDUDE_BAUD_OPTION=-b 57600
# Additional avrdude options
# First some flash options:
# Verify off is -V
# Erase is -e
# No-Erase (needed by our stk500 variant) is -D
# Note that it really doesn't turn off erase: It doesn't issue an
# explicit erase command (which is not implemented) but the bootloader
# *always* does an implicit erase when programming.
AVRDUDE_FLASH_OPTIONS=-D
AVRDUDE_OPTIONS=$(AVRDUDE_BAUD_OPTION) $(AVRDUDE_FLASH_OPTIONS)
AVRDUDE_MCU=m256rfr2
#debug
# CFLAGS += -save-temps
# Bootloader bonsai
# LDFLAGS += -save-temps
# For newer bootloaders we have a jump table at the end of the bootloader
# section: guhRF Bootloader MAC Address
BOOTLOADER_GET_MAC=0x0003ff80
BOOTLOADER_WRITE_PAGE_TO_FLASH=0x0003ff84
BOOTLOADER_GET_PART_COUNT=0x0003ff88
BOOTLOADER_GET_PART_SIZE=0x0003ff8c
BOOTLOADER_GET_PART_START=0x0003ff90
BOOTLOADER_SET_PART_OK=0x0003ff94
BOOTLOADER_CLR_PART_OK=0x0003ff98
BOOTLOADER_SET_BOOT_DEFAULT=0x0003ff9c
BOOTLOADER_SET_BOOT_NEXT=0x0003ffa0
BOOTLOADER_BACKUP_IRQ_TABLE=0x0003ffa4
BOOTLOADER_GET_BOOT_DEFAULT=0x0003ffa8
BOOTLOADER_GET_BOOT_NEXT=0x0003ffac
BOOTLOADER_GET_CALLERS_PART=0x0003ffb0
BOOTLOADER_PARTITION=0
ifeq ($(BOOTLOADER_PARTITION),0)
TEXT_SECTION_START=0x0
else
TEXT_SECTION_START=0x1ef00
endif
LDFLAGS += -Wl,--defsym,bootloader_get_mac=$(BOOTLOADER_GET_MAC) \
-Wl,--defsym,_bootloader_write_page_to_flash=$(BOOTLOADER_WRITE_PAGE_TO_FLASH) \
-Wl,--defsym,bootloader_get_part_count=$(BOOTLOADER_GET_PART_COUNT) \
-Wl,--defsym,bootloader_get_part_size=$(BOOTLOADER_GET_PART_SIZE) \
-Wl,--defsym,bootloader_get_part_start=$(BOOTLOADER_GET_PART_START) \
-Wl,--defsym,_bootloader_set_part_ok=$(BOOTLOADER_SET_PART_OK) \
-Wl,--defsym,_bootloader_clr_part_ok=$(BOOTLOADER_CLR_PART_OK) \
-Wl,--defsym,_bootloader_set_boot_default=$(BOOTLOADER_SET_BOOT_DEFAULT) \
-Wl,--defsym,_bootloader_set_boot_next=$(BOOTLOADER_SET_BOOT_NEXT) \
-Wl,--defsym,_bootloader_backup_irq_table=$(BOOTLOADER_BACKUP_IRQ_TABLE) \
-Wl,--defsym,bootloader_get_boot_default=$(BOOTLOADER_GET_BOOT_DEFAULT) \
-Wl,--defsym,bootloader_get_boot_next=$(BOOTLOADER_GET_BOOT_NEXT) \
-Wl,--defsym,bootloader_get_callers_part=$(BOOTLOADER_GET_CALLERS_PART) \
-Wl,--section-start=.text=$(TEXT_SECTION_START)
include $(CONTIKIAVR)/Makefile.avr
include $(CONTIKIAVR)/radio/Makefile.radio
MODULES += core/net/mac core/net core/net/mac/sicslowmac \
core/net/mac/contikimac core/net/llsec core/net/llsec/noncoresec \
# core/net/ipv6 core/net/ipv4 core/net/ip \
# core/net/rime \
# core/net/rpl \