diff --git a/arch/avr/include/avr/types.h b/arch/avr/include/avr/types.h index 2dd35a5cb26..e0a70fb7f94 100644 --- a/arch/avr/include/avr/types.h +++ b/arch/avr/include/avr/types.h @@ -76,11 +76,16 @@ typedef signed long long _int64_t; /* long long is 64-bits */ typedef unsigned long long _uint64_t; #define __INT64_DEFINED -/* A pointer is 2 bytes */ +/* A (near) pointer is 2 bytes */ typedef signed int _intptr_t; typedef unsigned int _uintptr_t; +/* A FAR pointer is 4 bytes */ + +typedef signed long _int_farptr_t; +typedef unsigned long _uint_farptr_t; + /* This is the size of the interrupt state save returned by irqsave(). */ typedef unsigned char irqstate_t; diff --git a/arch/avr/src/at90usb/Make.defs b/arch/avr/src/at90usb/Make.defs index 5b939f5afc1..0497acd9504 100644 --- a/arch/avr/src/at90usb/Make.defs +++ b/arch/avr/src/at90usb/Make.defs @@ -62,6 +62,10 @@ ifeq ($(CONFIG_DEBUG_STACK),y) CMN_CSRCS += up_checkstack.c endif +ifeq ($(CONFIG_ARCH_ROMGETC),y) +CMN_CSRCS += up_romgetc.c +endif + # Required AT90USB files CHIP_ASRCS = at90usb_exceptions.S diff --git a/arch/avr/src/atmega/Make.defs b/arch/avr/src/atmega/Make.defs index 47683fcd083..b3451aaa1f4 100644 --- a/arch/avr/src/atmega/Make.defs +++ b/arch/avr/src/atmega/Make.defs @@ -62,6 +62,10 @@ ifeq ($(CONFIG_DEBUG_STACK),y) CMN_CSRCS += up_checkstack.c endif +ifeq ($(CONFIG_ARCH_ROMGETC),y) +CMN_CSRCS += up_romgetc.c +endif + # Required ATMEGA files CHIP_ASRCS = atmega_exceptions.S diff --git a/arch/sim/src/Makefile b/arch/sim/src/Makefile index 8e2fc56de97..f32f17b010e 100644 --- a/arch/sim/src/Makefile +++ b/arch/sim/src/Makefile @@ -64,9 +64,15 @@ HOSTSRCS = up_stdio.c up_hostusleep.c ifeq ($(USEX),y) HOSTSRCS += up_x11framebuffer.c endif + ifeq ($(CONFIG_FS_FAT),y) CSRCS += up_blockdevice.c up_deviceimage.c endif + +ifeq ($(CONFIG_ARCH_ROMGETC),y) +CSRCS += up_romgetc.c +endif + ifeq ($(CONFIG_NET),y) CSRCS += up_uipdriver.c HOSTCFLAGS += -DNETDEV_BUFSIZE=$(CONFIG_NET_BUFSIZE)