Fixed psoc6 test application

pull/48/head
Daniele Lacamera 2020-05-22 18:21:47 +02:00
parent a48bc603d6
commit 5b08c9606b
3 changed files with 68 additions and 7 deletions

View File

@ -10,7 +10,9 @@ SECTIONS
.text :
{
_start_text = .;
__Vectors = .;
KEEP(*(.isr_vector))
KEEP(*(.vectors))
. = ALIGN(0x400);
*(.text*)
*(.rodata*)
@ -18,6 +20,7 @@ SECTIONS
*(.fini*)
. = ALIGN(4);
_end_text = .;
__etext = .;
} > FLASH
.edidx :
@ -31,25 +34,64 @@ SECTIONS
.data : AT (_stored_data)
{
_start_data = .;
__data_start__ = .;
KEEP(*(.data*))
. = ALIGN(4);
KEEP(*(.ramcode))
. = ALIGN(4);
/* preinit data */
PROVIDE_HIDDEN (__preinit_array_start = .);
KEEP(*(.preinit_array))
PROVIDE_HIDDEN (__preinit_array_end = .);
. = ALIGN(4);
/* init data */
PROVIDE_HIDDEN (__init_array_start = .);
KEEP(*(SORT(.init_array.*)))
KEEP(*(.init_array))
PROVIDE_HIDDEN (__init_array_end = .);
. = ALIGN(4);
/* finit data */
PROVIDE_HIDDEN (__fini_array_start = .);
KEEP(*(SORT(.fini_array.*)))
KEEP(*(.fini_array))
PROVIDE_HIDDEN (__fini_array_end = .);
KEEP(*(.jcr*))
. = ALIGN(4);
KEEP(*(.cy_ramfunc*))
. = ALIGN(4);
_end_data = .;
__data_end__ = .;
} > RAM
.bss (NOLOAD) :
{
_start_bss = .;
__bss_start__ = .;
__zero_table_start__ = .;
*(.bss*)
*(COMMON)
. = ALIGN(4);
_end_bss = .;
__bss_end__ = .;
__zero_table_end__ = .;
_end = .;
. = ALIGN(0x100);
__ramVectors = .;
} > RAM
. = ALIGN(4);
}
END_STACK = ORIGIN(RAM) + LENGTH(RAM);
PROVIDE(_start_heap = _end);
PROVIDE(_end_stack = ORIGIN(RAM) + LENGTH(RAM));
PROVIDE(_end_stack = END_STACK);
PROVIDE(_start_heap = END_STACK);
__StackTop = ORIGIN(RAM) + LENGTH(RAM);
__StackLimit = __StackTop - 0x4000;
PROVIDE(__stack = __StackTop);

View File

@ -46,10 +46,6 @@ ifeq ($(TARGET),stm32f7)
LSCRIPT_TEMPLATE=ARM-stm32f7.ld
CFLAGS+=-DDUALBANK_SWAP
endif
ifeq ($(TARGET),psoc6)
LSCRIPT_TEMPLATE=ARM-psoc6.ld
endif
LDFLAGS:=$(CFLAGS) -T $(LSCRIPT) -Wl,-gc-sections -Wl,-Map=image.map
ifeq ($(EXT_FLASH),1)
@ -110,6 +106,22 @@ ifeq ($(TARGET),hifive1)
APP_OBJS+=hifive1_write_page.o
endif
# $(CYPRESS_PDL)/devices/templates/COMPONENT_MTB/COMPONENT_CM0P/system_psoc6_cm0plus.o
ifeq ($(TARGET),psoc6)
LSCRIPT_TEMPLATE:=ARM-psoc6.ld
APP_OBJS+= $(CYPRESS_PDL)/drivers/source/cy_gpio.o \
$(CYPRESS_PDL)/drivers/source/cy_device.o
CFLAGS+=-I$(CYPRESS_PDL)/drivers/include/ \
-I$(CYPRESS_PDL)/devices/include \
-I$(CYPRESS_PDL)/cmsis/include \
-I$(CYPRESS_TARGET_LIB) \
-I$(CYPRESS_CORE_LIB)/include \
-I$(CYPRESS_PDL)/devices/include/ip \
-I$(CYPRESS_PDL)/devices/templates/COMPONENT_MTB \
-DCY8C624ABZI_D44
endif
standalone:CFLAGS+=-DTEST_APP_STANDALONE
standalone:LDFLAGS:=$(CFLAGS) -T standalone.ld -Wl,-gc-sections -Wl,-Map=image.map

View File

@ -26,9 +26,16 @@
#include <string.h>
#include "wolfboot/wolfboot.h"
#include "cy_gpio.h"
#define BOOT_LED P1_5
#define BOOT_D7 P5_7
void main(void) {
/* Wait for reboot */
Cy_PDL_Init(CY_DEVICE_CFG);
Cy_GPIO_Pin_FastInit(P5_7_PORT, P5_7_NUM, CY_GPIO_DM_PULLUP, 0UL, P5_7_GPIO);
Cy_GPIO_Pin_FastInit(P1_5_PORT, P1_5_NUM, CY_GPIO_DM_PULLUP, 0UL, P1_5_GPIO);
while(1)
;
}