mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
4a9cb807c6
The CPU has multiple issues and several parts of the platform code does not even compile cleanly for this CPU in the current state. This removes support for parts MK60DN256ZVLL10, MK60DN512ZVLL10 (note the Z) CPUs with this part number were used in Mulle v0.60 which only has been used in some in-house projects at Eistec and LTU.
103 lines
3.3 KiB
Makefile
103 lines
3.3 KiB
Makefile
# define the cpu used by the Mulle board
|
|
export CPU = k60
|
|
|
|
# Default GDB port
|
|
export GDBPORT ?= 3333
|
|
|
|
# MULLE_SERIAL is used to select which specific Mulle board we are compiling for.
|
|
ifdef MULLE_SERIAL
|
|
CFLAGS += -DMULLE_SERIAL=$(MULLE_SERIAL)
|
|
endif
|
|
|
|
### CPU part number (must have a specific linker script for each part)
|
|
# Note that MK60DN256ZVLL10 (version 1.x) and MK60DN256VLL10 (version 2.x, no Z)
|
|
# only differ in some register locations etc, not in the actual memory layout,
|
|
# so it is safe to use the same linker script for both version 1.x and version
|
|
# 2.x silicon.
|
|
# The linker script needs to know the flash and RAM sizes of the device.
|
|
|
|
ifeq ($(CPU_MODEL),)
|
|
CPU_MODEL = K60DN512VLL10
|
|
endif
|
|
|
|
export CPU_MODEL
|
|
|
|
# OpenOCD settings for Mulle board.
|
|
# Try to determine which version of the OpenOCD config file we should use.
|
|
# Specify PROGRAMMER_VERSION or PROGRAMMER_SERIAL to choose a specific programmer board.
|
|
ifeq ($(PROGRAMMER_VERSION),)
|
|
ifneq ($(PROGRAMMER_SERIAL),)
|
|
# Makefile-way of comparing numbers, using lexicographical sorting since we don't have any arithmetic comparisons.
|
|
# Programmers with serial 100 -- 148 are version 0.60
|
|
# Programmers with serial 301 -- 330 are version 0.70
|
|
ifeq "100" "$(word 1, $(sort 100 $(PROGRAMMER_SERIAL)))"
|
|
# >= 100
|
|
ifneq "149" "$(word 1, $(sort 149 $(PROGRAMMER_SERIAL)))"
|
|
# < 149
|
|
PROGRAMMER_VERSION = 0.60
|
|
else
|
|
# >= 149
|
|
PROGRAMMER_VERSION = 0.70
|
|
endif
|
|
endif
|
|
endif
|
|
# Default to version 0.70 programmer
|
|
PROGRAMMER_VERSION ?= 0.70
|
|
endif
|
|
|
|
export OPENOCD_CONFIG = $(RIOTBOARD)/$(BOARD)/dist/openocd/mulle-programmer-$(PROGRAMMER_VERSION).conf
|
|
|
|
# Add serial matching command
|
|
ifneq ($(PROGRAMMER_SERIAL),)
|
|
OPENOCD_EXTRA_INIT += -c 'ftdi_serial $(PROGRAMMER_SERIAL)'
|
|
endif
|
|
|
|
OPENOCD_EXTRA_INIT += $(CPU_OOCD_FLAGS)
|
|
|
|
# Host OS name
|
|
OS := $(shell uname)
|
|
|
|
ifeq ($(PORT),)
|
|
# try to find tty name by serial number, only works on Linux currently.
|
|
ifeq ($(OS),Linux)
|
|
ifneq ($(PROGRAMMER_SERIAL),)
|
|
PORT := $(firstword $(shell $(RIOTBASE)/dist/tools/usb-serial/find-tty.sh '^$(PROGRAMMER_SERIAL)$$'))
|
|
else
|
|
# find-tty.sh will return the first USB tty if no serial is given.
|
|
PORT := $(firstword $(shell $(RIOTBASE)/dist/tools/usb-serial/find-tty.sh))
|
|
endif
|
|
else ifeq ($(OS),Darwin)
|
|
ifneq ($(PROGRAMMER_SERIAL),)
|
|
PORT := /dev/tty.usbserial-$(PROGRAMMER_SERIAL)B
|
|
else
|
|
PORT := $(firstword $(sort $(wildcard /dev/tty.usbserial*)))
|
|
endif
|
|
endif
|
|
endif
|
|
ifeq ($(PORT),)
|
|
# fall back to a sensible default
|
|
PORT := /dev/ttyUSB0
|
|
endif
|
|
|
|
# We need special handling of the watchdog if we want to speed up the flash
|
|
# verification by using the MCU to compute the image checksum after flashing.
|
|
# wdog-disable.bin is a precompiled binary which will disable the watchdog and
|
|
# return control to the debugger (OpenOCD)
|
|
export OPENOCD_PRE_VERIFY_CMDS += \
|
|
-c 'load_image $(RIOTCPU)/kinetis_common/dist/wdog-disable.bin 0x20000000 bin' \
|
|
-c 'resume 0x20000000'
|
|
export OPENOCD_EXTRA_INIT
|
|
export PRE_FLASH_CHECK_SCRIPT = $(RIOTCPU)/kinetis_common/dist/check-fcfield-hex.sh
|
|
|
|
.PHONY: flash
|
|
flash: $(RIOTCPU)/kinetis_common/dist/wdog-disable.bin
|
|
|
|
# Reset the default goal.
|
|
.DEFAULT_GOAL :=
|
|
|
|
# this board uses openocd
|
|
include $(RIOTMAKE)/tools/openocd.inc.mk
|
|
|
|
# setup serial terminal
|
|
include $(RIOTMAKE)/tools/serial.inc.mk
|