您尚未登录。

#1 Re: 全志 SOC » 熬了几百个通宵,终于搞定T113-s3裸奔(从boot写起,到程序运行) » 2024-04-25 21:51:02

支持音频驱动了,声音有点小,请自行调大,使用dma方式播放音频。

76235873-D95B-4E77-941D-AC57A49BE61B.jpg

板子开源了地址贴一个:

C4EF0F70-7F11-4B8D-8EF5-D1CC55CD7B40.jpg

A558BC7D-510B-49E9-A760-A3B3EB908FF1.jpg

https://oshwhub.com/t113-s3/t113-s3-funkeys

#2 全志 SOC » T113-S3 开源双核 FunKey 掌机硬件和系统 » 2024-04-25 21:35:48

evilbinary
回复: 8

我们很高兴地宣布,全新的双核FunKey开源掌机已经来了!作为一款开源硬件与软件项目的重要成果,这台掌机的发布标志着我们的团队在开源嵌入式系统领域迈出了新的一步。

介绍
FunKey 掌机是一个旨在为开发者和玩家提供全面自由度的掌上游戏设备。它不仅具备了强大的游戏性能,还拥有开放式硬件和软件架构,让用户可以尽情发挥创造力,定制自己的游戏体验。

芯片:全志T113-S3

内存128M

系统:FunKeys系统


QQ20240425-3.png

开源硬件
FunKey 掌机采用了完全开源的硬件设计,其中包括了主板、屏幕、按键、电池等关键部件。我们的硬件设计文件在开源硬件和GitHub 上开放,使得任何人都可以查看、修改和制造这台掌机,从而推动整个开源硬件社区的发展。



C4EF0F70-7F11-4B8D-8EF5-D1CC55CD7B40.jpg

A558BC7D-510B-49E9-A760-A3B3EB908FF1.jpg

开源硬件地址:
https://oshwhub.com/t113-s3/t113-s3-funkeys


开源软件
除了硬件,我们的开源团队还致力于开发一系列开源软件,包括操作系统、开发工具等。我们的操作系统基于 Linux 内核和YiYiYa,并提供了丰富的游戏开发框架,让开发者可以轻松地开发自己的游戏并在掌机上运行。


IMG_20240331_214415.jpg

828C40BF93C9.jpg

开源软件地址:

https://github.com/evilbinary/YiYiYa
https://github.com/FantasyGmm/FunKey-OS-T113

新特性
双核处理器:FunKey 掌机首次搭载双核处理器,提供更强大的计算性能和图形渲染能力,让游戏体验更加流畅。
全新外观设计:我们重新设计了掌机的外观,采用了更加时尚、符合人体工程学的设计,使得握持更加舒适,操作更加顺畅。
更大容量电池:为了满足用户长时间游戏的需求,我们增加了电池容量,延长了掌机的续航时间,让玩家可以更加尽兴地享受游戏乐趣。
复刻走起
双核 FunKey 掌机的发布不仅是我们团队的努力成果,更是开源社区的共同成就。我们鼓励更多的开发者加入到我们的项目中来,共同探索掌上游戏的无限可能性!


QQ20240425-2.png

QQ20240425-1.png

QQ20240425-0.png




复刻交流群:825088536

#3 全志 SOC » 开源双核 FunKey 掌机硬件和系统 » 2024-04-25 21:34:11

evilbinary
回复: 3

我们很高兴地宣布,全新的双核FunKey开源掌机已经来了!作为一款开源硬件与软件项目的重要成果,这台掌机的发布标志着我们的团队在开源嵌入式系统领域迈出了新的一步。

介绍
FunKey 掌机是一个旨在为开发者和玩家提供全面自由度的掌上游戏设备。它不仅具备了强大的游戏性能,还拥有开放式硬件和软件架构,让用户可以尽情发挥创造力,定制自己的游戏体验。

QQ20240425-3.png

开源硬件
FunKey 掌机采用了完全开源的硬件设计,其中包括了主板、屏幕、按键、电池等关键部件。我们的硬件设计文件在开源硬件和GitHub 上开放,使得任何人都可以查看、修改和制造这台掌机,从而推动整个开源硬件社区的发展。

C4EF0F70-7F11-4B8D-8EF5-D1CC55CD7B40.jpg

A558BC7D-510B-49E9-A760-A3B3EB908FF1.jpg

开源硬件地址:
https://oshwhub.com/t113-s3/t113-s3-funkeys


开源软件
除了硬件,我们的开源团队还致力于开发一系列开源软件,包括操作系统、游戏引擎、开发工具等。我们的操作系统基于 Linux 内核和YiYiYa,并提供了丰富的游戏开发框架,让开发者可以轻松地开发自己的游戏并在掌机上运行。

IMG_20240331_214415.jpg

828C40BF93C9.jpg

开源软件地址:

https://github.com/evilbinary/YiYiYa
https://github.com/FantasyGmm/FunKey-OS-T113

新特性
双核处理器:FunKey 掌机首次搭载双核处理器,提供更强大的计算性能和图形渲染能力,让游戏体验更加流畅。
全新外观设计:我们重新设计了掌机的外观,采用了更加时尚、符合人体工程学的设计,使得握持更加舒适,操作更加顺畅。
更大容量电池:为了满足用户长时间游戏的需求,我们增加了电池容量,延长了掌机的续航时间,让玩家可以更加尽兴地享受游戏乐趣。
复刻走起
双核 FunKey 掌机的发布不仅是我们团队的努力成果,更是开源社区的共同成就。我们鼓励更多的开发者加入到我们的项目中来,共同探索掌上游戏的无限可能性!


QQ20240425-2.png

QQ20240425-1.png

QQ20240425-0.png




快来加入我们的社区,一起打造更加开放、自由的游戏世界吧!qq:825088536

#4 Re: 全志 SOC » 搞了一个T113S3裸机代码(copy xboot和awboot),遇到定时器中断一直触发不了。。。 » 2024-04-10 09:20:18

跳转是cpu得功能啊,你只管配置好中断地址,中断地址看这个void interrutp_set(int i) 

#5 Re: 全志 SOC » 搞了一个T113S3裸机代码(copy xboot和awboot),遇到定时器中断一直触发不了。。。 » 2024-04-09 08:37:53

lyy 说:

@evilbinary  这个代码里有中断吗,好像没找到

有的你搜void interrupt_regist(u32 vec, interrupt_handler_t handler) 

#6 全志 SOC » 熬了几百个通宵,终于搞定T113-s3裸奔(从boot写起,到程序运行) » 2024-04-05 08:44:34

evilbinary
回复: 9

828C40BF93C9.jpg
克隆项目

git clone https://github.com/evilbinary/YiYiYa.git
make pull

安装构建工具

pip install yymake
ya -m debug -p t113-s3 -r t113-s3

1712277177515.jpg


运行


#7 Re: 全志 SOC » 搞了一个T113S3裸机代码(copy xboot和awboot),遇到定时器中断一直触发不了。。。 » 2024-04-04 23:29:13

lyy 说:

@zm 大佬,我现在也遇到中断触发不了的问题了,能加个联系方式,聊一聊吗,已经自己做T113的裸机几个月了,问题很多呀

已经实现t113-s,3裸奔,参考这个项目

https://github.com/evilbinary/duck/blob/main/platform/t113-s3/init.c#L97-L97

IMG_20240331_215904.jpg

#8 Re: 全志 SOC » 熬了几百个通宵,终于搞定V3S裸奔(从boot写起,到程序运行) » 2023-12-30 12:25:39

armstrong 说:

楼主的yiyiya os是什么类型的OS?是posix接口的OS吗?为什么称之为裸机呢?

是这样的,posix不是必须的,随时可以丢弃,这样就是裸机了

#9 全志 SOC » 熬了几百个通宵,终于搞定V3S裸奔(从boot写起,到程序运行) » 2023-12-26 00:58:16

evilbinary
回复: 12

E688359B38CBF17F9CB6D0B619C31D27.jpg

克隆项目

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

运行效果图

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn