41bca35c1e
This patch adds code to initialize the Global Descriptor Table. For simplicity, the memory is organized following the flat model. Thus, memory appears to Contiki as a single, continuous address space. Code, data, and stack are all contained in this address space (so called linear address space). The macros to manipulate bits from segment descriptor and the set_descriptor() helper are based on the ones described in [1]. [1] http://wiki.osdev.org/GDT_Tutorial
34 lines
678 B
Makefile
34 lines
678 B
Makefile
CONTIKI_CPU_DIRS = .
|
|
|
|
CONTIKI_SOURCEFILES += mtarch.c gdt.c
|
|
|
|
### Compiler definitions
|
|
CC = gcc
|
|
LD = gcc
|
|
AS = as
|
|
OBJCOPY = objcopy
|
|
SIZE = size
|
|
STRIP = strip
|
|
CFLAGSNO = -Wall -g -I/usr/local/include
|
|
CFLAGS += $(CFLAGSNO)
|
|
ifeq ($(HOST_OS),Linux)
|
|
LDFLAGS = -Wl,-Map=contiki-$(TARGET).map,-export-dynamic
|
|
else
|
|
LDFLAGS = -Wl
|
|
endif
|
|
|
|
### Compilation rules
|
|
|
|
%.so: $(OBJECTDIR)/%.o
|
|
$(LD) -shared -o $@ $^
|
|
|
|
ifdef CORE
|
|
.PHONY: symbols.c symbols.h
|
|
symbols.c symbols.h:
|
|
$(NM) $(CORE) | awk -f $(CONTIKI)/tools/mknmlist > symbols.c
|
|
else
|
|
symbols.c symbols.h:
|
|
cp ${CONTIKI}/tools/empty-symbols.c symbols.c
|
|
cp ${CONTIKI}/tools/empty-symbols.h symbols.h
|
|
endif
|