Feat: lab 3 w/o adv 2

This commit is contained in:
2025-03-26 15:30:57 +08:00
parent 98327b148a
commit e2ebb6cc34
25 changed files with 618 additions and 113 deletions

View File

@@ -10,6 +10,7 @@ QEMUFLAGS += -M raspi3b -display none -serial null
CC := $(GNU)-gcc
CCFLAGS += -Wall -Wextra -O0 \
-mcpu=cortex-a53+nofp+nosimd \
-nostdinc -nostdlib -nostartfiles -nodefaultlibs \
-Wno-unused-parameter -Wno-unused-value -Wno-main -g
LD := $(GNU)-ld
@@ -55,7 +56,7 @@ all: $(CPIO)
build: $(IMG)
$(CPIO): $(shell find $(ROOTFS_DIR)) userprog
cp userprog.img $(ROOTFS_DIR)/userprog
cp userprog/userprog $(ROOTFS_DIR)/userprog
cd $(ROOTFS_DIR) && find . | cpio -o -H newc > ../$@
$(IMG): $(ELF)
@@ -74,9 +75,9 @@ $(ELF): $(LD_SCRIPT) $(TARGET_OBJS) $(OBJS)
clean:
-rm $(OBJS) $(CPIO) $(ROOTFS_DIR)/userprog
$(MAKE) $(MAKEFLAGS) -C userprog clean
$(MAKE) $(MAKEFLAGS) clean_target TARGET_DIR=kernel TARGET=kernel8
$(MAKE) $(MAKEFLAGS) clean_target TARGET_DIR=bootloader TARGET=bootloader
$(MAKE) $(MAKEFLAGS) clean_target TARGET_DIR=userprog TARGET=userprog
clean_target:
-rm $(TARGET_OBJS) $(ELF) $(IMG)
@@ -90,10 +91,10 @@ kernel: $(CPIO)
bootloader: $(CPIO)
$(MAKE) $(MAKEFLAGS) build TARGET_DIR=bootloader TARGET=bootloader
$(QEMU) -kernel bootloader.img $(QEMUFLAGS)
$(QEMU) -kernel bootloader.img $(QEMUFLAGS) -serial stdio
userprog:
$(MAKE) $(MAKEFLAGS) build TARGET_DIR=userprog TARGET=userprog
$(MAKE) $(MAKEFLAGS) -C userprog
debug: $(CPIO)
$(MAKE) $(MAKEFLAGS) build TARGET_DIR=kernel TARGET=kernel8