From 5ba5ebc8bead73e22378a3843b75433eca4e036e Mon Sep 17 00:00:00 2001 From: "parai.wang" Date: Wed, 16 Aug 2017 15:47:15 +0800 Subject: [PATCH] x86: host machine native gcc support and use qemu to run --- bsp/x86/Makefile | 16 ++++++++++++++++ bsp/x86/drivers/board.c | 9 ++++++++- bsp/x86/rtconfig.py | 12 ++++++------ 3 files changed, 30 insertions(+), 7 deletions(-) create mode 100644 bsp/x86/Makefile diff --git a/bsp/x86/Makefile b/bsp/x86/Makefile new file mode 100644 index 000000000..7e814fb42 --- /dev/null +++ b/bsp/x86/Makefile @@ -0,0 +1,16 @@ + +all:floppy.img + scons + mkdir -p tmp + sudo mount -t vfat floppy.img tmp -o loop + sudo cp rtthread.elf tmp/boot/oskernel + sudo umount tmp + +clean: + scons -c clean + +floppy.img: + wget https://github.com/bajdcc/tinix/raw/master/floppy.img + +run: + qemu-system-i386 -fda floppy.img -boot a -m 64M diff --git a/bsp/x86/drivers/board.c b/bsp/x86/drivers/board.c index 29589b071..4d91604ab 100644 --- a/bsp/x86/drivers/board.c +++ b/bsp/x86/drivers/board.c @@ -71,5 +71,12 @@ void reboot(void) } FINSH_FUNCTION_EXPORT(reboot, reboot PC) #endif - +#ifdef RT_USING_DFS +#include +time_t time(time_t* tm) +{ + (void)tm; + return 0; +} +#endif /*@}*/ diff --git a/bsp/x86/rtconfig.py b/bsp/x86/rtconfig.py index 981996992..e99ddfe32 100644 --- a/bsp/x86/rtconfig.py +++ b/bsp/x86/rtconfig.py @@ -32,20 +32,20 @@ BUILD = 'debug' if PLATFORM == 'gcc': # toolchains - PREFIX = 'i686-elf-' - CC = PREFIX + 'gcc' - AS = PREFIX + 'gcc' + PREFIX = '' + CC = PREFIX + 'gcc -m32 -fno-builtin -fno-stack-protector' + AS = PREFIX + 'gcc -m32' AR = PREFIX + 'ar' - LINK = PREFIX + 'gcc' + LINK = PREFIX + 'ld -melf_i386' TARGET_EXT = 'elf' SIZE = PREFIX + 'size' OBJDUMP = PREFIX + 'objdump' OBJCPY = PREFIX + 'objcopy' - DEVICE = ' -mtune=generic' + DEVICE = '' CFLAGS = DEVICE + ' -Wall' AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp' - LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread-ia32.map,-cref,-u,_start -T x86_ram.lds -nostdlib' + LFLAGS = DEVICE + ' -Map rtthread-ia32.map -T x86_ram.lds -nostdlib' CPATH = '' LPATH = ''