tpunix / SAROO

SAROO is a SEGA Saturn HDloader
294 stars 36 forks source link

请教下如何为FPGA下载程序?我使用USB BLASTER遇到一些问题 #38

Closed xiuhui-wang closed 1 month ago

xiuhui-wang commented 7 months ago

您好,很抱歉打扰您,我复刻了这个项目,但是在FPGA烧录程序这里遇到了问题。

1.我编译了 FPGA的固件,他提示成功,但是在我点PROGRAMMER按钮后,对话框显示 CANNOT OPEN FILE C:XXXX/FPGA/SSMASTER.CDF。。。。。 1701697839283

  1. 但我最大的问题,我已经在这里研究了2天了,依然无法下载固件到FPGA中,我短接了 R6与R20,R7与R21是断开的,请问这是正确的么?

3.固件程序是要下载到U8中么?因为我现在不确定是我的FPGA芯片还是FLASH芯片的问题。。。。

很抱歉问这么简单的问题。。。

另外我检查了,3组电压,3.3V 2.5V 1.2V都存在。 也测试了50M的晶振工作正常。。。。

xiuhui-wang commented 7 months ago

一直显示无法连接,请教一下有什么需要注意的地方的么?

a2 A3

xiuhui-wang commented 7 months ago

我拆除了2个芯片,又外接了 3.3V 与1.2V的电源。。。 目前问题依旧,是不是我的下载器有问题呢?我用他下载 CPLD 是没问题的 可以下载。。。。 目前卡死在这里 几天了 c51e059a497681bd547fd8a2320602f 57ea0a79e1970c3f9b11fa2e0bd4a6d

tpunix commented 7 months ago

FPGA固件是写到U8里面的,你把它拆了吗? 另外,先写MCU固件再看看。

xiuhui-wang commented 7 months ago

mcu的固件我已经写进去了,会有一个 LED 一直闪啊闪的。 U8 拆不拆我都写不进去。。。。 有没有其他手段? 比如我用 编程器直接写U8。。。。 我的 USB BLASTER 就是 淘宝最便宜的那种, 目前我又订购了一个编程器看看。。。。 目前不确定是 PCB板子,芯片或者编程器的问题。。。 U8 我使用 编程器检测过,虽然是翻新的但是可以正常工作。。。 44a0c050d21f813d4711f13edda59e5

tzmwx commented 7 months ago

https://github.com/tpunix/SAROO/issues/2#issuecomment-1642263770

这里有用编程器直接烧录U8的固件

tpunix commented 7 months ago

如果电压正常,晶振正常,还连不上,只能怀疑是芯片或焊接问题。

xiuhui-wang commented 7 months ago

如果电压正常,晶振正常,还连不上,只能怀疑是芯片或焊接问题。

我已经确定我其中的一个 USB Blaster 不能使用,里面是WCH芯片的,上电只有一个LED红灯。虽然他可以下载CPLD,因为我又买了一套开发板。

xiuhui-wang commented 7 months ago

目前我在研究芯片与焊接问题。。。 解决后我会更新。。。 R6 与 R20 接0R 是正确的吧?

tzmwx commented 7 months ago

目前我在研究芯片与焊接问题。。。 解决后我会更新。。。 R6 与 R20 接0R 是正确的吧?

看我发你的连接,你直接编程器写好U8,看能不能点亮D2

xiuhui-wang commented 7 months ago

目前我在研究芯片与焊接问题。。。 解决后我会更新。。。 R6 与 R20 接0R 是正确的吧?

看我发你的连接,你直接编程器写好U8,看能不能点亮D2

我烧录了U8,使用编程器,但是遗憾的是D2 不能点亮。。。。 1701839096771

tzmwx commented 7 months ago

确认烧录了ssmaster.rbf.bin点不亮D2说明可能flash与fpga有电路不通,或者是FPGA芯片的问题。内存有没有贴回去?

要不就用串口接saroo右上角看一下数据,速度10000,看看报错数据

xiuhui-wang commented 7 months ago

确认烧录了ssmaster.rbf.bin点不亮D2说明可能flash与fpga有电路不通,或者是FPGA芯片的问题。内存有没有贴回去?

要不就用串口接saroo右上角看一下数据,速度10000,看看报错数据

目前LED的状态 是 LED1 闪几下 然后 红色的 长亮 其他LED 不亮

SSMaster start! 20231203

No SDCARD insert! disk_read: pdrv=0 sector=00000000 count=1 retv=ffffffff disk_read: pdrv=0 sector=00000000 count=1 retv=ffffffff disk_read: pdrv=0 sector=00000000 count=1 retv=ffffffff disk_read: pdrv=0 sector=00000000 count=1 retv=ffffffff Mount SDFS: 00000001

FPGA config done! FPGA state: config done: 1 init done: 1 status: 1

disk_read: pdrv=0 sector=00000000 count=1 retv=ffffffff disk_read: pdrv=0 sector=00000000 count=1 retv=ffffffff disk_read: pdrv=0 sector=00000000 count=1 retv=ffffffff disk_read: pdrv=0 sector=00000000 count=1 retv=ffffffff disk_read: pdrv=0 sector=00000000 count=1 retv=ffffffff disk_read: pdrv=0 sector=00000000 count=1 retv=ffffffff disk_read: pdrv=0 sector=00000000 count=1 retv=ffffffff disk_read: pdrv=0 sector=00000000 count=1 retv=ffffffff NO bootrom file found! stm32>

tzmwx commented 7 months ago

红色是D2? led1开机就闪烁是没有检测到tf卡 看你的串口信息应该是只要将(saroo主页右侧下载的)0.1版的ramimage.bin拷贝到fat32格式的tf卡根目录插上土星开机即可 第一次使用多插拔几次,确保接触良好

此卡有+5V电源输入时,你要确保D1(闪烁或常亮)和D2常亮基本就好了 D3必须进入saroo菜单后才会亮

xiuhui-wang commented 7 months ago

红色是D2? led1开机就闪烁是没有检测到tf卡 看你的串口信息应该是只要将(saroo主页右侧下载的)0.1版的ramimage.bin拷贝到fat32格式的tf卡根目录插上土星开机即可 第一次使用多插拔几次,确保接触良好

此卡有+5V电源输入时,你要确保D1(闪烁或常亮)和D2常亮基本就好了 D3必须进入saroo菜单后才会亮

SSMaster start! 20231203

SDCARD insert! CMD_08: retv=00000000 resp0=000001aa V2.0: Yes SDHC: Yes Name: SS08G Blen: 512 Blks: 15523840 Size: 7761920 K CMD_07: resp=00000700 CMD_16: resp=00000900 ACMD06: resp=00000920 CMD13: resp=00000900 Mount SDFS: 00000000

FPGA config done! FPGA state: config done: 1 init done: 1 status: 1

这是我目前的状态,D1已经常亮,其他的都不亮。。。 难道是我D2损坏了?

tzmwx commented 7 months ago

那估计你的fpga芯片问题,或者焊接不良

提醒一下,这卡的fpga和内存芯片绝对不要从tb去购买

xiuhui-wang commented 7 months ago

那估计你的fpga芯片问题,或者焊接不良

提醒一下,这卡的fpga和内存芯片绝对不要从tb去购买

已经在淘宝购买了。。。。。。 内存芯片 感觉不像是翻新的 FPGA 就是那家13块包邮的 我已经买了5个了。。。。。FLASH SST 那个 是重新打字的。。。。

xiuhui-wang commented 7 months ago

目前还是不行,插在机器里 跟没插一样,还需要继续寻找问题的答案 而且依然无法通过JTAG 连接到芯片。。。。。。。。

tzmwx commented 7 months ago

点灯顺序D1、D2亮后才有D3亮 建议重新做一下BGA看看,不行就换芯片,换大品牌供应商的芯片

xiuhui-wang commented 7 months ago

目前我在研究芯片与焊接问题。。。 解决后我会更新。。。 R6 与 R20 接0R 是正确的吧?

看我发你的连接,你直接编程器写好U8,看能不能点亮D2

OK 我现在写一下

点灯顺序D1、D2亮后才有D3亮 建议重新做一下BGA看看,不行就换芯片,换大品牌供应商的芯片

是的目前我正在尝试换芯片,应该是装不装内存芯片都可以 连上 FPGA吧? 因为我现在不确定他俩哪个又问题 我需要先确认出一个

xiuhui-wang commented 7 months ago

我重新又弄了一个 新的 FPGA 现在我亮了两个灯了 D1 D2 目前D3 依然不亮。。。。 我想问下 背面的 FLASH U13 需要焊接么? 看着貌似焊盘有点窄。。。

xiuhui-wang commented 7 months ago

SSMaster start! 20231203

SDCARD insert! CMD_08: retv=00000000 resp0=000001aa V2.0: Yes SDHC: Yes Name: SS08G Blen: 512 Blks: 15523840 Size: 7761920 K CMD_07: resp=00000700 CMD_16: resp=00000900 ACMD06: resp=00000920 CMD13: resp=00000900 Mount SDFS: 00000000

FPGA config done! FPGA state: config done: 1 init done: 0 status: 1

Found Saturn bootrom file. Size 00060000 f_read: retv=0 rv=00060000 stm32> Total discs: 1

这是我目前的状态,我安装了一个游戏,界面是自动出现的么? 还是需要进行什么特殊的操作?

xiuhui-wang commented 7 months ago

与我这些芯片有关系么?

43a17c18758b5ab26bd7b5b1553622b

tzmwx commented 7 months ago

U7和U13是不需要的,可以不用 D3需要saroo和土星建立通讯后才会亮,D3亮后土星也会进到saroo菜单了

所以现在你要做的是检查为什么没有建立通讯,可能:1卡槽接触不良;2四片电平芯片164245焊接不良或损坏;3FPGA芯片焊接不良或损坏

xiuhui-wang commented 7 months ago

U7和U13是不需要的,可以不用 D3需要saroo和土星建立通讯后才会亮,D3亮后土星也会进到saroo菜单了

所以现在你要做的是检查为什么没有建立通讯,可能:1卡槽接触不良;2四片电平芯片164245焊接不良或损坏;3FPGA芯片焊接不良或损坏

现在能排除我对内存芯片的怀疑么? 我最怀疑的 还是内存芯片,因为看起来 就像是翻新的。。。。。 还有 我不存放任何游戏 应该也是有一个 空的目录出现的吧?

tzmwx commented 7 months ago

内存tb购买100%翻新,但不会坏的那么巧导致点不亮屏幕,或者换一片试试看

注意mcu和tf卡里的ramimage.bin用一个版本

用0.1固件测试是只有一个ramimage.bin就能启动,不需要saroo文件夹就可以进菜单

xiuhui-wang commented 7 months ago

内存tb购买100%翻新,但不会坏的那么巧导致点不亮屏幕,或者换一片试试看

注意mcu和tf卡里的ramimage.bin用一个版本

用0.1固件测试是只有一个ramimage.bin就能启动,不需要saroo文件夹就可以进菜单

那我应该不是同一个版本。。。。 因为我的STM32 是用的最新的。。。 0.1版本的 RAMIMGAE.BIN 是您给我的。。。 另外我的STM32 最新版本的源码编译的时候会有10几个指针的错误。我直接给屏蔽了,不知道 是不是这个原因。。。。。。

tzmwx commented 7 months ago

你用统一0.1,先把土星点亮 FPGA先用编程器刷入上面链接里那个04直刷flash芯片版本, MCU就用0.1固件包里的ssmaster.bin tf卡里也用0.1固件包里的ramimage.bin

xiuhui-wang commented 7 months ago

源码在我这面是这样,都是说禁用中断那个返回的类型错误。 我修正了这些 才能编译的下去。。

1701865681894

tzmwx commented 7 months ago

你不用去考虑编译源代码,听我的,你用统一0.1固件,先把土星点亮再说

xiuhui-wang commented 7 months ago

你不用去考虑编译源代码,听我的,你用统一0.1固件,先把土星点亮再说

你的思路是正确的,应该先想办法确认硬件是没有问题。 我使用0.1 的固件中的三个文件 ramimage.bin --- > TF card ssmaster.bin --- > STM32 SSMaster.rbf --- > U8 SST25VF080 FLASH 现在情况可能不太乐观,还不如之前了,只有一个 LED D1 是亮的。

SSMaster start! Apr 19 2023 22:36:20

SDCARD insert! CMD_08: retv=00000000 resp0=000001aa V2.0: Yes SDHC: Yes Name: SS08G Blen: 512 Blks: 15523840 Size: 7761920 K CMD_07: resp=00000700 CMD_16: resp=00000900 ACMD06: resp=00000920 CMD13: resp=00000900 Mount SDFS: 00000000

FPGA config timeout! FPGA state: config done: 0 init done: 0 status: 1

Found Saturn bootrom file. Size 00060000

会显示 FPGA 没有设置,然后后面会疯狂的发送数据出来。。。。

xiuhui-wang commented 7 months ago

SS CDC: unknow cmd! CR1=ffff CR2=ffff CR3=ffff CR4=ffff [SS] unkonw cmd: ffff SS CDC: unknow cmd! CR1=ffff CR2=ffff CR3=ffff CR4=ffff [SS] unkonw cmd: ffff SS CDC: unknow cmd! CR1=ffff CR2=ffff CR3=ffff CR4=ffff [SS] unkonw cmd: ffff SS CDC: unknow cmd! CR1=ffff CR2=ffff CR3=ffff CR4=ffff [SS] unkonw cmd: ffff SS CDC: unknow cmd! CR1=ffff CR2=ffff CR3=ffff CR4=ffff [SS] unkonw cmd: ffff SS CDC: unknow cmd! CR1=ffff CR2=ffff CR3=ffff CR4=ffff [SS] unkonw cmd: ffff SS CDC: unknow cmd! CR1=ffff CR2=ffff CR3=ffff CR4=ffff [SS] unkonw cmd: ffff

tzmwx commented 7 months ago

u8用我发你链接里的ssmaster.rbf.bin,另外两个对的

xiuhui-wang commented 7 months ago

u8用我发你链接里的ssmaster.rbf.bin,另外两个对的 OK 我更改了,现在亮了 两个LED了,开机到9球,串口信息如下:

SSMaster start! Apr 19 2023 22:36:20

SDCARD insert! CMD_08: retv=00000000 resp0=000001aa V2.0: Yes SDHC: Yes Name: SS08G Blen: 512 Blks: 15523840 Size: 7761920 K CMD_07: resp=00000700 CMD_16: resp=00000900 ACMD06: resp=00000920 CMD13: resp=00000900 Mount SDFS: 00000000

FPGA config done! FPGA state: config done: 1 init done: 0 status: 1

Found Saturn bootrom file. Size 00060000 f_read: retv=0 rv=00060000 stm32> {00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{000}{00}{00}{00}{000}{00}{00}{00}{000}{00}{00}{00}{000}{00}{00}{00}{000}{00}{00}{00}{000}{00}{00}{00}{000}{00}{ stm32> 00}{00}{000}{00}{ stm32> stm32> stm32> stm32> 00}{0}{ stm32> stm32> stm32> stm32> stm32> stm32> stm32> stm32> stm32> tm32> stm32> stm32> stm32> stm32> stm32> stm32> stm32> stm stm32> stm32> stm32> stm32>

好像是FPGA 初始化失败

xiuhui-wang commented 7 months ago

能给我一个 最新的 TF卡里的固件么? 我想试试都是新版本 会怎么样

tzmwx commented 7 months ago

你现在就用0.1的tf卡文件测试,主要是要fpga初始化成功,这个直接给卡5v电源即可测试,不用上机。让init=1

或者就目前的情况检查焊接质量或换个fpga芯片

xiuhui-wang commented 7 months ago

你现在就用0.1的tf卡文件测试,主要是要fpga初始化成功,这个直接给卡5v电源就可以测试,不用上机。让init=1

或者就目前的情况检查焊接质量或更换个fpga芯片

OK,i try it again. 我发现我之前贴出来的已经 INIT = 1过

xiuhui-wang commented 7 months ago

又重新做了 BGA 搞出了 INIT = 1,但是依然没菜单。。。。,。。。。

SSMaster start! Apr 19 2023 22:36:20

SDCARD insert! CMD_08: retv=00000000 resp0=000001aa V2.0: Yes SDHC: Yes Name: SS08G Blen: 512 Blks: 15523840 Size: 7761920 K CMD_07: resp=00000700 CMD_16: resp=00000900 ACMD06: resp=00000920 CMD13: resp=00000900 Mount SDFS: 00000000

FPGA config done! FPGA state: config done: 1 init done: 1 status: 1

Found Saturn bootrom file. Size 00060000 f_read: retv=0 rv=00060000 stm32> {00}SS CDC: unknow cmd! CR1=

xiuhui-wang commented 7 months ago

非常感谢今天的帮助,太不容易了,我得到了界面。 思路是对的仅供参考。谢谢 tzmwx

4dfbe58952b79760156f7e6ce094cf0

tzmwx commented 7 months ago

最终什么原因总结一下发个流程,便于人家借鉴!

xiuhui-wang commented 7 months ago

get_auth_status get_auth_status get_auth_status get_auth_status get_auth_status get_auth_status get_auth_status

我高兴的有点太早了。。。。 目前启动不了任何游戏。。。 串口不停的这个。。。 然后会显示游戏启动中。。。。 就这样了

xiuhui-wang commented 7 months ago

最终什么原因总结一下发个流程,仅供人家汇报!

我认为主要还是芯片品质的问题,我最后 就只有不停的尝试更换芯片。还有就是 TF卡里 需要增加,SAROOCFG.TXT 那个配置文件。。 我什么都没放。。 这个我需要再测试一下,没有的话 是不是也可以。。。。

tpunix commented 7 months ago

get_auth_status get_auth_status get_auth_status get_auth_status get_auth_status get_auth_status get_auth_status

我高兴的有点太早了。。。。 目前启动不了任何游戏。。。 串口不停的这个。。。 然后会显示游戏启动中。。。。 就这样了

这是解析cue文件失败了的现象,mcu端游戏镜像加载失败了。

xiuhui-wang commented 7 months ago

get_auth_status get_auth_status get_auth_status get_auth_status get_auth_status get_auth_status get_auth_status 我高兴的有点太早了。。。。 目前启动不了任何游戏。。。 串口不停的这个。。。 然后会显示游戏启动中。。。。 就这样了

这是解析cue文件失败了的现象,mcu端游戏镜像加载失败了。

是的现在我已经基本能用了,我将继续探索,那个 KOF2 95 您可以运行么?我进去以后 说ROM 卡带错误,让重新插入