1CHIP		?= haas1000
2
3DEBUG		?= 1
4
5NOSTD		?= 0
6
7SIMU		?= 1
8
9ROM_BUILD	?= 1
10
11FLASH_CHIP	?= ALL
12
13PSRAM_ENABLE ?= 1
14
15KBUILD_CPPFLAGS += -DMIC_SAMPLERATE=48000 -DMIC_PERIOD_MS=48
16
17export A7_UART ?= 4
18#default transq, support 1(uart0), 3(uart2)
19ifeq ($(A7_UART),1)
20DEBUG_PORT ?= 1
21DSP_USE_AUDMA ?= 1
22else ifeq ($(A7_UART),3)
23DEBUG_PORT ?= 3
24DSP_USE_AUDMA ?= 1
25else
26DEBUG_PORT	?= 4
27DSP_USE_AUDMA ?= 1
28endif
29KBUILD_CPPFLAGS += -DA7_UART=$(A7_UART)
30
31export A7_SRAM ?= 2
32# a7 sram mode:
33# 0: none, use m33 share sync flags for transq, stack/ttb use PSRAM
34# 1: solo, use m33 share sync flags for transq, stack/ttb use SRAM, solo 512K, for alg test
35# 2: default, solo share sync flags for transq, stack/ttb use SRAM
36ifeq ($(A7_SRAM),0)
37export DSP_RAM_SIZE ?= 0
38export DSP_RAM_SHARE_SIZE ?= 0x15000
39KBUILD_CPPFLAGS += -DDSP_RAM_SHARE_SIZE=$(DSP_RAM_SHARE_SIZE)
40else ifeq ($(A7_SRAM),1)
41export DSP_RAM_SIZE ?= 0x80000
42KBUILD_CPPFLAGS += -DDSP_SRAM_SOLO
43else
44export DSP_RAM_SIZE ?= 0x80000
45endif
46
47export A7_PROJECT ?= dummy
48
49export A7_DSP_ENABLE ?= 1
50ifeq ($(A7_DSP_ENABLE),1)
51KBUILD_CFLAGS += -D__A7_DSP_ENABLE__
52endif
53
54export TRACE_BAUD_RATE ?= 1500000
55
56#KERNEL      ?= RHINO
57ifneq ($(KERNEL),)
58RTOS		?= 1
59MBED		?= 0
60else
61RTOS		?= 0
62endif
63
64export CHIP_SUBSYS ?= dsp
65
66export EXEC_IN_RAM ?= 1
67
68export NO_CLOCK_INIT ?= 1
69
70export NO_PMU ?= 1
71
72export NO_SPI ?= 1
73
74export ALLOW_WARNING ?= 1
75
76export DSP_RAM_SIZE ?= 0x80000
77
78export PSRAMUHS_ENABLE ?= 1
79
80export TRACE_BUF_SIZE := 8192
81
82export MBW_TEST ?= 0
83
84export DSP_AUDIO_TASK ?= 1
85
86export TRACE_CRLF ?= 1
87
88export A7_ALI_LIB ?= 0
89ifeq ($(A7_ALI_LIB), 1)
90KBUILD_CPPFLAGS += -DA7_ALI_LIB
91endif
92
93export DIGMIC_EN ?= 0
94ifeq ($(DIGMIC_EN),1)
95KBUILD_CFLAGS += -D__DIGMIC_USED__
96endif
97
98init-y		:=
99core-y		:= platform/cmsis/ platform/hal/ services/a7_dsp/ services/transq_msg/ utils/hwtimer_list/ utils/kfifo/
100
101core-y		+= services/a7_dsp/prj/$(A7_PROJECT)/
102
103ifeq ($(RTOS), 1)
104core-y		+= services/sys_time/ utils/bes_kv/
105endif
106
107ifeq ($(MBW_TEST), 1)
108core-y += tests/mbw_test/
109KBUILD_CPPFLAGS += -DMBW_TEST_NOOS -DMBW_ARRAY_SIZE_KB=256 -DMBW_BLOCK_SIZE_KB=16
110endif
111
112ifeq ($(PSRAMUHS_ENABLE), 1)
113export EXEC_IN_RAM := 0
114ifeq ($(PSRAM_ENABLE), 1)
115export PSRAMUHS_SIZE ?= 0x800000
116export DSP_PSRAMUHS_SIZE ?= 0x800000
117export MCU_PSRAMUHS_SIZE ?= 0x000000
118else
119export PSRAMUHS_SIZE ?= 0x1000000
120export DSP_PSRAMUHS_SIZE ?= 0x800000
121export MCU_PSRAMUHS_SIZE ?= 0x800000
122endif
123KBUILD_CPPFLAGS += -DCHIP_HAS_PSRAMUHS -DPSRAMUHS_ENABLE -DMCU_PSRAMUHS_SIZE=$(MCU_PSRAMUHS_SIZE) -DDSP_PSRAMUHS_SIZE=$(DSP_PSRAMUHS_SIZE)
124endif
125
126KBUILD_CPPFLAGS += -Iplatform/cmsis/inc -Iplatform/hal -Iplatform/drivers/usb/usb_dev/inc
127
128ifeq ($(EXEC_IN_RAM), 1)
129KBUILD_CPPFLAGS += -DEXEC_IN_RAM
130endif
131
132export DSP_LIB ?= 1
133
134KBUILD_CPPFLAGS += -DAOS_COMP_OSAL_POSIX -DAOS_COMP_CPLUSPLUS
135
136LIB_LDFLAGS += -lstdc++ -lsupc++
137
138CFLAGS_IMAGE +=
139
140LDFLAGS_IMAGE +=
141
142C_ONLY_FLAGS    := -std=gnu11
143C++_ONLY_FLAGS  := -std=gnu++11 -fno-exceptions -fno-enforce-eh-specs  -fno-use-cxa-atexit -fno-threadsafe-statics
144
145CFLAGS_IMAGE += -u _printf_float -u _scanf_float
146
147LDFLAGS_IMAGE += --wrap malloc --wrap calloc --wrap free --wrap realloc
148