qemu-arm: Enable lots of extmods and enable tests for them.

The qemu-arm port is used for testing of ARM Thumb architecture on a
desktop so should have many features enabled.
This commit is contained in:
Damien George 2016-10-14 00:08:19 +11:00
parent 8298251215
commit b0a15aa735
5 changed files with 32 additions and 4 deletions

View File

@ -40,19 +40,28 @@ SRC_C = \
SRC_TEST_C = \ SRC_TEST_C = \
test_main.c \ test_main.c \
STM_SRC_C = $(addprefix stmhal/,\
pybstdio.c \
)
SRC_S = \ SRC_S = \
OBJ = OBJ =
OBJ += $(PY_O) OBJ += $(PY_O)
OBJ += $(addprefix $(BUILD)/, $(SRC_C:.c=.o)) OBJ += $(addprefix $(BUILD)/, $(SRC_C:.c=.o))
OBJ += $(addprefix $(BUILD)/, $(SRC_S:.s=.o)) OBJ += $(addprefix $(BUILD)/, $(SRC_S:.s=.o))
OBJ += $(addprefix $(BUILD)/, $(STM_SRC_C:.c=.o))
OBJ_TEST = OBJ_TEST =
OBJ_TEST += $(PY_O) OBJ_TEST += $(PY_O)
OBJ_TEST += $(addprefix $(BUILD)/, $(SRC_TEST_C:.c=.o)) OBJ_TEST += $(addprefix $(BUILD)/, $(SRC_TEST_C:.c=.o))
OBJ_TEST += $(addprefix $(BUILD)/, $(SRC_S:.s=.o)) OBJ_TEST += $(addprefix $(BUILD)/, $(SRC_S:.s=.o))
OBJ_TEST += $(addprefix $(BUILD)/, $(STM_SRC_C:.c=.o))
OBJ_TEST += $(BUILD)/tinytest.o OBJ_TEST += $(BUILD)/tinytest.o
# List of sources for qstr extraction
SRC_QSTR += $(SRC_C) $(SRC_TEST_C) $(STM_SRC_C)
all: run all: run
run: $(BUILD)/firmware.elf run: $(BUILD)/firmware.elf

2
qemu-arm/memory.h Normal file
View File

@ -0,0 +1,2 @@
// this is needed for extmod/crypto-algorithms/sha256.c
#include <string.h>

View File

@ -20,9 +20,18 @@
#define MICROPY_PY_ARRAY_SLICE_ASSIGN (1) #define MICROPY_PY_ARRAY_SLICE_ASSIGN (1)
#define MICROPY_PY_BUILTINS_FROZENSET (1) #define MICROPY_PY_BUILTINS_FROZENSET (1)
#define MICROPY_PY_BUILTINS_MEMORYVIEW (1) #define MICROPY_PY_BUILTINS_MEMORYVIEW (1)
#define MICROPY_PY_IO (0) #define MICROPY_PY_IO (1)
#define MICROPY_PY_SYS_EXIT (1) #define MICROPY_PY_SYS_EXIT (1)
#define MICROPY_PY_SYS_MAXSIZE (1) #define MICROPY_PY_SYS_MAXSIZE (1)
#define MICROPY_PY_UERRNO (1)
#define MICROPY_PY_UBINASCII (1)
#define MICROPY_PY_URANDOM (1)
#define MICROPY_PY_UCTYPES (1)
#define MICROPY_PY_UZLIB (1)
#define MICROPY_PY_UJSON (1)
#define MICROPY_PY_URE (1)
#define MICROPY_PY_UHEAPQ (1)
#define MICROPY_PY_UHASHLIB (1)
#define MICROPY_USE_INTERNAL_PRINTF (0) #define MICROPY_USE_INTERNAL_PRINTF (0)
// type definitions for the specific machine // type definitions for the specific machine

View File

@ -1 +1,2 @@
// empty file #define mp_hal_stdin_rx_chr() (0)
#define mp_hal_stdout_tx_strn_cooked(s, l) write(1, (s), (l))

View File

@ -46,8 +46,15 @@ testgroup_member = (
## XXX: may be we could have `--without <groups>` argument... ## XXX: may be we could have `--without <groups>` argument...
# currently these tests are selected because they pass on qemu-arm # currently these tests are selected because they pass on qemu-arm
test_dirs = ('basics', 'micropython', 'inlineasm') # 'float', 'import', 'io', 'misc') test_dirs = ('basics', 'micropython', 'extmod', 'inlineasm') # 'float', 'import', 'io', 'misc')
exclude_tests = ('inlineasm/asmfpaddsub.py', 'inlineasm/asmfpcmp.py', 'inlineasm/asmfpldrstr.py', 'inlineasm/asmfpmuldiv.py', 'inlineasm/asmfpsqrt.py',) exclude_tests = (
'inlineasm/asmfpaddsub.py', 'inlineasm/asmfpcmp.py', 'inlineasm/asmfpldrstr.py', 'inlineasm/asmfpmuldiv.py', 'inlineasm/asmfpsqrt.py',
'extmod/time_ms_us.py',
'extmod/ujson_dumps_float.py', 'extmod/ujson_loads_float.py',
'extmod/uctypes_native_float.py', 'extmod/uctypes_le_float.py',
'extmod/machine_pinbase.py', 'extmod/machine_pulse.py',
'extmod/vfs_fat_ramdisk.py',
)
output = [] output = []