# # Copyright (C) 2016 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # M3DEBUG ?= m3debug ifneq ($(CPU),cortexm4) $(error "stm32 cplatform only supports Cortex-M4 CPUs") endif BL_FILE = $(OUT)/bl.unchecked.bin OS_FILE = $(OUT)/os.checked.bin DELIVERABLES += showsizes FLAGS += -I. -fno-unwind-tables -fstack-reuse=all -ffunction-sections -fdata-sections FLAGS += -Wl,--gc-sections -nostartfiles FLAGS += -nostdlib #platform bootloader SRCS_bl += os/platform/$(PLATFORM)/bl.c #platform runtime SRCS_os += os/platform/$(PLATFORM)/crt_$(PLATFORM).c #platform drivers SRCS_os += os/platform/$(PLATFORM)/platform.c \ os/platform/$(PLATFORM)/usart.c \ os/platform/$(PLATFORM)/gpio.c \ os/platform/$(PLATFORM)/pwr.c \ os/platform/$(PLATFORM)/wdt.c \ os/platform/$(PLATFORM)/i2c.c \ os/platform/$(PLATFORM)/exti.c \ os/platform/$(PLATFORM)/syscfg.c \ os/platform/$(PLATFORM)/spi.c \ os/platform/$(PLATFORM)/rtc.c \ os/platform/$(PLATFORM)/mpu.c \ os/platform/$(PLATFORM)/dma.c \ os/platform/$(PLATFORM)/crc.c \ os/platform/$(PLATFORM)/hostIntf.c \ os/platform/$(PLATFORM)/apInt.c \ os/platform/$(PLATFORM)/eeData.c #platform drivers for bootloader SRCS_bl += os/platform/$(PLATFORM)/pwr.c os/platform/$(PLATFORM)/gpio.c #extra deps DEPS += $(wildcard os/platform/$(PLATFORM)/inc/plat/*.h) DEPS += $(wildcard os/platform/$(PLATFORM)/inc/plat/cmsis/*.h) #linker script LKR_os = os/platform/$(PLATFORM)/lkr/$(CHIP).os.lkr LKR_bl = os/platform/$(PLATFORM)/lkr/$(CHIP).bl.lkr OSFLAGS_os += -Wl,-T $(LKR_os) OSFLAGS_bl += -Wl,-T $(LKR_bl) DEPS += $(LKR_os) $(LKR_bl) #platform flags PLATFORM_HAS_HARDWARE_CRC = true FLAGS += -DPLATFORM_HW_VER=0 #platform-specific rules OBJCOPY_PARAMS = -I elf32-littlearm -O binary $(OUT)/bl.%.bin : $(OUT)/bl.%.elf $(OBJCOPY) -j .bl -j .data -j .eedata $(OBJCOPY_PARAMS) $< $@ $(OUT)/os.%.bin : $(OUT)/os.%.elf $(OBJCOPY) -j .data -j .text $(OBJCOPY_PARAMS) $< $@ showsizes: $(OUT)/os.unchecked.elf os/platform/$(PLATFORM)/misc/showsizes.sh $< $(info Included STM32 platfrom)