页次: 1
我们很高兴地宣布,全新的双核FunKey开源掌机已经来了!作为一款开源硬件与软件项目的重要成果,这台掌机的发布标志着我们的团队在开源嵌入式系统领域迈出了新的一步。
介绍
FunKey 掌机是一个旨在为开发者和玩家提供全面自由度的掌上游戏设备。它不仅具备了强大的游戏性能,还拥有开放式硬件和软件架构,让用户可以尽情发挥创造力,定制自己的游戏体验。
芯片:全志T113-S3
内存128M
系统:FunKeys系统
开源硬件
FunKey 掌机采用了完全开源的硬件设计,其中包括了主板、屏幕、按键、电池等关键部件。我们的硬件设计文件在开源硬件和GitHub 上开放,使得任何人都可以查看、修改和制造这台掌机,从而推动整个开源硬件社区的发展。
开源硬件地址:
https://oshwhub.com/t113-s3/t113-s3-funkeys
开源软件
除了硬件,我们的开源团队还致力于开发一系列开源软件,包括操作系统、开发工具等。我们的操作系统基于 Linux 内核和YiYiYa,并提供了丰富的游戏开发框架,让开发者可以轻松地开发自己的游戏并在掌机上运行。
开源软件地址:
https://github.com/evilbinary/YiYiYa
https://github.com/FantasyGmm/FunKey-OS-T113
新特性
双核处理器:FunKey 掌机首次搭载双核处理器,提供更强大的计算性能和图形渲染能力,让游戏体验更加流畅。
全新外观设计:我们重新设计了掌机的外观,采用了更加时尚、符合人体工程学的设计,使得握持更加舒适,操作更加顺畅。
更大容量电池:为了满足用户长时间游戏的需求,我们增加了电池容量,延长了掌机的续航时间,让玩家可以更加尽兴地享受游戏乐趣。
复刻走起
双核 FunKey 掌机的发布不仅是我们团队的努力成果,更是开源社区的共同成就。我们鼓励更多的开发者加入到我们的项目中来,共同探索掌上游戏的无限可能性!
复刻交流群:825088536
我们很高兴地宣布,全新的双核FunKey开源掌机已经来了!作为一款开源硬件与软件项目的重要成果,这台掌机的发布标志着我们的团队在开源嵌入式系统领域迈出了新的一步。
介绍
FunKey 掌机是一个旨在为开发者和玩家提供全面自由度的掌上游戏设备。它不仅具备了强大的游戏性能,还拥有开放式硬件和软件架构,让用户可以尽情发挥创造力,定制自己的游戏体验。
开源硬件
FunKey 掌机采用了完全开源的硬件设计,其中包括了主板、屏幕、按键、电池等关键部件。我们的硬件设计文件在开源硬件和GitHub 上开放,使得任何人都可以查看、修改和制造这台掌机,从而推动整个开源硬件社区的发展。
开源硬件地址:
https://oshwhub.com/t113-s3/t113-s3-funkeys
开源软件
除了硬件,我们的开源团队还致力于开发一系列开源软件,包括操作系统、游戏引擎、开发工具等。我们的操作系统基于 Linux 内核和YiYiYa,并提供了丰富的游戏开发框架,让开发者可以轻松地开发自己的游戏并在掌机上运行。
开源软件地址:
https://github.com/evilbinary/YiYiYa
https://github.com/FantasyGmm/FunKey-OS-T113
新特性
双核处理器:FunKey 掌机首次搭载双核处理器,提供更强大的计算性能和图形渲染能力,让游戏体验更加流畅。
全新外观设计:我们重新设计了掌机的外观,采用了更加时尚、符合人体工程学的设计,使得握持更加舒适,操作更加顺畅。
更大容量电池:为了满足用户长时间游戏的需求,我们增加了电池容量,延长了掌机的续航时间,让玩家可以更加尽兴地享受游戏乐趣。
复刻走起
双核 FunKey 掌机的发布不仅是我们团队的努力成果,更是开源社区的共同成就。我们鼓励更多的开发者加入到我们的项目中来,共同探索掌上游戏的无限可能性!
快来加入我们的社区,一起打造更加开放、自由的游戏世界吧!qq:825088536
跳转是cpu得功能啊,你只管配置好中断地址,中断地址看这个void interrutp_set(int i)
@evilbinary 这个代码里有中断吗,好像没找到
有的你搜void interrupt_regist(u32 vec, interrupt_handler_t handler)
克隆项目
git clone https://github.com/evilbinary/YiYiYa.git
make pull
安装构建工具
pip install yymake
ya -m debug -p t113-s3 -r t113-s3
运行
@zm 大佬,我现在也遇到中断触发不了的问题了,能加个联系方式,聊一聊吗,已经自己做T113的裸机几个月了,问题很多呀
已经实现t113-s,3裸奔,参考这个项目
https://github.com/evilbinary/duck/blob/main/platform/t113-s3/init.c#L97-L97
楼主的yiyiya os是什么类型的OS?是posix接口的OS吗?为什么称之为裸机呢?
是这样的,posix不是必须的,随时可以丢弃,这样就是裸机了
克隆项目
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
运行效果图
@kiss
咋刷机的,没有后续了呢?
页次: 1