WhyCan Forum(哇酷开发者社区)

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

您尚未登录。

#2 Re: 全志 V3S/F1C100s/X3 » F1C100S资料哪里获得 » 2020-07-30 16:07:15

微凉VeiLiang 说:

基本像musb的寄存器,只是寄存器偏移不一样,还有就是中断需要写入才清除中断标志位
musb_programming_guide.pdf

usb主机通道发送数据前,除了设置设备地址,还需要设置端点地址,请问端点地址是在哪里设置

#3 全志 V3S/F1C100s/X3 » f1c100s自带usb phy是全速吗 » 2020-07-11 10:40:09

myxiaonia
回复: 6

我们知道f1c100s自带usb phy,那么这个phy是全速的,还是高速的

#5 全志 V3S/F1C100s/X3 » 全志和论坛合作了??? » 2020-07-06 08:52:32

myxiaonia
回复: 2

如题如题。。。。
话说,资料能开发了吗,寄存器手册都不全啊

#7 Re: 全志 V3S/F1C100s/X3 » V3s裸机usb otg host枚举成功,读数据异常 » 2020-06-26 00:29:07

hoel 说:

抱歉,我认为这是另一个主题。 我有一个适用于RTThread的USB HOST实现,但是由于RT-Thread堆栈的实现方式,因此性能不佳,但是如果您不需要高性能,那就可以了。


您能释放这个usb host实现吗?我的email:543488289@qq.com

#8 Re: 全志 V3S/F1C100s/X3 » V3s裸机usb otg host枚举成功,读数据异常 » 2020-06-26 00:16:50

微凉VeiLiang 说:

已发。基于rtthread 的协议栈做的。只是移植实现了下底层接口

请问能接收你的关于f1c100s usb host相关程序吗,我的qq543488289@qq.com
通过这几天逛论坛一点点搜集信息,我隐隐约约感觉这个代码应该就在uboot里面,奈何没有大神指点迷津

#9 Re: 全志 V3S/F1C100s/X3 » 官方bsp f1c100s插上hub,连接键盘鼠标之后只有一个设备能用,有人遇到过这问题吗? » 2020-06-25 23:55:30

迪卡 说:

V3S有8个端点,
F1C200S也有8个端点,
V3S用hub没问题,
F1C200S用hub有问题


原来如此,那看来f1c100s基本用不了hub几成定局,3个端点,就是只让你用一个usb 设备

没想到f1c200s还有端点数量的差别,看来贵那么一点还是有价值的

#10 Re: 全志 V3S/F1C100s/X3 » 官方bsp f1c100s插上hub,连接键盘鼠标之后只有一个设备能用,有人遇到过这问题吗? » 2020-06-25 14:48:07

感觉令人难以置信,usb端点还能复用的吗

本身usb总线复用就是通过端点这种虚拟通道实现的,如果V3s的usb真的只有6个断点,我觉得无论如何也不可能同时使用7个设备,这里必有蹊跷

#11 Re: 全志 V3S/F1C100s/X3 » f1c100s spi不能使用burst模式??? » 2020-06-12 13:06:00

不再纠结这个问题了,本身这个spi速度读取1m字节也才200ms左右,根本不是瓶颈

#12 全志 V3S/F1C100s/X3 » sunxi-fel uboot到底是怎么样的过程 » 2020-06-10 23:39:18

myxiaonia
回复: 1

由于spi操作在spl引导和uboot引导的程序中表现出截然不同的反应,我务必要搞明白这个uboot到底做了哪些工作

一直没搞明白这个命令到底是如何启动bin文件的

首先进入fel模式后,0地址上写入了一段称为USB.FEL的spl代码,和我们自定义的eGON.BT0是不同的

我理解的sunxi-fel uboot过程是这样的:

fel读取spl代码,复制除spl header部分的spl代码到sizeof(spl header)地址,然后运行,最后重新返回fel。
从代码上可知此spl做了以下工作:初始化clk,dram,mmu,复制spl代码到dram区(此时spl已经更新过,spl header被vector代替)

接下来解析uboot程序,复制uboot程序到对应dram区,从ih_ep处开始运行

#13 Re: 全志 V3S/F1C100s/X3 » f1c100s spi不能使用burst模式??? » 2020-06-10 08:47:10

很遗憾,将flash复制这段代码放到dram运行,也是一样的问题,spi没有工作

毫无疑问,uboot一定是做了一些与spl不同的工作

#14 Re: 全志 V3S/F1C100s/X3 » f1c100s spi不能使用burst模式??? » 2020-06-08 17:07:19

myxiaonia 说:

我尝试后汇报结论

还是不行,真的是见鬼了。。。为什么uboot引导的就可以呢,spl引导的就是不行

void sys_spi_flash_read(int addr, void* buf, int count)
{
    uint8_t *p = (uint8_t *)buf;
    
    sys_spi_select();

    SPI0->MBC = 4;
    SPI0->MTC = 4;
    SPI0->BCC = 4;
    SPI0->TXD = 0x03 | util_rev(addr);
    SPI0->TCR |= SPI_TCR_XCH;
    while (SPI0->FSR & 0xff) < 4);
    read8((uint32_t)&SPI0->RXD);
    read8((uint32_t)&SPI0->RXD);
    read8((uint32_t)&SPI0->RXD);
    read8((uint32_t)&SPI0->RXD);

    SPI0->MBC = count;
    SPI0->MTC = 0;
    SPI0->BCC = 0;
    SPI0->TCR |= SPI_TCR_XCH;
    while (count > 0) {
      if((SPI0->FSR & 0xFF) > 0)
      {
          *p++ = read8((uint32_t)&SPI0->RXD);
          count -= 1;
      }
    }

    sys_spi_deselect();
}

#15 Re: ST/STM8/STM8S/STM8L » 多合一的usb工具 » 2020-06-05 16:18:45

哇酷小二 说:

这个非常类似,不过那一个是已经完成的产品

#16 ST/STM8/STM8S/STM8L » 多合一的usb工具 » 2020-06-05 14:46:33

myxiaonia
回复: 4

之前有个帖子,提到一个usb转各种设备的工具,那玩意一次性枚举出将近10种usb设备

有人能找到那个帖子吗

#17 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 在网上看到的开源低成本USB 2.0协议分析仪OpenVizsla,支持高速USB(480 Mb/s) » 2020-06-05 14:29:17

Blueskull 说:

低端的USB分析仪(万元以下)基本都是用PHY+FPGA做的。真正采样480MBps数据的成本太可怕了。


这里fpga相当于完成了mac的功能?把数据链路层交给phy

#18 Re: 全志 V3S/F1C100s/X3 » f1c100s spi不能使用burst模式??? » 2020-06-03 11:00:01

armstrong 说:

试试看这样写行不?

void sys_spi_flash_read(int addr, void* buf, int count)
{
    uint8_t *p = (uint8_t *)buf;
    
    sys_spi_select();

    SPI0->MBC = 4;
    SPI0->MTC = 4;
    SPI0->BCC = 4;
    SPI0->TXD = 0x03 | util_rev(addr);
    SPI0->TCR |= SPI_TCR_XCH;
    while (SPI0->FSR & 0xff) < 4);
    read8((uint32_t)&SPI0->RXD);
    read8((uint32_t)&SPI0->RXD);
    read8((uint32_t)&SPI0->RXD);
    read8((uint32_t)&SPI0->RXD);

    SPI0->MBC = count;
    SPI0->MTC = 0;
    SPI0->BCC = 0;
    SPI0->TCR |= SPI_TCR_XCH;
    while (count > 0) {
      if((SPI0->FSR & 0xFF) > 0)
      {
          *p++ = read8((uint32_t)&SPI0->RXD);
          count -= 1;
      }
    }

    sys_spi_deselect();
}

我尝试后汇报结论

#19 Re: 全志 V3S/F1C100s/X3 » f1c100s spi不能使用burst模式??? » 2020-06-03 08:55:48

armstrong 说:

我还没用逻辑分析仪测量过。要把这些时间省下来,就只能靠DMA了。

可以用类似我开头那种做法,完全可以一次性读完,不需要64字节分组收发嘛,就是不知道为何不对:(

#20 Re: 全志 V3S/F1C100s/X3 » f1c100s spi不能使用burst模式??? » 2020-06-02 08:24:12

armstrong 说:

读FIFO时,SPI是停止的;这里的确浪费了传输机会。
不过,count循环中并不会重复发送4字节命令和地址,因为在读取数据时,sys_spi_transfer函数的txbuf参数是NULL,所以循环内的sys_spi_write_txbuf函数会立即返回,没有实际数据发送的。
https://whycan.cn/files/members/1592/2020-05-29_100040.png
上层的flash读函数实际上这样解释:

static int sys_spi_write_then_read(void* txbuf, int txlen, void* rxbuf, int rxlen)
{
  // 发送命令+地址
  if (sys_spi_transfer(txbuf, NULL, txlen) != txlen)
    return -1;
  // 连续接收纯数据
  if (sys_spi_transfer(NULL, rxbuf, rxlen) != rxlen)
    return -1;
  return 0;
}

这两天忙其它事情一直没时间测试,刚刚我测试结果,每64字节收发中间有3.6us停顿,相当于22.5个字节收发,这个开销比我预计的还要大bu shao

#21 Re: 全志 V3S/F1C100s/X3 » f1c100s spi不能使用burst模式??? » 2020-05-29 10:21:12

这个确实是,那就是只有2个字节的开销,看上去也比较小

#22 Re: 全志 V3S/F1C100s/X3 » f1c100s spi不能使用burst模式??? » 2020-05-29 09:49:50

armstrong 说:

F1C100s的SPI模块有64字节接收FIFO和64字节发送FIFO。
上面的代码把count分成多份接收,每份最多接收64字节,这是充分利用接收FIFO;发送同理。
每次往TXD寄存器只写1个字节,没试过你这样往TXD一次写4字节。
其实即便一次写4字节,也不能提高速度的;因为处理器写1字节的时间远小于SPI传送1字节的时间,所以最终瓶颈还是在SPI传输上。

感谢Armstrong的亲临指导,我今天再去测试一下原来代码spi读写的情况,spi频率太高了示波器太烂丢脉冲,不过应该可以发现问题的

原来的代码相当于将总的数据收发切割成64字节成组收发,并且读取rxfifo时候还是spi停止的
64+4字节收发->读rxfiofo,然后再重复这个过程

由于spi频率是ahb的1/4,因此一个字节spi相当于32次ahb操作, fifo读刚好等效2个字节的收发

#23 Re: 全志 V3S/F1C100s/X3 » f1c100s spi不能使用burst模式??? » 2020-05-28 20:09:18

shaoxi2010 说:

没看懂这个问题,我记得没错uboot的spl不就是burst么,一次性就读取完了并非一个个发地址阿。
还是你说的是DMA的burst?双线读取我试过内核驱动没什么问题,理论上也能在spl中用。

以下是Armstrong兄的例程代码,读取flash的具体过程,应该也是xboot的

static int sys_spi_transfer(void* txbuf, void* rxbuf, int len)
{
  uint32_t addr = 0x01c05000;
  int count = len;
  uint8_t* tx = txbuf;
  uint8_t* rx = rxbuf;
  uint8_t val;
  int n, i;

  while (count > 0) {
    n = (count <= 64) ? count : 64;
    write32(addr + SPI_MBC, n);
    sys_spi_write_txbuf(tx, n);
    write32(addr + SPI_TCR, read32(addr + SPI_TCR) | (1UL << 31));

    while ((read32(addr + SPI_FSR) & 0xff) < n);
    for (i = 0; i < n; i++) {
      val = read8(addr + SPI_RXD);
      if (rx)
        *rx++ = val;
    }

    if (tx)
      tx += n;
    count -= n;
  }
  return len;
}

明显这里是有多次spi burst的

#25 Re: 全志 V3S/F1C100s/X3 » 调通F1C100s的SPI DMA » 2020-05-27 19:00:53

请问楼主有没有遇到spi在用户程序可行,spl代码不行的问题
向这个代码,能不能看出有什么问题?

void sys_spi_flash_read(int addr, void* buf, int count)
{
    uint8_t *p = (uint8_t *)buf;
  SPI0->TXD = 0x03 | util_rev(addr);
    SPI0->MBC = 4 + count;
    SPI0->MTC = 4;
    SPI0->BCC = 4;
   
    SPI0->TCR |= SPI_TCR_XCH;
   
  while (count > 0) {
    if((SPI0->FSR & SPI_FSR_RXFIFO_CNT) >= 1)
    {
        *p++ = *(uint8_t *)&SPI0->RXD;
        count -= 1;
    }
  }
}

#26 Re: 全志 V3S/F1C100s/X3 » F1C100s看门狗失效bug » 2020-05-27 09:06:26

staunchheart 说:

兄弟可能没有仔细看我们讨论的是什么问题,我们现在讨论的时当不小心野指针时,正好指向这一地址,系统会死。
正常情况下死了的时候看门狗会将设备重启,但这种情况下看门狗不起作用,只能人工去重启。
而不是在讨论为什么要指向这个地址。。。

0xdba00000 ~ 0xffff4040,将这个虚地址段用mmu映射到sdram区,这个总可以完成的吧!这样cpu不会司机了,因为实地址是真实可用地址啊

#27 全志 V3S/F1C100s/X3 » f1c100s spi不能使用burst模式??? » 2020-05-26 22:53:42

myxiaonia
回复: 19

坛子里,f1c100s例程操作spiflash的做法都是都是通过spi单次收发的方式模拟03命令序列,这种做法很低效,坛子里很多网友说过这个问题了

我仔细研读手册,发现f1c100s支持spi突发模式,和双线模式,如果能用上这两个特点的话,程序加载会增长一倍以上

Armstrong兄的例程spiflash加载程序只需要不到1秒就能显示画面,如果再优化一下,估计不到0.5秒就可以了,真正做到秒开

现在的问题,以下代码在用户程序中是完好的,在spl代码中却不行,不知道谁能发现其中奥妙?

void sys_spi_flash_read(int addr, void* buf, int count)
{
    uint8_t *p = (uint8_t *)buf;
  SPI0->TXD = 0x03 | util_rev(addr);
    SPI0->MBC = 4 + count;
    SPI0->MTC = 4;
    SPI0->BCC = 4;
    
    SPI0->TCR |= SPI_TCR_XCH;
    
  while (count > 0) {
    if((SPI0->FSR & SPI_FSR_RXFIFO_CNT) >= 1)
    {
        *p++ = *(uint8_t *)&SPI0->RXD;
        count -= 1;
    }
  }
}

#28 Re: 全志 V3S/F1C100s/X3 » 求助!F1C100S使用USB Hub出现问题 » 2020-05-26 22:46:54

是不是因为F1C100S的usb端点或者管道太少,好像只有3个,没办法扩展吗

#29 Re: 全志 V3S/F1C100s/X3 » 可以发广告吗?我们是全志代理,第一次发现这个网站这么多攻城狮 » 2020-05-26 22:45:07

这代理也忒偏心了,看到是外国人,资料搜搜的发,唯独不肯在坛子里发,大家说呢

#30 Re: 全志 V3S/F1C100s/X3 » F1C100s看门狗失效bug » 2020-05-26 11:22:26

staunchheart 说:

哪个早就处理好了,现在是说这样会死,并且不会触发WDT。

你确定已经映射到了合适的地址,我看大多数的裸机arm9大多数将虚地址和物理地址是完全一致映射的

只需要将会导致bug的虚地址,映射到一个真实的ram地址,就能捕捉到这段地址跑飞

#31 Re: 全志 V3S/F1C100s/X3 » 发现淘宝有卖F1C100S源码的 » 2020-05-25 12:10:22

其实flash编程算法不麻烦,有模板的,arm9的烧写算法也有,参考一下很简单

#32 Re: 全志 V3S/F1C100s/X3 » F1C100s看门狗失效bug » 2020-05-25 12:08:25

staunchheart 说:

明白了,重现了,确实会这样。如果执行0xdba00000 ~ 0xffff4040确实会死,并且看门狗都会不起作用。。。
老大厉害,要如何避免呢?


用mmu,比如映射到一个死循环上,然后让死在那里,就能触发wdt

#33 Re: 全志 V3S/F1C100s/X3 » 调通F1C100s的SPI DMA » 2020-05-21 10:29:20

Quotation 说:

Wait State意思不知道。

Burst Length大约是每次传输数据,在总线上连续传几个“Data Width”那么大的数据。
对于从内存到内存,Burst Length设为4直接就可以用。
对于从内存到外设或外设到内存的DMA,如果Burst Length设为4,外设的FIFO一般有trigger level也要对应改。比如trigger level默认为1,表示FIFO里只要有1个数据就发送DRQ,让DMA来拷走。当Burst Length为4,trigger level也要>=4。
反过来,如果是从内存到外设拷数据的,FIFO的trigger level需要 <= (FIFO总长度 - 4)。

这个Burst Length是不是应该理解为一次总线占用,Burst Length次总线传输,实际等效为Burst Length * Data Width
我记得stm32后续版本(非f1系列)的dma就有这种概念

#34 Re: 全志 V3S/F1C100s/X3 » 基于RTThread的F1C100s开发(带boot启动+硬件多图层+硬件游标+LVGL+SDIO) » 2020-05-05 00:45:30

根据你的说法,argb中a值其实完全无效,debe无法使用这个参数是吧?

#35 Re: Cortex M0/M3/M4/M7 » RTX File System 有个坑 » 2020-04-18 22:51:53

正常,rtx系统里面没有很多合法性检查方面的东西,所以不合法使用很可能栽跟头

#36 Re: 全志 V3S/F1C100s/X3 » F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG » 2020-04-13 02:50:12

烧录到dram运行

这个操作好像并没有起效,第一条命令就失败了

#37 Re: 8051/STC8/AT89C51/N76E003 » 【求助】各位能否推荐一个占用资源比较少,支持FAT32的文件系统? » 2020-03-31 12:34:11

hzqlz 说:

如题,我单片机资源比较少,不到1KB的RAM,大约8KB的ROM,需要外接一个SD卡,读取里面的文件,有哪一种文件系统占用资源比较少呢?

你给老板这么抠,老板知道不?还是说你就是老板呢

#38 Re: 全志 V3S/F1C100s/X3 » EA3036芯片老烧大家帮我分析下。。 » 2020-03-31 12:28:22

Blueskull 说:

我也晒晒装备,居家办公,自如的小房子。

https://whycan.cn/files/members/3196/tiny_bench.jpg

这桌子不错,有购买链接吗

#39 Re: 全志 V3S/F1C100s/X3 » 全志F1C200S原理图+PCB(公版) » 2020-03-23 10:37:31

楼主太牛了,都是猛料啊,如果能出完整版的用户手册就厉害了


话说是不是全志开始改变策略了

#40 Re: 全志 V3S/F1C100s/X3 » F1C200S入坑手记 » 2020-02-23 14:56:33

可以尝试使用rtx啊,keil自己移植好了在arm9上直接用

#41 Re: 全志 V3S/F1C100s/X3 » 准备用F1C00s做个项目,GUI选什么好呢? » 2020-02-19 10:02:09

jiangchun9981 说:

这几天研究了下AWTK源码等,可以说架构相当好,清晰,精简

这个是用的C语言面向对象架构,据作者说是要对打touchGFX的,看了源码很多思路其实都来自touchGFX

touchGFX的例子(洗衣机)的那个建议看看,老外的技术说不上多"先进",但是设计真的很精妙!

awtk有没有设计器,如果没有的话,光靠代码写的话要疯的

#42 Re: 全志 V3S/F1C100s/X3 » 使用逻辑分析仪探测全志Allwinner V3s SPI FLASH启动过程 » 2020-02-15 22:24:42

晕哥 说:

BROM的责任就是依次寻找合法的引导程序,  TF -> SPI NOR -> SPI NAND -> BROM USB
找到之后就加载到内部 32K SRAM
然后把PC指针指向 SRAM

因为iram大小的限制,所以需要多级跳转
如果足够大,就跟单片机一样了,直接跑了
SRAM的造价应该是很昂贵的
速度也最快
IRAM里面可以放向量表,这样也会比DDR 更快一些


晕哥,f1c100s有没有这个iram,越发看不明白了,boot0这个代码是不是就是BROM

参考手册Memory Mapping章节:
Module   Address (It is for Cluster CPU)  Size (byte)
BROM     0x0000 0000---0x0000 7FFF    32K
SRAM A  0x0001 0000---0x0001 9FFF    40K

是不是SRAM A 指代iram,那应该是有40k啊

#43 Re: 全志 V3S/F1C100s/X3 » F1C100s启动时搜索SPI Flash的顺序? » 2020-02-15 21:44:30

Quotation 说:

区别是,上电后没有执行程序的时候,IO口的状态是上拉还是高阻态。
只是个猜测,因为绝大多数IO口的默认状态都是Z,那个SPI0_CS是特殊的,所以猜测Flash只能接在那上面。


我猜测SPI0_CS可能就是v3s上的boot select pin,短接到地直接进入usb fel模式

#45 Re: 全志 V3S/F1C100s/X3 » 发现淘宝有卖F1C100S源码的 » 2020-01-19 09:54:02

我大致看了f1c600s的手册,发现显示部分很强大,做hmi肯定绰绰有余,usb没有寄存器介绍

#46 Re: 全志 V3S/F1C100s/X3 » 好东西,要的赶快 » 2020-01-02 08:35:24

wps_90 说:

我就不多说的,你懂的,下载后就别分享了,请移步
https://download.csdn.net/download/sjj_11/12051955

楼主,能否再次分享下之前分析过的f1c100s的keil工程,你之前的帖子已经找不到了

我的qq 543488289

#47 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/ » 闲鱼捡漏,拆解一台收银机【多图警告,流量党劝退】 » 2019-12-27 15:11:31

晕哥 说:

刚刚用摄像头扫了一下二维码, 其实是一个网址:

http://p.kelaile.cn/netConfig

您好晕哥,请问您有下载wps_90网友的帖子里的工程项目吗?这个帖子被删除了,我希望能参考下他的keil项目

#48 Re: 全志 V3S/F1C100s/X3 » F1C100S做的串口屏硬件图纸分享,有需要的可以联系,坛友优惠价 » 2019-12-27 14:18:52

wps_90 说:

我这是专用板,要SD卡没用,还浪费钱和IO口


我还特意买了个荔枝派,想学习下,没想到你把你的帖子删除了,分享的项目文件也没有了

荔枝派到了估计也玩不起来了

#49 Re: Cortex M0/M3/M4/M7 » STM32H7 手持游戏机 作者 @motoedy 转自Q群 » 2019-12-24 11:31:22

trigger 说:

批量价GD会比STM32便宜一点点, 几片片的样品价就未必了.

虽然我用ST, 但是还是希望大家支持国产, 支持兆易创新

这样 ST 的价格才不会那么嚣张, 哈哈。

STM32F103RBT6: https://item.szlcsc.com/9244.html
GD32F103RBT6: https://item.szlcsc.com/79097.html
BLM32F103RBT6: https://item.szlcsc.com/91598.html


就像我用苹果手机, 不过还是支持华为小米, 有了搅局者,苹果才不会那么嚣张。


兄弟你这看法有点意思,我支持但我就是不用哈哈哈

#51 Re: 全志 V3S/F1C100s/X3 » f1c100s用哪个分支 » 2019-10-16 09:10:30

全志这么狠,一直盯着这个坛子

#52 Re: Cortex M0/M3/M4/M7 » 记一个stm32运行在48mhz正常大于48mhz就进入hardfault的问题解决办法 » 2019-09-28 13:38:52

难道10x系列和401系列只相差了一个vcap引脚?我印象中有好几个脚不一样

#53 Re: Cortex M0/M3/M4/M7 » 记一个stm32运行在48mhz正常大于48mhz就进入hardfault的问题解决办法 » 2019-09-28 13:36:31

smartcar 说:

哈哈哈,大笑三声,

为什么 stm8s003 那么几个脚也要 vcap呢,这脚到底原来干嘛的?

内部调压器啊兄弟,stm8虽然支持5v,但是内核电压其实低多了,所以要有降压

调压要么线性要么dcdc,dcdc可以是buck,也可以是电荷泵,电荷泵元件少

所以vcap就是电荷泵上挂的电容

#56 Re: 全志 V3S/F1C100s/X3 » F1C100S U盘速度 » 2019-07-26 15:41:23

jjmicro 说:

Nuvoton Atmel St 等等都有U盘源代码。

您的意思是这些代码可以通用?他们用了相同的usb ip,连寄存器地址都一样?

页脚

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