diff --git a/Makefile b/Makefile index 7dc704265..cce919a53 100644 --- a/Makefile +++ b/Makefile @@ -67,7 +67,6 @@ output_size: boot.elf @echo "===============================" endif -include boot/Makefile ifeq ($(USE_LIBA),0) LDFLAGS += -lc -lc++ -lcrt1.o else diff --git a/Makefile.device b/Makefile.device index 753126a48..d96d59741 100644 --- a/Makefile.device +++ b/Makefile.device @@ -22,18 +22,5 @@ else endif SFLAGS += -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -LDFLAGS += -T boot/device/flash.ld - -ifeq ($(VERBOSE),1) - LDFLAGS += -M -Map output.map - products += output.map -.PHONY: memory_map -postbuild: memory_map -memory_map: - @echo "========== MEMORY MAP =========" - @awk -f boot/device/memory_map.awk < output.map - @echo "===============================" -endif - # Platform configuration USE_LIBA=1 diff --git a/boot/Makefile b/boot/Makefile deleted file mode 100644 index 5614f33a7..000000000 --- a/boot/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -objs += boot/boot.o -include boot/$(PLATFORM)/Makefile diff --git a/boot/README.txt b/boot/README.txt deleted file mode 100644 index 09d5fe97d..000000000 --- a/boot/README.txt +++ /dev/null @@ -1,3 +0,0 @@ -Boot - -Code in boot is responsible for creating an executable that can be started on the PLATFORM. diff --git a/boot/device/Makefile b/boot/device/Makefile deleted file mode 100644 index 35709922b..000000000 --- a/boot/device/Makefile +++ /dev/null @@ -1 +0,0 @@ -objs += $(addprefix boot/device/, isr.o crt0.o) diff --git a/ion/Makefile b/ion/Makefile index 77933d052..951089b3b 100644 --- a/ion/Makefile +++ b/ion/Makefile @@ -1,3 +1,3 @@ SFLAGS += -Iion/include -DKD_CONFIG_H=1 -include ion/platform/$(PLATFORM)/Makefile -objs += $(addprefix ion/src/, keyboard.o) +include ion/src/shared/Makefile +include ion/src/$(PLATFORM)/Makefile diff --git a/ion/README.txt b/ion/README.txt index c8d78e42d..b0c0ab002 100644 --- a/ion/README.txt +++ b/ion/README.txt @@ -1,3 +1,4 @@ ION is the hardware abstraction layer. It does I/O. -It exposes a set of headers that are implemented for various hardwares (device, simulator) +It exposes a set of headers that are implemented for various hardwares (device, simulator). +It is also responsible for setting up the boot environment. diff --git a/ion/platform/device/Makefile b/ion/platform/device/Makefile deleted file mode 100644 index 71b1e68aa..000000000 --- a/ion/platform/device/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -objs += $(addprefix ion/platform/device/, platform.o init.o display.o framebuffer.o keyboard.o display/dma.o display/gpio.o display/spi.o) -objs += $(addprefix ion/drivers/, st7586/st7586.o) diff --git a/ion/src/device/Makefile b/ion/src/device/Makefile new file mode 100644 index 000000000..5ed9d793b --- /dev/null +++ b/ion/src/device/Makefile @@ -0,0 +1,3 @@ +include ion/src/device/boot/Makefile +objs += $(addprefix ion/src/device/, platform.o init.o display.o framebuffer.o keyboard.o display/dma.o display/gpio.o display/spi.o) +objs += $(addprefix ion/drivers/, st7586/st7586.o) diff --git a/ion/src/device/boot/Makefile b/ion/src/device/boot/Makefile new file mode 100644 index 000000000..e394b2c47 --- /dev/null +++ b/ion/src/device/boot/Makefile @@ -0,0 +1,14 @@ +objs += $(addprefix ion/src/device/boot/, isr.o crt0.o) +LDFLAGS += -T ion/src/device/boot/flash.ld + +ifeq ($(VERBOSE),1) + LDFLAGS += -M -Map output.map + products += output.map +.PHONY: memory_map +postbuild: memory_map +memory_map: + @echo "========== MEMORY MAP =========" + @awk -f boot/device/memory_map.awk < output.map + @echo "===============================" +endif + diff --git a/boot/device/crt0.c b/ion/src/device/boot/crt0.c similarity index 97% rename from boot/device/crt0.c rename to ion/src/device/boot/crt0.c index 8ad3b0119..8e909b070 100644 --- a/boot/device/crt0.c +++ b/ion/src/device/boot/crt0.c @@ -1,6 +1,6 @@ #include #include -#include +#include "../../shared/boot/boot.h" extern char _data_section_start_flash; extern char _data_section_start_ram; diff --git a/boot/device/flash.ld b/ion/src/device/boot/flash.ld similarity index 100% rename from boot/device/flash.ld rename to ion/src/device/boot/flash.ld diff --git a/boot/device/isr.c b/ion/src/device/boot/isr.c similarity index 100% rename from boot/device/isr.c rename to ion/src/device/boot/isr.c diff --git a/boot/device/isr.h b/ion/src/device/boot/isr.h similarity index 100% rename from boot/device/isr.h rename to ion/src/device/boot/isr.h diff --git a/boot/device/memory_map.awk b/ion/src/device/boot/memory_map.awk similarity index 100% rename from boot/device/memory_map.awk rename to ion/src/device/boot/memory_map.awk diff --git a/ion/platform/device/display.c b/ion/src/device/display.c similarity index 100% rename from ion/platform/device/display.c rename to ion/src/device/display.c diff --git a/ion/platform/device/display.h b/ion/src/device/display.h similarity index 100% rename from ion/platform/device/display.h rename to ion/src/device/display.h diff --git a/ion/platform/device/display/dma.c b/ion/src/device/display/dma.c similarity index 100% rename from ion/platform/device/display/dma.c rename to ion/src/device/display/dma.c diff --git a/ion/platform/device/display/dma.h b/ion/src/device/display/dma.h similarity index 100% rename from ion/platform/device/display/dma.h rename to ion/src/device/display/dma.h diff --git a/ion/platform/device/display/gpio.c b/ion/src/device/display/gpio.c similarity index 100% rename from ion/platform/device/display/gpio.c rename to ion/src/device/display/gpio.c diff --git a/ion/platform/device/display/gpio.h b/ion/src/device/display/gpio.h similarity index 100% rename from ion/platform/device/display/gpio.h rename to ion/src/device/display/gpio.h diff --git a/ion/platform/device/display/spi.c b/ion/src/device/display/spi.c similarity index 100% rename from ion/platform/device/display/spi.c rename to ion/src/device/display/spi.c diff --git a/ion/platform/device/display/spi.h b/ion/src/device/display/spi.h similarity index 100% rename from ion/platform/device/display/spi.h rename to ion/src/device/display/spi.h diff --git a/ion/platform/device/framebuffer.c b/ion/src/device/framebuffer.c similarity index 100% rename from ion/platform/device/framebuffer.c rename to ion/src/device/framebuffer.c diff --git a/ion/platform/device/framebuffer.h b/ion/src/device/framebuffer.h similarity index 100% rename from ion/platform/device/framebuffer.h rename to ion/src/device/framebuffer.h diff --git a/ion/platform/device/init.c b/ion/src/device/init.c similarity index 100% rename from ion/platform/device/init.c rename to ion/src/device/init.c diff --git a/ion/platform/device/init_kbd.c b/ion/src/device/init_kbd.c similarity index 100% rename from ion/platform/device/init_kbd.c rename to ion/src/device/init_kbd.c diff --git a/ion/platform/device/init_kbd.h b/ion/src/device/init_kbd.h similarity index 100% rename from ion/platform/device/init_kbd.h rename to ion/src/device/init_kbd.h diff --git a/ion/platform/device/keyboard.c b/ion/src/device/keyboard.c similarity index 100% rename from ion/platform/device/keyboard.c rename to ion/src/device/keyboard.c diff --git a/ion/platform/device/keyboard.h b/ion/src/device/keyboard.h similarity index 100% rename from ion/platform/device/keyboard.h rename to ion/src/device/keyboard.h diff --git a/ion/platform/device/platform.c b/ion/src/device/platform.c similarity index 100% rename from ion/platform/device/platform.c rename to ion/src/device/platform.c diff --git a/ion/platform/device/platform.h b/ion/src/device/platform.h similarity index 100% rename from ion/platform/device/platform.h rename to ion/src/device/platform.h diff --git a/ion/platform/device/registers/dma.h b/ion/src/device/registers/dma.h similarity index 100% rename from ion/platform/device/registers/dma.h rename to ion/src/device/registers/dma.h diff --git a/ion/platform/device/registers/gpio.h b/ion/src/device/registers/gpio.h similarity index 100% rename from ion/platform/device/registers/gpio.h rename to ion/src/device/registers/gpio.h diff --git a/ion/platform/device/registers/ltdc.h b/ion/src/device/registers/ltdc.h similarity index 100% rename from ion/platform/device/registers/ltdc.h rename to ion/src/device/registers/ltdc.h diff --git a/ion/platform/device/registers/rcc.h b/ion/src/device/registers/rcc.h similarity index 100% rename from ion/platform/device/registers/rcc.h rename to ion/src/device/registers/rcc.h diff --git a/ion/platform/device/registers/registers.h b/ion/src/device/registers/registers.h similarity index 100% rename from ion/platform/device/registers/registers.h rename to ion/src/device/registers/registers.h diff --git a/ion/platform/device/registers/spi.h b/ion/src/device/registers/spi.h similarity index 100% rename from ion/platform/device/registers/spi.h rename to ion/src/device/registers/spi.h diff --git a/boot/boot.c b/ion/src/shared/boot/boot.c similarity index 100% rename from boot/boot.c rename to ion/src/shared/boot/boot.c diff --git a/boot/boot.h b/ion/src/shared/boot/boot.h similarity index 100% rename from boot/boot.h rename to ion/src/shared/boot/boot.h diff --git a/ion/src/keyboard.c b/ion/src/shared/keyboard.c similarity index 100% rename from ion/src/keyboard.c rename to ion/src/shared/keyboard.c diff --git a/ion/platform/simulator/Makefile b/ion/src/simulator/Makefile similarity index 100% rename from ion/platform/simulator/Makefile rename to ion/src/simulator/Makefile diff --git a/boot/simulator/Makefile b/ion/src/simulator/boot/Makefile similarity index 100% rename from boot/simulator/Makefile rename to ion/src/simulator/boot/Makefile diff --git a/boot/simulator/main.c b/ion/src/simulator/boot/main.c similarity index 100% rename from boot/simulator/main.c rename to ion/src/simulator/boot/main.c diff --git a/ion/platform/simulator/framebuffer.c b/ion/src/simulator/framebuffer.c similarity index 100% rename from ion/platform/simulator/framebuffer.c rename to ion/src/simulator/framebuffer.c diff --git a/ion/platform/simulator/framebuffer.h b/ion/src/simulator/framebuffer.h similarity index 100% rename from ion/platform/simulator/framebuffer.h rename to ion/src/simulator/framebuffer.h diff --git a/ion/platform/simulator/init.cpp b/ion/src/simulator/init.cpp similarity index 100% rename from ion/platform/simulator/init.cpp rename to ion/src/simulator/init.cpp diff --git a/ion/platform/simulator/platform.cpp b/ion/src/simulator/platform.cpp similarity index 100% rename from ion/platform/simulator/platform.cpp rename to ion/src/simulator/platform.cpp diff --git a/ion/platform/simulator/platform.h b/ion/src/simulator/platform.h similarity index 100% rename from ion/platform/simulator/platform.h rename to ion/src/simulator/platform.h