克隆项目
git clone https://github.com/evilbinary/YiYiYa.git
make pull
安装构建工具
pip install yymake
ya -m debug -p v3s -run=v3s
编译
ya -m debug -p v3s -run=v3s
welcome to use ymake 0.7.3 ,make world happy ^_^!!
tinyusb todo support
[1%]:compile target archcommon
[2%]:compile target platform
[2%]:compile target arch
[3%]:compile target algorithm
[4%]:compile target kernel
[5%]:compile target gcc
[6%]:compile target mod-queue
[6%]:compile target mod-devfs
[7%]:compile target mod-bcm
[8%]:compile target musl
[9%]:compile target mod-debug
[9%]:compile target mod-gaga
[10%]:compile target mod-musl
[11%]:compile target mod-ipc
[12%]:compile target mod-pty
[13%]:compile target mod-log
[13%]:compile target mod-gpio
[14%]:compile target mod-rtc
[15%]:compile target mod-sdhci
[16%]:compile target mod-mouse
[17%]:compile target mod-gpu
[17%]:compile target mod-fat
[18%]:compile target mod-test
[19%]:compile target mod-posix
[20%]:compile target mod-loader
[20%]:compile target mod-spi
[21%]:compile target mod-i2c
[22%]:compile target mod-serial
[23%]:compile target zlib
[24%]:compile target kernelcommon
[24%]:compile target modules
[25%]:compile target png
[26%]:compile target jpeg
arm-none-eabi-ld build/v3s/armv7-a/debug/objs/duck/init/main.o build/v3s/armv7-a/debug/objs/duck/init/module.o build/v3s/armv7-a/debug/objs/duck/init/init.o build/v3s/armv7-a/debug/objs/duck/init/monitor.o build/v3s/armv7-a/debug/objs/duck/init/test.o -o build/v3s/armv7-a/debug/kernel.elf -Lbuild/v3s/armv7-a/debug -T/Users/evil/dev/c/YiYiYa/duck/xlinker/link-v3s.ld -lmod-serial -lmod-i2c -lmod-spi -lmod-loader -lmod-posix -lmod-test -lmod-fat -lmod-gpu -lmod-mouse -lmod-sdhci -lmod-rtc -lmod-gpio -lmod-log -lmod-pty -lmod-ipc -lmod-musl -lmod-gaga -lmod-debug -lmod-bcm -lmod-devfs -lmod-queue -lkernel -lalgorithm -larch -lplatform -larchcommon -lkernelcommon
arm-none-eabi-ld: 警告: 无法找到项目符号 _kstart; 缺省为 42000000
[26.100%]:compile target build/v3s/armv7-a/debug/kernel.elf
arm-none-eabi-objcopy -S build/v3s/armv7-a/debug/kernel.elf build/v3s/armv7-a/debug/kernel
arm-none-eabi-objcopy --only-keep-debug build/v3s/armv7-a/debug/kernel.elf build/v3s/armv7-a/debug/kernel.dbg
arm-none-eabi-objcopy -O binary -S build/v3s/armv7-a/debug/kernel.elf build/v3s/armv7-a/debug/kernel.bin
[27%]:compile target kernel.elf
[28%]:compile target gui
kernel gen target boot-config
file-> build/v3s/armv7-a/debug/kernel
kernel gen start build/v3s/armv7-a/debug/kernel
file size 173124 kernel size 175104 block size 171
generated header file success. /Users/evil/dev/c/YiYiYa/boot/arm/config.h
[28%]:compile target boot-config
[29%]:compile target sdl2
[30%]:compile target lz4
[31%]:compile target uuid
[31%]:compile target ncurses
[32%]:compile target lvgl
[33%]:compile target freetype
arm-none-eabi-ld build/v3s/armv7-a/debug/objs/boot/arm/boot-armv7-a.o build/v3s/armv7-a/debug/objs/boot/arm/init.o -o build/v3s/armv7-a/debug/boot-init.elf -Lbuild/v3s/armv7-a/debug -T/Users/evil/dev/c/YiYiYa/boot/arm/link-v3s.ld -lkernelcommon -lmod-serial -lmod-i2c -lmod-spi -lmod-loader -lmod-posix -lmod-test -lmod-fat -lmod-gpu -lmod-mouse -lmod-sdhci -lmod-rtc -lmod-gpio -lmod-log -lmod-pty -lmod-ipc -lmod-musl -lmod-gaga -lmod-debug -lmod-bcm -lmod-devfs -lmod-queue -lkernel -lalgorithm -larch -lplatform -larchcommon
arm-none-eabi-ld: warning: build/v3s/armv7-a/debug/boot-init.elf has a LOAD segment with RWX permissions
[33.100%]:compile target build/v3s/armv7-a/debug/boot-init.elf
arm-none-eabi-objcopy -O binary build/v3s/armv7-a/debug/boot-init.elf build/v3s/armv7-a/debug/boot-init.bin
[34%]:compile target boot-init.elf
[35%]:compile target gaga
[35%]:compile target sdl
[36%]:compile target sdl2-image
[37%]:compile target quickjs
[38%]:compile target chez
[39%]:compile target lua
[39%]:compile target lvqrcode
[40%]:compile target image
[41%]:compile target sdl2-ttf
[42%]:compile target lvgl-8.0.0
[43%]:compile target etk
[43%]:compile target cmocka
[44%]:compile target webp
mkimage -f build/v3s/armv7-a/debug/kernel-v3s.its build/v3s/armv7-a/debug/duck.fit
FIT description: Simple image with single duck kernel
Created: Mon Dec 25 01:36:34 2023
Image 0 (setup)
Description: YiYiYa init
Created: Mon Dec 25 01:36:34 2023
Type: Kernel Image
Compression: uncompressed
Data Size: 5224 Bytes = 5.10 kB = 0.00 MB
Architecture: ARM
OS: Linux
Load Address: 0x00000000
Entry Point: 0x00000000
Hash algo: sha1
Hash value: 4d5ae7867d67f7ab561e7cc7061788e9f187b181
Image 1 (kernel)
Description: YiYiYa kernel
Created: Mon Dec 25 01:36:34 2023
Type: RAMDisk Image
Compression: uncompressed
Data Size: 173124 Bytes = 169.07 kB = 0.17 MB
Architecture: ARM
OS: Linux
Load Address: 0x40000000
Entry Point: 0x40000000
Hash algo: crc32
Hash value: 1811acee
Hash algo: sha1
Hash value: 5ee9ee2bb71e1a7b593a63accd781516b77f0dfe
Default Configuration: 'config-1'
Configuration 0 (config-1)
Description: YiYiYa init
Kernel: setup
Init Ramdisk: kernel
Configuration 1 (config-2)
Description: YiYiYa kernel
Kernel: kernel
[45%]:compile target duck.fit
[46%]:compile target disk.img
[46%]:compile target duck.img
[47%]:compile target mod-pic
[48%]:compile target systemd
[49%]:compile target vfsd
[50%]:compile target serviceb
[50%]:compile target servicea
[51%]:compile target tinyusb
[52%]:compile target testbitmap
[53%]:compile target testoverlay2
[54%]:compile target testoverlay
[54%]:compile target testwm
[55%]:compile target watch
[56%]:compile target gnuboy
[57%]:compile target qjs
[57%]:compile target qjsc
[58%]:compile target scheme
[59%]:compile target lua.elf
[60%]:compile target mgba
[61%]:compile target launcher
[61%]:compile target infones
[62%]:compile target sdl2.elf
[63%]:compile target showfont
[64%]:compile target showimage
[65%]:compile target track
[65%]:compile target lvgl.elf
[66%]:compile target etk.elf
[67%]:compile target microui
[68%]:compile target pngtest
[69%]:compile target test-thread
[69%]:compile target test-sys
[70%]:compile target test-sound
[71%]:compile target test-free
[72%]:compile target test-fork
[72%]:compile target test-stdio
[73%]:compile target test-string
[74%]:compile target test-uncompress
[75%]:compile target test-mem
[76%]:compile target test-file
[76%]:compile target test-musl
[77%]:compile target test
[78%]:compile target hello
[79%]:compile target gui.elf
[80%]:compile target touch
[80%]:compile target shell
[81%]:compile target ls
[82%]:compile target kill
[83%]:compile target hexdump
[83%]:compile target echo
[84%]:compile target date
[85%]:compile target cat
[86%]:compile target sdl-image
[87%]:compile target sdl-ttf
[87%]:compile target v3s
[88%]:compile target raspi2
[89%]:compile target qemu
[90%]:compile target debug
[91%]:compile target uImage.img
[91%]:compile target mod-keyboard
[92%]:compile target mod-vga
[93%]:compile target mod-sb16
[94%]:compile target mod-hello
[94%]:compile target mod-dma
[95%]:compile target mod-fat32
[96%]:compile target mod-lcd
[97%]:compile target mod-ewok
[98%]:compile target mod-net
[98%]:compile target mod-ahci
[99%]:compile target mod-pci
[100%]:compile target mod-fatfs
build success! cost 0:00:01.302443
run v3s fel build/v3s/armv7-a/debug/duck.fit
AWUSBFEX soc=00001681(V3s) 00000001 ver=0001 44 08 scratchpad=00007e00 00000000 00000000
串口中输入运行
infones mario.nes
boot
Hello,YiYiYa OS
display init
test display hello,YiYiYa
interrupt init cpu 0
mm init
phy dump
base:0 0 lenght:0 40000000 type:1
total memory 1024m 1048576k
alloc init
kernel base 100000 end 14b800
add block:0 type:1 size:1048552 start: 18 end:100000
add block:14b800 type:1 size:1072383976 start: 14b818 end:40000000
[00000000] tid:0 info exception init
[00000000] tid:0 info page init
map mem block start
map mem block addr range 14b800 - 285b800
map mem range
map mem kernel
map kernel start
map kernel 0 range 100000 - 1245da type 1
map kernel 1 range 125000 - 134228 type 1
map kernel end 2
[00000000] tid:0 info page enable page: 14c000
enable page
paging success
[00000000] tid:0 info page enable end
[00000000] tid:0 info syscall init
[00000000] tid:0 info schedule init
timer init
cntfrq 62500
val 59063
[00000000] tid:0 info module init
[00000000] tid:0 info memory init
[00000000] tid:0 info vfs init
[00000000] tid:0 info thread init
[00000000] tid:0 info event init
[00000000] tid:0 info kernel init end
[00000000] tid:0 debug tid 0 kpage 14c000 upage 14c000
[00000000] tid:0 debug tid 0 ksp 18c628 usp 90100000
[00000000] tid:0 debug tid 1 kpage 14c000 upage 194000
[00000000] tid:0 debug tid 1 ksp 19113c usp 70100000
[00000000] tid:0 info kernel run start
[00000001] tid:0 info module regist
[00000022] tid:0 info module regist end
[00000024] tid:0 info module run devfs
[00000026] tid:0 warn not fond device 0
[00000027] tid:0 warn not fond device 2
[00000028] tid:0 warn not fond device 3
[00000029] tid:0 warn not fond device 6
[00000031] tid:0 warn not fond device 22
[00000033] tid:0 info module run serial
[00000037] tid:0 info module run i2c
[00000038] tid:0 info i2c init
[00000039] tid:0 info module run gpio
[00000040] tid:0 info gpio init
[00000041] tid:0 info module run spi
[00000063] tid:0 debug spi
[00000063] tid:0 info module run vga
[00000065] tid:0 debug map box 3f00b000
[00000067] tid:0 debug fb addr:3c100000 end:3d0f0000 len:3fc000
[00000069] tid:0 debug map fb start 3c100000 3c100000
[00000071] tid:0 debug map fb end 3c4fc000 3c4fc000
[00000072] tid:0 info gpu_init_device end
[00000074] tid:0 info module run mouse
[00000075] tid:0 info module run sdhci
[00000077] tid:0 info sdhci_init
[00000104] tid:0 info module run fat
[00000105] tid:0 info fat init
[00000108] tid:0 debug empty partition entry
[00000109] tid:0 info partition type:ff offset:0 length:0
[00000112] tid:0 info fat init end
[00000113] tid:0 info module run test
[00000114] tid:0 info test hello
[00000116] tid:0 info module run rtc
[00000117] tid:0 info module run posix
[00000118] tid:0 info posix init
[00000120] tid:0 info module run pty
[00000121] tid:0 info module run log
[00000142] tid:0 info module run loader
[00000143] tid:0 debug loader init
[00000144] tid:0 info module run musl
[00000145] tid:0 info musl init
[00000146] tid:0 info enable float
[00000147] tid:0 info module run gaga
[00000150] tid:0 debug gaga init
[00000153] tid:0 info module run ytrace
_ _ _ _ _ _
| || || | || || |
| \| |/ | \| |/ __ __
\_ _/ \_ _/ \/ /
| | | |( () <
|_| |_| \__/\_\
2021 - 2080 Copyright by evilbinary
version 1.4 Dec 26 2023 00:26:29
https://github.com/evilbinary/YiYiYa
Welcome to YiYiYa Os ^_^!
yiyiya$[00000164] tid:1 debug sys open new name: /dev/series addr:121260 fd:2 fd->id:2 ptr:126bfc fd->name:/dev/series
[00000165] tid:1 debug sys open new name: / addr:12126c fd:3 fd->id:3 ptr:126c14 fd->name:/
yiyiya$
yiyiya$infones mario.nes
[00007743] tid:1 debug sys access not impl /bin/infones
[00007743] tid:1 debug sys open new name: /bin/infones addr:700ffef4 fd:3 fd->id:4 ptr:126c2c fd->name:/bin/infones
[00007744] tid:1 debug thread copy start
[00007744] tid:1 debug thread init default
[00007744] tid:1 debug tid 2 kpage 14c000 upage 1e8000
[00007744] tid:1 debug tid 2 ksp 1e7d4c usp 70100000
[00007744] tid:1 debug thread copy end
[00007745] tid:1 debug sys get pid 1
yiyiya$[00007752] tid:2 debug sys get pid 2
[00007753] tid:2 debug sys exec file /bin/infones addr 700ffef4 tid name init
[00007753] tid:2 debug sys open new name: /bin/infones addr:700ffef4 fd:3 fd->id:4 ptr:126c2c fd->name:/bin/infones
[00007753] tid:2 debug argv[0]=infones 700ffdf4
[00007753] tid:2 debug argv[1]=mario.nes 700ffdf8
[00007753] tid:2 debug envp 0 argc 2
[00007754] tid:2 debug sys open new name: /bin/infones addr:700ffef4 fd:3 fd->id:4 ptr:126c2c fd->name:/bin/infones
[00007760] tid:2 debug sys fn faild f0005
[00007760] tid:2 debug sys set thread area not impl
[00007761] tid:2 debug sys set tid adress not impl
[00007782] tid:2 debug sys open new name: /dev/stdin addr:7106912c fd:4 fd->id:0 ptr:126bcc fd->name:/dev/stdin
[00007783] tid:2 debug sys open new name: /dev/fb addr:71069140 fd:5 fd->id:5 ptr:126c44 fd->name:/dev/fb
screen init fd:5
[00007787] tid:2 debug map box 3f00b000
[00007787] tid:2 debug fb addr:3c100000 end:3d0f0000 len:3fc000
[00007787] tid:2 debug map fb start 3c100000 3c100000
[00007787] tid:2 debug map fb end 3c4fc000 3c4fc000
[00007787] tid:2 info gpu_init_device end
screen init 480x272 bpp:32 fb count:1 len:1880096768 buffer len:0
[00007789] tid:2 debug sys open name return : /dev/stdin fd: 4
[00007790] tid:2 debug sys open new name: /dev/mouse addr:71069270 fd:6 fd->id:6 ptr:126c5c fd->name:/dev/mouse
[00007795] tid:2 debug sys open new name: mario.nes addr:711202fc fd:7 fd->id:7 ptr:126c74 fd->name:mario.nes
InfoNES_SoundOpen: samples_per_sync=735, sample_rate=44100
运行效果图
最近编辑记录 evilbinary (2023-12-26 23:01:38)
离线
楼主的yiyiya os是什么类型的OS?是posix接口的OS吗?为什么称之为裸机呢?
是这样的,posix不是必须的,随时可以丢弃,这样就是裸机了
离线